计算机硬件课程设计报告

扬州大学

课程设计报告

 课程名称  《计算机组成与结构》课程设计

 设计题目     计算机整机实验          

 学生姓名                              

 班    级                              

 学    号                                

 指导老师                            

成    绩                              

20##年6月 27 日

一、    课程设计目的与要求

目的:通过对一个简单计算机的设计,对计算机的基本组成,部件的设计,部件间的连接,微程序控制器的设计,微指令和微程序的编制与调试等过程有了更深的了解,加深对理论课程的理解。

要求:

1. 运算器:采用单累加器多寄存器结构;

2. 指令系统:16条指令,外设和内存统一编址、统一操作指令。

3. 内存寻址方式:

寄存器直接寻址

寄存器间接寻址

直接寻址

立即数寻址

二、    样机指令系统

说明: 1

说明: 2

三、样机微指令格式和指令微程序

说明: 3

说明: 4

说明: 5

四、附接线图

 


SA-X0-M16       M-M18         CK-Φ              MIG

SB-X1-M17       CG-M19        CLR-+5V            MD10

GNDP0-CY           OB-M8         OI-M15             MD9

P1-A0-SR        OT-M10        B1-B3-RF           MD8

P2-A7-SL        CT-+5V        KA-IAB0            MD7

CA-Φ非 -CC     RR-M1         KB-IAB1            MD6

S3-M23          A-I0          DR-M5            MD5-I7

S2-M22          B-I1          MLD-M4           MD4-I6

S1-M21          P+1-M6        MP+1-+5V         MD3-I5

S0-M20          GI-M7         MCLR-R0          MD2-I2

Cn的非-M19     CI-Φ非-RCP    MCLK-P0          MD1-MD0-+5V

五、调试题

 

①  、(80H)左移两位→81H

②  、(80H)右移四位→82H

③  、(80H)-(81H)+(82H)→(85H)

六、实验结果

代码:

080                           F8

085                           7F

002       LDA 080             80

003                           80

004       RLC A               C0

005       RLC A               C0

006       STA 081            A0

007                          81

008       LDA 080            80

009                          80

00A       RRC A              C4

00B       RRC A              C4

00C       RRC A              C4

00D       RRC A              C4

00E       STA 082             A0

00F                           82

010       LDA 081             80

011                           81

012       MOV A0,A           44

013       LDA 080             80

014                           81

015       SUB A,A0            04

016       MOV A1,A           45

017       LDA 082             80

018                           82

019       ADD A,A1            01

01A       MOV A2,A            46

01B       LDA 085             80

01C                           85

01D       ADD A,A2            02

01E       STA 086              A0

01F                            86

020       HALT                FF

021                           00

结果:

(81H)=E3H

(82H)=8FH

(86H)=23H

七、课程设计心得

 

第二篇:计算机硬件技术基础课程设计报告

河北工业大学计算机硬件技术基础(MCS-51)20##年课程设计报告

一、题目:

广告灯的数字显示(1)

二、问题的提出

     简述提出你确定的题目的目的。

(1)   培养学生综合运用所学单片机知识来解决常见的问题的能力。

(2)   熟悉和掌握单片机的内部结构及工作原理。

(3)   掌握单片机的接口技术及相关外围芯片的外特性和控制方法。

(4)   通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

(5)   通过编写程序,培养学生严密的逻辑思维能力和修改创新的能力。

三、总体设计

1、分析问题的功能

运用单片机原理知识解决生活中常见的用LED广告灯显示循序,可以有一次点亮,循环闪亮以及共同闪亮等功能。

2、系统总体结构设计

1)硬件设计:

 选用8031单片机和TKSMonitor仿真器,通过P1口输出连接八个LED发光二极管由T/CO定时器控制定时。

2)软件设计:程序分为三个部分,分别控制八个LED灯的依次点亮、轮流点亮和全部点亮闪烁五次。

四、详细设计:

1、硬件详细设计:

1)画出电路图;

 

2)进行硬件资源分配(包括I/O口地址、所用各存储单元的用途)。

P1.0到P1.7依次连接八个LED发光二极管

2、软件详细设计:

功能一,依次点亮,实现方法就是通过逻辑“与”操作改变累加器A的值然后从P1口输出控制灯的点亮。功能二,轮流点亮,通过给再次给累加器A 赋值使其输出只亮一个灯,然后让累加器A的值自身错位循环输出,来控制灯的轮流点亮。功能三,共同闪亮,依旧是改变累加器A中的值,通过取反操作实现灯的共同亮灭。

3、设计中的主要困难及解决方案

