当前位置:文档之家› 微机原理课程设计-练习打字程序(详细)

微机原理课程设计-练习打字程序(详细)

微机原理课程设计-练习打字程序(详细)
微机原理课程设计-练习打字程序(详细)

微机原理课程设计报告

题目:练习打字程序

学生姓名:傅湘黔

学号:201017010220

专业班级:计科专业10102班

同组姓名: 刘再科

指导教师:杨红杰

设计时间:2013年下学期第17周指导老师意见:

评定成绩:签名:

日期:年月日

目录

1课程设计内容与目的 (3)

2相关理论知识 (3)

2.1扬声器驱动 (3)

2.2 相关指令 (3)

3程序段设计 (5)

3.1字符串的输入设计 (5)

3.2错字变红色的设计 (5)

3.3报警部分设计 (6)

4硬件设计 (8)

4.1并行接口8255A (8)

4.2硬件连接图 (11)

5程序流程图 (12)

6程序调试效果 (13)

7心得体会 (13)

8参考文献 (14)

附录 (14)

1课程设计内容与目的

课程设计内容:

设计一个在键盘上练习打字的程序。先在屏幕上显示一段文字,用户按照它在键盘上输入,如果按错键则以红色显示并报警,正确的输入,则正常显示。

课程设计目的:

熟悉和掌握有关键盘ASCⅡ码,中断及字符显示技术。

课程设计要求:

自行编制报警中断和显示错字红色中断处理程序,为保存原中断向量。程序运行时,通过条件调用自编的中断向量处理程序。程序退出时,恢复中断向量。

屏幕上显示出提示信息和练习的字符段,按照字符段从键盘上输入字符即可,每输入完一行后能自动刷新练习的字符段按Esc键可退出程序。

2相关理论知识

2.1扬声器驱动

PC机上的大多数I/O都是由主板上的8255(或8255A)可编程外围接口芯片(PPI)管理,用PPI输出寄存器中的PB0和PB1来控制扬声器的驱动,而8253的通道2的输出端与扬声器相连,PB0连接通道2的CKL2,PB1和通道2的OUT2通过一与非门连接扬声器,在PB0与PB1都为高电平时,由8253产生的脉冲就进入扬声器产生声音。

2.2 相关指令

1)无条件转移指令

无条件转移指令必须指定转移的目标地址(或称为转向地址),将程序无条件地转移到目标地址,去执行从该地址开始的指令。如“JMP 目标地址”

2)条件转移指令

条件指令是根据执行该指令前标志位的状态而决定是否发生的控制转移指令。每条指

令测试不同的标志位组合,看是否满足条件。若不满足,则继续执行跟在条件转移指令后面的指令;若满足则将程序控制指令转移到改指令给出的目标地址,去执行那里开始的程序。如用到的“JA 目标地址”

用到的标志符:

JC-------CF标志为1,则转移

JNC-------CF标志为0,则转移

JA-------高于/不低于等于转移

JB-------低于/不高于等于转移

JG-------大于/不小于等于转移

3)循环控制指令

在设计循环程序时,可用于控制指令来控制循环是否继续。如loop指令,其指令格式“loop 目标地址”

4)子程序调用和返回指令

CALL指令:实现子程序(或过程)的调用。其格式“CALL 目标地址”

RET指令:和CALL指令配对用,实现调用指令结束后的返回

为了保证返回的正确性,CPU会自动将CALL指令的下一条指令所在的内存地址推入堆栈;当子程序执行RET指令时,会将堆栈栈顶的内容弹出,放在IP和/或CS寄存器中,以保证子程序调用过程和返回过程的正确性。

5)中断指令“INT n”

改指令执行时转到中断服务(又称中断例行)程序。中断服务程序执行完后返回INT 指令下一条指令继续执行。

设计中用到的INT 10H是由BIOS 对屏幕及显示器所提供的服务程序,使用INT 10H 中断服务程序时,先指定AH 寄存器为下表编号其中之一,该编号表示欲调用的功用。

设计中用到的INT 21H是由BIOS 对设备所提供的服务程序,使用INT 21H中断服务程序时,先指定AH 寄存器为下表编号其中之一,该编号表示欲调用的功用。

设计中用到的INT 16H的00,01控制从键盘读入字符的中断。

