微机原理电子钟设计汇编语言Word文档下载推荐.docx
- 文档编号:21158814
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:19
- 大小:382.54KB
微机原理电子钟设计汇编语言Word文档下载推荐.docx
《微机原理电子钟设计汇编语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理电子钟设计汇编语言Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
七、参考文献……………………………………………………………………………17
一、设计任务与要求
设计一个可调时电子钟,要求:
1)给出系统设计方案;
画出硬件连线图,并说明工作原理;
2)画出程序框图并编写程序完成如下功能:
6位七段LED数码管可显示时、分、秒,并按正常时间显示方法工作;
二、总体设计方案与说明
本实验利用8253做定时器,用定时器输出的脉冲控制8259产生中断。
在8259中断处理程序中,对时、分、秒进行计数,在等待中断的循环中用LED显示时间。
8253用定时器/计数器1,8253片选接CS4,地址为0C000H。
8253时钟源CLK1接分频电路的F/64输出。
分频器的FIN接4MHZ时钟。
8253的GATE1接VCC。
8259中断INT0接8253的OUT1,片选接CS5,地址为0D000H。
显示电路的KEY/LEDCS接CS0,地址为08000H。
系统工作框图如下:
8259A
8253
8086
CPU
显示电路
图1系统框图
三、系统硬件部分设计
3.1、8086微处理器
8086微处理器是16位机,16位微处理器比8位微处理器有更大的寻址空间、更强的运算能力、更快的处理速度和更完善的指令系统。
16位微处理器比8位微处理器有更大的寻址空间、更强的运算能力、更快的处理速度和更完善的指令系统。
芯片引脚为40根,20根地址线,16根数据线,其最大的地址空间为1MB。
8086从功能上来说可以分成两个大部分,总线接口单元BIU和执行单元EU。
BIU:
负责与存储器或I/O接口交换信息,即8086与存储器或I/O接口之间的信息传送,都是由BIU负责进行的,即:
(1)BIU从内存的指定部分取出指令,送到指令队列排队。
(2)取出执行指令时所需的操作数,送至EU部分。
EU:
负责指令的执行。
特点:
将CPU分为两个单元,可以使取指令和执行指令同进行,减少了CPU为取指令而等待的时间,从而提高了CPU的利用率,提高了系统的运行速度。
8086微处理器的引脚功能可分3部分:
地址总线、数据总线、控制总线。
(1)地址/数据总线AD15-AD0
AD15-AD0:
地址/数据复用引脚,双向,三态。
地址/数据总线分时复用。
在总线周期开始时(T1),用作地址总线的16位,给出内存单元的地址;
其他时间为数据总线,用于数据传输。
(2)地址/状态总线A19/S6-A16/S3
A19/S6-A16/S3:
地址/状态总线复用引脚,输出,三态。
A19-A16:
输出访问存储器的20位地址的高4位地址A19-A16。
8086的20条地址线访问存储器时可寻址1MB内存单元;
访问外部设备时,只用16条地址A15-A0,可寻址64K个I/O端口。
图28086CPU
3.2、8259A芯片的内部结构及引脚
中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。
它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。
因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
在MD微机系统中,8259芯片工作于单片方式。
8259引脚图如图3,各引脚功能如下。
D7~D0——八条双向数据线;
WR(低电平有效)——写输入信号;
RD(低电平有效)——读输入信号;
CS(低电平有效)——片选输入信号;
A0——地址信号;
INT——中断请求信号;
INTA(低电平有效)——中断响应信号;
CAS0~CAS2——级联信号,形成一条专用8259A总线,以便多片8259A的级联;
SP/EN——从编程/允许级联。
在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。
在非缓冲方式中,作为输入信号用于表示主片还是从片;
IR0~IR7——外部中断请求输入线。
要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。
8259A中断矢量表
中断序号
1
2
3
4
5
6
7
功能调用
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
矢量地址
20H
~
23H
24H
27H
28H
2BH
2CH
2FH
30H
33H
34H
37H
38H
3BH
3CH
3FH
说明
时钟
键盘
可用
串行口
3.3、可编程定时器/计数器8253
8253的功能用途是:
(1)延时中断
(2)可编程频率发生器
(3)事件计数器
(4)二进倍频器
(5)实时时钟
(6)数字单稳
(7)复杂的电机控制器
8253有六种工作方式:
(1)方式0:
计数结束中断
(2)方式1:
可编程频率发生器
(3)方式2:
频率发生器
(4)方式3:
方波频率发生器
(5)方式4:
软件触发的选通信号
(6)方式5:
硬件触发的选通信号
图48253引脚信号图
8253引脚图如图3.3示,各引脚功能如下。
A0、A1——片内寄存器地址输入信号;
CLK——计数输入,用于输入定时基准脉冲或计数脉冲;
OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;
GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。
8253端口地址表
2、8253端口地址
信号线
寄存器
编址
IOY2
0#计数器
40H
1#计数器
41H
2#计数器
42H
控制寄存器
43H
3.4、LED显示器
LED显示器有静态显示与动态显示两种方式。
我们使用的为动态显示LED动态显示方式。
在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由响应的I/O口线控制。
显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。
硬件上由六个LED构成,软件上由扫描显示的方法实现。
3.5系统原理图
四、系统软件部分设计
4.1系统软件流程图
1、主程序流程图
主程序框图
、100us定时中断服务程序
100us定时中断服务程序
4.2源程序:
CONTROLEQU0C003H
COUNT0EQU0C000H
COUNT1EQU0C001H
COUNT2EQU0C002H
MD8255EQU82H;
8255工作方式
PA8255EQU8000H;
8255PA口输出地址
CTL8255EQU8003H;
8255控制口地址
OUTBITEQU08002H;
位控制口
OUTSEGEQU08004H;
段控制口
ICW1EQU00010011B;
单片8259,上升沿中断,要写ICW4
ICW2EQU00100000B;
中断号为20H
ICW4EQU00000001B;
工作在8086/88方式
OCW1EQU11111110B;
只响应INT0中断
CS8259AEQU0D000H;
8259地址
CS8259BEQU0D001H
DATASEGMENT
CNTDB0
LEDBUFDB6DUP(?
);
显示缓冲
NUMDB1DUP(?
显示的数据
DELAYTDB1DUP(?
)
HOURDB0
MINUTEDB0
SECONDDB0
LEDMAP:
;
八段管显示码
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
DELAYPROCNEAR
PUSHAX;
延时子程序
PUSHCX
MOVAL,0
MOVCX,AX
LOOP$
POPCX
POPAX
RET
DELAYENDP
DISPLAYLEDPROCNEAR
MOVBX,OFFSETLEDBUF
MOVCL,6;
共6个八段管
MOVAH,00100000B;
从左边开始显示
DLOOP:
MOVDX,OUTBIT
OUTDX,AL;
关所有八段管
MOVAL,[BX]
MOVDX,OUTSEG
OUTDX,AL
MOVAL,AH
OUTDX,AL;
显示一位八段管
PUSHAX
MOVAH,1
CALLDELAY
SHRAH,1
INCBX
DECCL
JNZDLOOP
DISPLAYLEDENDP
IENTERPROCNEAR
PUSHDX
INCSECOND
MOVAL,SECOND
CMPAL,60
JNEEXIT
MOVSECOND,0
INCMINUTE
MOVAL,MINUTE
MOVMINUTE,0
INCHOUR
MOVAL,HOUR
CMPAL,24
MOVHOUR,0
EXIT:
MOVDX,CS8259A
MOVAL,20H;
中断服务程序结束指令
POPDX
IRET
IENTERENDP
IINITPROC
MOVAL,ICW1
MOVDX,CS8259B
MOVAL,ICW2
MOVAL,ICW4
MOVAL,OCW1
IINITENDP
STARTPROCNEAR
MOVAX,DATA
MOVDS,AX
CLI
MOVAX,0
MOVAL,76H;
01110110B;
计数器1,16位,方式3,二进制
MOVDX,CONTROL
MOVAX,62500
MOVDX,COUNT1
计数器低字节
计数器高字节
MOVAL,MD8255
MOVDX,CTL8255
MOVBX,4*ICW2;
中断号
MOVAX,CODE
SHLAX,1;
X16
SHLAX,1
SHLAX,1
ADDAX,OFFSETIENTER;
中断入口地址(段地址为0)
MOV[BX],AX
MOV[BX],AX;
代码段地址为0
CALLIINIT
MOVCNT,0;
计数值初始为0
MOVAL,CNT
MOVDX,PA8255
STI
LP:
等待中断,并计数。
MOVAH,0
MOVCL,10
DIVCL
MOVCH,AH
MOVBX,OFFSETLEDMAP
ADDBX,AX
MOVLEDBUF,AL
MOVAL,CH
ORAL,80H
MOVLEDBUF+1,AL
MOVLEDBUF+2,AL
MOVLEDBUF+3,AL
MOVLEDBUF+4,AL
MOVLEDBUF+5,AL
CALLDISPLAYLED
JMPLP
STARTENDP
CODEENDS
ENDSTART
五、系统调试
第一个问题是在用伟福软件编译时出现了错误,通过老师的帮助下知道了要把名称用英文表示。
第二个问题是在伟福8000上没有4MHZ的电路,在老师的帮助下知道了从伟福6000实验箱上可以得到。
六、课程设计体会
通过本次课程设计,我对利用微机原理课程所学的知识设计电子表的基本过程的设计方法、步骤、思路、有一定的了解与认识。
它相当于实际工业设计的模拟。
在课程设计过程中,我先是收集、调查有关资料,然后进入草案阶段,其间与指导教师进行几次方案的讨论、修改,再讨论、再修改,最后定案,得出了总体方案设计。
设计方案确定后,又在老师指导下进行扩初详细设计,并分别设计了相应的模块;
将这些模块组合起来,便形成了一个完整的电子表的设计。
对8259、8255、8253有了进一步的了解,对中断处理有了更深的理解,很好的复习了微机原理,同时对端口有了初步的理解。
通过课程设计更加体会到了团队作战的长处,大家一起受益颇多,取长补短,最主要的是认识到了自己的不足,需要进一步学习所含知识,尤其是端口,更需要勤加练习汇编语言与微机原理的结合,课程设计受益颇多。
经过这次成功的设计,我更加深刻的理解了微机原理的相关知识。
对一些常用芯片有了更深一步的认识,并且能够很好的使用它们。
应该说,这次课程设计达到了目的。
七、参考文献
[1]许立梓.微型计算机原理及应用[M].北京:
机械工业出版社,2003.
[3]戴梅萼等.微型计算机技术及应用.北京:
清华大学出版社,2003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理电子钟 设计汇编语言 微机 原理 电子钟 设计 汇编语言