1)困难1:对每个功能进行计时。

解决方案:采用定时器0,方式1,定时50MS中断,软件计数器采用R2,计数10 次。

2)困难2:实现功能模块之间的连接和循环。

解决方案:采用R3计数,功能一需要八次计数,功能二需要八次计数,功能三五次亮灭需要十次计数,之后将R3赋0,将这些程序放入T/C0中断程序中实现循环调用,通过对人R3值的范围划分实现模块的跳转。

三、程序清单

列出.ASM或.LST文件清单。

                   ORG    8000H

                   AJMP   MAIN

                   ORG    800BH

                   AJMP   T0S

MAIN:   MOV    A,#0FEH

           MOV    SP,#60H

                   MOV    R4,0FFH

           MOV    TMOD,#01H;采用定时器0,方式1

           MOV    TH0,#4CH

           MOV    TL0,#00H;赋定时初值

                 MOV    R2,#00H

                   MOV    R3,#00H

                 MOV    IE,#10000010B;开中断

                   SETB    TR0;开始计时

                   SJMP   $

T0S:               MOV    TH0,#4CH

           MOV    TL0,#00H;重新赋初值

                   INC    R2

                   CJNE   R2,#10,NEXT1;计数不足十次跳转NEXT1,实现0.5秒延时

                   INC    R3

                   CLR    C

                   CJNE   R3,#09H,LOOP1;R3不等于9跳转LOOP1

                   AJMP   LOOP2

LOOP1:  JNC    LOOP2;R3小于9继续进行实现依次点亮

                   XCH    A,R4;保护A中初值

           ANL    A,R4;由低位向高位依次变0

                   MOV    P1,A

                   XCH    A,R4;换回初值

                   RL     A

                   AJMP   NEXT2

LOOP2:  CLR    C

                   CJNE   R3,#11H,LOOP3;R3不等于17跳转

                   MOV    A,#00H

                   AJMP   LOOP4

LOOP3:  JNC    LOOP4;R3小于17继续向下进行轮流点亮

                   MOV    P1,A

                   RL     A;由低位向高位循环

                   AJMP   NEXT2

LOOP4:  CLR    C

                   CJNE   R3,#1BH,LOOP5

           AJMP   LOOP6

LOOP5:    JNC    LOOP6;R3小于27继续向下进行共同点亮

                   MOV    P1,A

                   CPL    A

                   AJMP   NEXT2

LOOP6:  MOV    R3,#00H;重新赋初值循环

                   MOV    R4,#0FFH

                   MOV    A,#0FEH

NEXT2:            MOV    R2,#00H

NEXT1:  RETI

                   END

 

四、调试程序的方法

1)硬件调试方法(确定硬件工作是否正常)

首先从从书中寻找例题连接硬件运行,看硬件工作是否正常。在运行本次实验程序(汇编无错误),看结果是否正确。

2)软件调试方法(如何调试程序的方法)

将所编写的实验程序在Keil 软件中进行编译,看是否有错误出现,根据编译结果,如果出现错误,则根据错误提示修改。修改后再进行编译,如果还不能达到要求的结果,继续进行修改,直到所编写的程序无误。

五、你所设计的程序最终完成的功能

1)说明你编制的程序能完成的功能;

程序运行后,每隔0.5s接在P1 口的8个发光二极管依次点亮0,1,2,3,4,5,6,7,接着8个二极管轮流点亮0,1,2,3,4,5,6,7,然后8个发光二极管全部点亮,闪烁5 次,之后全灭;如此反复循环。

六、对该设计题目有何更完善的方案

1、对自己完成程序进行自我评价。

所有程序语言都是我自己运用课本所学知识编制的,可能存在程序语句繁琐的地方,当然涉及到定时时也没有进行校正,语句标号用的过于一致,功能划分不明显。

2、对课题提出更完善的方案。

(1)实现的功能过于单一,也就是说可以增加LED灯闪亮的不同方式.

(2)对时间控制也可以变化。

(3)可以通过对LED灯的控制实现图案的拼接。

五、收获及心得体会

1、,首先是分析问题、解决问题能力的提高,其次逻辑思维能力的提高,再次还有动手能力、学习能力的提高。

 

2、通过本次课程设计,我最大收获和心得体会就是自信心的增加,不怕问题有多难,只要敢想敢做就一定会实现。另外培养了学习兴趣,使自己枯燥的理论学习跟现实生活中的现象联系起来,反而激发了学习的积极性,最后就是初步熟练掌握单片机原理结构知识,为以后的深入学习奠定基础。

 

日期: 20##年12月 15日  

相关推荐