BIOS中断: (INT 10H功能表)

BIOS中断: (INT 21H功能表)

3程序段设计

3.1字符串的输入设计

用汇编语言实现打字程序的思想,首先用BIOS的10H中断类型的02H功能置光标位置,接着用DOS的21H中断类型的09H功能显示字符串来显示主界面;调用DOS的16H的01H功能,接受从键盘输入的字符到AL寄存器。设计中,通过字符的ASCⅡ码范围,用随机循环的方法显示需要练习的字符串

3.2错字变红色的设计

有中断“INT 10H”AH=9时,在光标处按指定属性或颜色显示字符。设计中将原来显示的字符存到AX的AL中,AH控制中断,AL存字符的ASCⅡ码,然后BL存要输入

的字符的ASCⅡ码,BL=颜色(图形模式,仅适用于PCjr),而可知BL=10时字符为绿色,BL=12时字符为绿色,所以通过对BL来定义颜色。设计中有

打字对时定义为绿色

MOV AL, BL

MOV BL, 10 ;定义绿色

MOVTO DH, DL ;字符位置

MOV AH, 9

MOV CX, 1

INT 10H ;在光标处按指定属性显示字符

打字错时定义为红色

MOV AL, BL

MOV BL, 12 ;定义红色

MOVTO DH, DL ;字符位置

MOV AH, 9

MOV CX, 1

INT 10H ;在光标处按指定属性显示字符

3.3报警部分设计

为了具有打错字报警输出能力,系统主板上装有一个2.25英寸的扬声器以及控制电路和驱动电路。控制电路能以位触发和定时器控制两种不同的方式驱动扬声器发声。

通过程序将方波信号输出到8255A的4号2端口,在译码电路的作用下8255A芯片被选中,具体过程是:8086的地址总线中的低八位A7、A6、A5、A4、A3、A2、A1、A0分别为:0 1 1 0 0 0 0 1十六进制为61H且8255A。程序直接控制PPI(8255A可编程外围接口芯片)的输出控制寄存器(I/O端口为61H)的第一位,使该位按所需的频率进行1和0的交替变化,从而控制开关电路产生一串脉冲波形,这些脉冲经放大电路放大后驱动扬声器发出声音。

采用位触发方式发声的程序段如下:

SOUND PROC

PUSH AX

PUSH CX

IN AL, 61H

AND AL, 11111101B ;关断定时器通道2的门控

OUT 61H, AL

MOV CX, 10000

AGAIN_S:

XOR AL, 2 ;触发61H端口的第一位

OUT 61H, AL

CALL DELAY

LOOP AGAIN_S

POP CX

POP AX

RET

SOUND ENDP

DELAY P ROC ; 延时

PUSH CX

MOV CX, 0FFFH

NEXT_D: NOP

LOOP NEXT_D

POP CX

RET

DELAY E NDP

;*******************************************

通过以上的程序,我们可以实现使系统主板上的喇叭发声的功能。

4硬件设计

4.1并行接口8255A

(1) 8255A的内部结构

图2 8255A的内部结构

1)8255A有3个8位数据接口,即接口A、接口B和接口C,可利用编程方法设置3

个端口是作为输入端口还是输出端口;

2)8255A能适应CPU和I/O接口之间的多种数据传送方式的要求,如无条件传送、

查询方式传送、中断方式传送。8255A设置了方式0、方式1以及方式2;

3)数据总线缓冲器是个双向三态8位数据缓冲器,与CPU系统数据总线相连,是

8255A与CPU之间传输数据的必经之路。输入数据、输出数据、控制命令字都是通过数据总线缓冲器进行传递的;

4)读/写控制逻辑电路接收来自CPU地址总线的信号和控制信号,并发出命令到两个

控制组(A组和B组)。它控制把CPU发出的控制命令或输出的数据送到相应的端口,

或者把外设的状态或输入的数据相应的端口送到CPU;

5)A组控制和B组控制一方面接收芯片内部总线上的控制字,一方面接收来自读/写

控制逻辑电路的读/写命令,从而解决端口的工作方式和读/写操作。其中,A组控制电路控制端口A和端口C高4位(PC7-PC4)的工作方式和读/写操作:而B组控制电路控制端口B和端口C低4位(PC3-PC0)工作方式和读写操作。

(2) 8255A的外部引脚

图3 8255A的功能引脚图

1)与外部设备端相连的引脚

PA7-PA0:A端口的输入/输出引脚;

PB7-PB0:B端口的输入/输出引脚;

PC7-PC0:C端口的输入/输出引脚;

2)与CPU相连的引脚

RESET:复位信号,低电平有效。当RESET信号来到时,所有内部寄存器都被清

0,同时3个端口被自动设为输入端口;

D7-D0:8255A的数据线,和系统数据总线相连;

CS:芯片选择信号。只有当CS有效时,读出信号RD和写入信号WR才对8255A

有效;

RD:读出信号。CPU通过IN指令使RD有效,将数据或状态信息从8255A中

读到CPU;

WR:写入信号。CPU通过OUT指令使WR有效,将数据或状态信息从CPU中

写道8255A;

A1,A0:端口选择信号。8255A内部有3个数据端口和1个控制端口,共4个

端口。规定A1,A0为00、01、10和11时,分别选中端口A、端口B、端口C

和控制端口。

(3) 8255A的控制字

1) 8255A的方式控制字

8255A共有两个控制字,即工作方式控制字和对C口置位/复位控制字。

4.2硬件连接图

5程序流程图

6程序调试效果

运行后打字练习,打对字符为绿色,打错字符为红色。如图5-1

图5-1

7心得体会

这次的课程设计是以两个人一组的,相对以前的课程设计来说,这次的课程设计要内容上少一点,。这次我们选的这个课题也是突发奇想的,平时在寝室看到我们有同学在寝室练习打字,用的是金山打字通,于是我们想,我们是不是也能用自己学的知识做一个练习打字的程序出来,通过在网络上查找资料发现这个确实可行,我们就把这个课程设计做下来了,在这个过程中我们也遇到了很多问题,这些问题有些是我们能够解决的,有些问题我们想了很久也没有想出来,然后我们请求老师的帮助,通过老师的指导,我们解决了很多问题,也学到了很多东西。以前没有接触到的知识在这次课程设计中也学到了。

在设计中我们组内也出现过一些争执,但是最后还是在我们的交流下还是很好的解决了,可见,

在组间交流是很重要的,学会交流对我们学习东西也是很重要的,无论是在哪个领域。

最后,真心要谢谢我们的老师,开始选题的时候确实很迷茫,要是没有老师的指导真的不知道该如何开始,老师给了我们关键性的指导,有问题的时候老师总能悉心教导,谢谢老师。

8参考文献

《微机原理与接口技术》周配玲编电子工业出版社2005.4

《微机原理与接口技术实验指导与习题集》周明德编人民邮电出版社2002.5

《微机原理及应用实验教程》甘思源编重庆大学出版社1998.3

附录

打字练习程序清单

LF = 0AH

CR = 0DH

;宏定义部分

PRINT MACRO P1,P2 ;输出“*”

PUSH AX

PUSH BX

PUSH CX

MOV AH, 09H

MOV AL, P1

MOV BH, 0

MOV BL, P2

MOV CX, 1

INT 10H ;在光标处按指定属性显示字符

POP CX

POP BX

POP AX

ENDM

MOVTO MACRO P1,P2 ;移动光标到指定位置PUSH AX

PUSH DX

MOV AH, 2

MOV DH, P1

MOV DL, P2

INT 10H ;设置光标位置

POP DX

POP AX

ENDM

OUTPUT MACRO MSG,P1,P2,P3 ;输出字符串LOCAL DIFFER, EXITOF

PUSH AX

PUSH BX

PUSH CX

PUSH DX

PUSH DI

MOV DH, P2

MOV DL, P3

MOV BH, 0

MOV BL, P1

MOV DI, 0

DIFFER:

MOV AH, 02H

INT 10H

MOV CL, MSG[DI]

CMP CL, '$'

JE EXITOF

MOV AH, 9

MOV AL, MSG[DI]

MOV CX, 1

INT 10H

INC DI

INC DL

JMP DIFFER

EXITOF:

POP DI

POP DX

POP CX

POP BX

POP AX

ENDM

XIANSHI_G MACRO ;输出箭头指示符

PUSH AX

PUSH BX

PUSH CX

MOV CX, 1

MOV AH, 9

MOV AL, 19H

MOV BL, 10001100B

INT 10H

POP CX

POP BX

POP AX

ENDM

DSEG SEGMENT 'DATA'

;显示窗口内容

MSG0 DB '*****THE RATE OF CORRECT:$'

MSG1 DB ' $'

MSG2 DB '**************************^ _ ^ INSTRUCTION ^ _ ^***************************$'

MSG3 DB '@@ PRESS "BACK SPACE" TO DELETE!$'

MSG4 DB '@@ PRESS "ESC" TO EXIT!$'

SECONT DB 0 ;

COUNT1 DW 0 ;字符总个数

COUNT2 DW 0 ;为了到行尾时自动翻行的控制

DSEG ENDS

SSEG SEGMENT STACK'STACK'

DW100h DUP(?)

SSEG ENDS

CSEG SEGMENT 'CODE'

ASSUME CS:CSEG, SS:SSEG, DS:DSEG ;******************************************* START PROC FAR

PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DSEG

MOV DS, AX

MOV ES, AX

PRACTISE:

CALL SHUCHU_K

MOV DH, 1

MOV DL, 1

MOVTO DH, DL

XIANSHI_G ;显示“箭头”

MOV AH, 0

INT 1AH

MOV AL, DL ;随机生成字母

CONT_1:

CMP AL, 7EH

JA CONT

CMP AL, 20H

JB CON

JMP CONTI

CONT:

SUB AL, 7EH

JMP CONT_1

CON:

ADD AL, 20H

CONTI:

MOV CX, 78

MOV AH, 9

MOV BL, 00001111B

MOV DH, 2

MOV DL, 0

JMP SHUCHU

TZD_1: ;跳转点到“EXIT”

JMP TZD_2

SHUCHU:

INC DL

MOVTO DH, DL

INT 10H

ADD AL, DL

CMP AL, 7EH

JA CONTINUE

CMP AL, 20H

JB CONTINUE1

LOOP SHUCHU

JMP DAZIRUKOU

CONTINUE:

SUB AL, 7EH

CONTINUE1:

ADD AL, 20H

LOOP SHUCHU ;到此为输出上面一行要打字练习的内容;下面开始打字练习******************************************* DAZIRUKOU:

MOV DH, 3

MOV DL, 1

;提示信息********************************************************* PUSH DX

MOV DH, 18

MOV DL, 2

OUTPUT MSG2, 13, DH, DL

MOV DH, 19

MOV DL, 2

OUTPUT MSG3, 10, DH, DL

MOV DH, 20

MOV DL, 2

OUTPUT MSG4, 10, DH, DL

MOV DH, 21

MOV DL, 27

MOVTO DH, DL

POP DX

;******************************************************************* PRESS:

MOVTO DH, DL

MOV AH, 01H

INT 16H ;从键盘读入字符

JNE KEY

JMP PRESS

KEY:

MOV AH, 00

INT 16H ;从键盘读入字符

JMP ISESC

ISESC:

CMP AL, 1BH

JE TZD_2

CMP AL, 08H

JE DELETE

INC COUNT2

INC COUNT1 ;是上面的字符,则COUNT1加1

JMP ISEQUAL

TZD_2: ;设定跳转点到“EXIT”

JMP SKIP1

DELETE:

MOV AX, COUNT1

CMP AX, 0

JNE DELETE_G

DELETE_G:

DEC COUNT1

DEC COUNT2

SUB DH, 2

MOVTO DH, DL

PRINT ' ', 0

DEC DL

MOVTO DH, DL

XIANSHI_G

ADD DH, 2

MOVTO DH, DL

MOV AH, 08H

INT 10H ;读光标处的字符及其属性

CMP AH, 10 ;8号功能时,AH=属性,AH=ASC码JNZ DEL

DEL:

PRINT ' ',0

TZD_DAZI1: ;跳转点,到“打字”

JMP PRESS

ISEQUAL:

MOV BL, AL

CMP AL, 20H

JB WRONG

CMP AL, 7FH

JA WRONG

SUB DH, 2

MOVTO DH, DL

PRINT ' ',0

INC DL

MOVTO DH, DL

XIANSHI_G

INC DH

DEC DL

MOVTO DH, DL

MOV AH, 8 ;读得光标处字符送到AL中

INT 10H

CMP AL, BL

JE EQUAL

CALL SOUND ;在此处添加警报声

微机原理学习心得

微机原理学习心得 本学期的微机原理课程即将要结束,以下是关于微机这门课程的心得体会: 初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理》课程有许多的新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的有很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很接近,为了更好的掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部

分,它与微型计算机、微型计算机系统是完全不同的概念。 在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要。在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。比如,最近闹得沸沸扬扬的珊瑚虫一案,其软件制作的核心人物就是使用汇编语言来创造闻名遐迩的QQ查IP软件-----珊瑚虫,并成立了有名的珊瑚虫工作室,其威力可见一斑。 然而,事物就是有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较复杂的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单的基础开始的。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。 汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,我认为在学习中要考虑到“学以致用”,不能过分强调课程的系统性和基本理论的完整性,而应该侧重于基本方法和应用实例。从微机应用系统的应用环境和特点来看,微机系统如何与千变万化的外部设备、外部世界相连,如何与它们交换信息,是微机系统应用中的关键所在,培养一定的微机应用系统的分析能力和初步设计能

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

微机原理课程设计

微机原理课程设计

前言 加热器数字控制系统的设计与功能的实现要求学生在学习完微机原理及应用这门课的基础上,在对芯片类知识以及汇编语言有一定基础的前提下进行的一个非常体现学生综合能力的一个设计。要想很好的完成这个题目,必须对芯片的功能有很详细的了解,同时也要求学生的汇编语言基础要扎实。计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。《微型计算机原理》正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程,要求学生在学好理论知识的基础上,培养定的实践动手操作能力,学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机原理课程设计是对《微型计算机原理》课程理论教学和实验教学的综合和总结。 通过该课程设计,可以使学生对微机原理及应用这门课有更深刻的了解与认识,同时在做课程设计的过程中也锻炼了学生将书本上的知识应用到具体实践上的能力。不仅回顾了上课老师所讲的知识,同时也培养了自身的创新能力,自主设计能力,纠错能力,加强了学生动手的能力。

目录 1.前言 (2) 2.课程设计题目 (4) 3.设计任务分析 (5) 4.总体设计思路 (6) 5.硬件设计 (7) 6.软件设计 (11) 7.小结 (13) 8.参考文献 (14) 9.设计图纸 (15) 10.程序清单 (16)

课程设计题目:数字控制系统在加热器中的应用 一、课程设计的目的意义 通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练:(1)调查研究、分析问题的能力; (2)使用设计手册、技术规范的能力; (3)查阅中外文献的能力; (4)制定设计方案的能力; (5)计算机应用的能力; (6)设计计算和绘图的能力; (7)技术经济指标的分析能力; (8)语言文字表达的能力。 二、课程设计任务介绍 当把物品放入加热器中,首先要启动加热器和电机工作,设定加热时间为5分钟,为使物品均匀加热,每隔30秒电机要反转一次,(正转→反转、反转→正转),加热时间到后,停止加热器和电机工作,并发声,告知加热结束。

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

中国石油大学微机原理期末考试微机编程题总结

1已知在数据段中定义变量VAL1,其中装入了100个字节的数据;VAL2为数据段中定义的可以存储100个字节的变量。要求将VAL1中的内容取负(即,正数变负数,负数变正数,零不变)后传送到VAL2中。画出程序流程图,并编写完整的8086汇编程序。数据段可采用以下定义形式: DATA SEGMENT VAL1 DB 100 DUP(?) VAL2 DB 100 DUP(?) DATA ENDS 答:流程图:(2分) 程序(4分):结构1分,初始化1分,循环体1分,DOS接口1分。每部分可按0.5分进行得扣分。 CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX CLD MOV SI,OFFSET VAL1 ;LEA SI,VAL1 MOV DI,OFFSET VAL2 ;LEA DI,VAL2 MOV CX,100 LP:N EG [SI] MOVSB LOOP LP MOV AH,4CH INT 21H CODE ENDS END START 注:循环体内也可以使用减法指令、MOV指令、INC指令等。只要完成取负及数据传送即可。与DOS接口也可采用子程序结构。

2设在内存缓冲区中有一数据块STRDATA,存放着30 个字节型补码数据。要求画出程序流程框图,编写完整的汇编语言源程序,找出其中的最大数,存入RESULT 单元中,并在关键语句后加适当注释。 答: DSEG SEGMENT STRDATA DB 30 DUP(?) ;定义数据串 RESULT DB DUP(?) DSEG ENDS CSEG SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX, OFFSET STRDATA ;数据串首址→BX MOV AL, [BX] MOV CX, 29 ;数据长度→CX L1: INC BX ;地址指针加1 CMP AL, [BX] ;和当前数比较 JGE L2 ;当前数大 MOV AL, [BX] ;当前数为最大数 L2: DEC CX ;数据串长度减1 JNZ L1 ;串未完,继续 MOV RESULT, AL ;保存最大数在RESULT MOV AH,4CH INT 21H CSEG ENDS END START

微机原理课程设计报告

微机原理课程设计报告 课程设计是每一个大学生在大学生涯中都不可或缺的, 它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助! 微机原理课程设计报告(一)以前从没有学过关于 汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都 会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。 我想微机原理课程设计和其他课程设计有共同的地方, 那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。 微机原理与接口技术是一门很有趣的课程,任何一个计 算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。 学习该门课程知识时,其思维方法也和其它课程不同,

2014年微机原理课程设计题目-汇总 (1)

1.根据键盘输入的一个数字显示相应的数据螺旋方阵。如输入4,则显示。 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 共需要显示4^2=16个数字。 要求:①根据键盘输入的数字(3-20),显示相应的数据方阵。 ② 画出设计思路流程图,编写相应程序。 2.显示日期或时间。要求:有提示信息,输入字母“r”,可显示系统当前日期;输入字母“s”,可 显示系统当前时间;输入字母“q”,退出程序。 3.字符游戏 随机显示字符ch,等待用户输入 如果输入字符与ch一致,则随机显示下一个字符ch2;否则显示“输入错误”; 如此循环; 输入Enter结束 点击Enter程序退出; 4.从键盘上输入7名裁判的评分(0-10,整数),扣除一个最高分,扣除一个最低分,计算出其它五 个分数的平均值(保留一位小数),并在显示其上输出 “The final score is:”和最终结果。 5.为短跑比赛设计一个确定成绩次序的程序,要求能够输入8个队员编号,成绩;输出最终的排名 次序编号及成绩。(成绩时间格式--秒数:百分秒数,如12:15) 6.为评委设计一个显示选手通过的指示器,以电脑显示屏作为指示屏。当从键盘输入0时,显示屏 上呈现“×”图形,表示选手被淘汰;当从键盘输入1时,显示屏上呈现“√”图形,表示选手通过。 7.试设计一个道路收费系统,将车型分为大型车、中型车、小型车,每种车型分别有各自的单公里 收费标准,如下表所示,在收费时,将车型和公里数输入系统,就可自动生成收费额,(公里数取整。收费额以元为单位,保留一位小数)。 序号 车型 单公里收费(单位:0.1元) 1 大型车 5 2 中型车 3 3 小型车 1 8.通过实验箱TDN实现8个LED灯循环闪烁。 要求:首先是1、3、5、7号LED灯以此亮1秒钟,当第7号LED灯亮后,这四个灯同时闪烁5下; 然后,2、4、6、8号灯依次亮1秒钟,当第8号灯亮后,这四个灯同时闪烁5下。 9.为男子25米手枪速射决赛设计一个排名程序。决赛有6名运动员参加,每人每轮次打5枪,每枪 打中靶子的中心区就计一分,打不中就记0分。四轮比赛之后,先将成绩最低的选手淘汰(即为

微机原理与接口技术课程总结

微机原理与接口技术课程总结 篇一:《微机原理与接口技术》课程总结 《微机原理与接口技术》课程总结 班级:12电子专升本学号:1205061044姓名:陶翠玲 主要内容: 《微机原理与接口技术》是我们这学期开的比较难学的一门课,课程紧密结合通信工程专业的特点,围绕微型计算机原理和应用主题,以intel8086cPU为主线,系统介绍了微型计算机的基本知识、基本组成、体系结构、工作模式,介绍了8086cPU的指令系统、汇编语言及程序设计方法和技巧,存储器的组成和i/o接口扩展方法,微机的中断结构、工作过程,并系统介绍了微机中的常用接口原理和应用技术,包括七大接口芯片:并行接口8255a、串行接口8251a、计数器/定时器8253、中断控制器8259a、a/d(adc0809)、d/a(dac0832)、dma(8237)、人机接口(键盘与显示器接口)的结构原理与应用。在此基础上,对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要介绍。 具体介绍: 第一章:主要了叙述微型计算机的发展构成和数的表示方法 (1)超、大、中、小型计算机阶段(1946年-1980年) 采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂

的数学计算和数据处理 (2)微型计算机阶段(1981年-1990年) 微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。 (3)计算机网络阶段(1991年至今)。 计算机的数值表示方法:二进制,八进制,十进制,十六进制。要会各个进制之间的数制转换。计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。 第二章:介绍了8086微型机算计系统的组成原理和体系结构 (1)BiU与EU的动作协调原则: 总线接口部件(BiU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务: ①每当8086的 指令队列中有两个空字节,或8088的指令队列中有一个空字节时,BiU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。 ②每当EU准备执行一条指令时,它会从BiU部件的指令队列前部取出指令的代码,然后用几个 时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者i/o端口,那么EU就会请求BiU,进入总线周期,完成访问内存或者i/o端口的操作;如果此时BiU正好处于空闲状态,会立即响

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机原理课程设计

、 微机原理课程设计 —数据采集系统(查询法) # (

一、课设目的 进一步掌握微机原理只是,了解危机在实时采集过程中的应用,学习、掌握编程和程序调试方法。 , 二、课设内容 用查询法,将ADC 0809通道0外接0~5V电压,转换成数字量后,在七段LED数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值;0809~道0的数字量以线性控制方式送DAC0832输出,当通道O的电压为5V时,0832的OUT为0v,当通道O的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示;通道0的数字量经74LS574输出到八位LED上,且以一定的要求,点亮LED指示灯。调整电位器,用示波器或三用表观察0832的变化,观察七段LED数码管数值的变化,观察LED灯的变化, ADC 0809的CLK脉冲,由定时器8254的OUT0提供;ADC 0809的EOC信号,用8255的PC0检测;74LS574外接的LED灯变化如下:若电压值小于0.5V,则最低位(DO)’LED灯亮,若电压值大于4.5V,则最高位LED灯亮,若电压值在0.5V~4.5V,则八位LED灯由低向高变化亮,且高位LED灯亮时低位灯全亮。 要有较好的人机对话界面;控制程序的运行。 三、硬件设计 1、电原理框图 见附件1 2、电原理框图工作过程的简要说明 【 (1)、ADC 0809的INO采集电位器0—5V电压,INl采集0832输出的模拟量。(2)、DAC 0832将ADC 0809的INO数字量后重新转换成模拟量输出。 (3)、8255用于检测ADC 0809转换是否,为七段LED数码管显示提供显示驱动信息。 (4)、七段LED数码管显示ADC 0809的INO的值。 (5)、74LS574驱动八位发光二极管,使它们按要求点亮:来指示当前采样值的范围。 (6)、8254提供ADC 0809的采样时钟脉冲。 (7)、74LSl38译码器为各芯片提供地址信息。 四、软件设计 【 首先进行程序初始化显示提示信息,判断是否有键按下,按下1则继续往下执行,按下2则退出。首先对8254进行初始化选择工作方式及赋初值,然后启动0809的IN0,接着初始化8255,并检测PA7的状态检测转换是否,否继续检测

学微机原理课程设计心得体会范文

学微机原理课程设计心得体会范文 "微机原理与系统设计"作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点。接下来就跟着小编的脚步一起去看一下关于吧。 篇1 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很

重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 篇2 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

武科大微机原理课程设计

一、设计题目 键控数据采集及数值显示电路设计 二、设计任务 按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。设定输入模拟量在0—5V范围内,显示值在0—255范围内。 三、设计要求 1.画出连接线路图或功能模块引脚连接图。 2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。 3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。 四、设计思想及需要用的主要芯片 1、设计思想 首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。 2.主要芯片及其功能 ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。其芯片引脚图如下 8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

微机原理课程设计心得体会3篇

微机原理课程设计心得体会3篇课程设计是对课程的各个方面做出规划和安排,是连接课程基本理念和课程实践活动的桥梁。下面是为大家带来的微机原理课程设计心得体会,希望可以帮助大家。 微机原理课程设计心得体会范文1: 计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。 在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉UTP、2.交换机Console口和Telnet配置、3.交换机端口和常规配置、4.虚拟局域网VLAN配置、5.路由器Console口Telnet 配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP协议配置、10路由器访问控制表(ACL)、11.网络地址转换(NAT)。 在制作直通电缆和交换UTP的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。 在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。

从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。 课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。 微机原理课程设计心得体会范文2: "微机原理与系统设计" 作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以Intelx86CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必

微机原理课程设计

微机原理与应用课程设计

目录 一、设计任务 1、计时秒表,具有分、秒和百分之一秒的计时功能。 2、可以在屏幕中央显示计时结果,屏幕显示彩色图案和文字。 3、秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理 1、HALT(启动子程序) 2、DIS(宏定义——苹果显示程序) 3、DISS(宏定义——字符串的输出) 4、CLOUR(字体颜色设置程序) 5、IOSET(设置光标位置子程序) 6、GO(初始化显示子程序) 7、TIME(延时子程序) 8、TRAN(压缩BCD码转ASCII码程序) 9、复位、停止等功能的实现 三、流程图 a)主程序流程图 b)压缩BCD转ASCII码子程序流程图 c)延时子程序流程图 四、程序段 五、程序调试 六、程序运行结果 七、心得体会

八、参考文献 一、设计任务: 1.计时秒表,具有分、秒和百分之一秒的计时功能,并可以在屏幕中央显示计时结果。 2.屏幕显示彩色图案和文字。 3.秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理: 本程序的主要设计原理是用主程序完成百分之一秒与秒之间的转换,显示计时结果,实现暂停,暂停再启动,复位,复位再启动的功能,并通过调用一些附加程序,缩减主程序的长度,提高运行效率和精度,现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下: 1.DIS(宏定义——苹果显示程序) 通过宏调用,实现苹果图案的显示。在宏定义里,设置一个形参变量,作为移动光标的位置,在下面调用宏中,给予变量X不同的实参,输出苹果图案。 2.DISS(宏定义——字符串的输出) 原理同上。 3.CLOUR(字体颜色设置程序) 通过字体颜色设置程序,实现屏显字体颜色的改变。当改变BX值时,字体颜色会改变。 4.HALT(启动子程序) 通过启动子程序,实现计时的开始,当从键盘输入一个字符时,判断是否等于S,如果不等,则在循环执行启动子程序中动态等待,直到输入的字符为S 时,计时开始。 5.IOSET(设置光标位置子程序) 通过设置光标子程序,来设置显示的区域。一般整个屏幕可显示25行,80列,屏幕左上角字符位置为0行0列,右下脚字符为24行79列,对应十六进制为:左上脚为(0,0),右下脚为(18,4F)。入口信息为:(AH)=2 要设置光标;(BH)=0 页号;(DH,DL)=00要置光标于0行0列。DX赋值为0D27H,光标置位于屏幕中央。 6.GO(初始化显示子程序) 通过将在数据段定义的BUFFER数组的首址赋给BX,将待显示初值字符串00:00存入数组中的相应位置,当每次复位以后,重新调用该子程序,将程序的执行结果修正为00:00,并显示于屏幕上,从而实现了程序的初值设定和复位功能。 7.TIME(延时子程序) 计算机每执行一条指令,虽然很快,但是需要一些时间,因此在本程序中可以通过延时程序,让计算机去执行一些无关的程序,来达到时钟秒与百分之一秒转换时的时间延迟。每条指令执行时间的长短,是以计算机的时钟周期为基本单位的,因此不同的计算机可以通过修改延时程序数值来使其达到准确计时。 8.TRAN(压缩BCD码转ASCII码程序)

微机原理与接口技术试验学习总结

微机原理与接口技术试验学习总结 本学期微机原理的实验课程即将结束,关于微机原理课程实验的心得体会颇多。 初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。 在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。 汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。 我想微机原理课程试验不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特之处,那就是让我们进入一个神奇的世界,那就是编程。对我们来说汇编真的很新奇,很有趣,也使我有更多的兴趣学习微机原理和其

相关主题
文本预览
相关文档 最新文档