电子时钟汇编8253+8255+8259Word文件下载.docx
- 文档编号:4594153
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:17
- 大小:150.47KB
电子时钟汇编8253+8255+8259Word文件下载.docx
《电子时钟汇编8253+8255+8259Word文件下载.docx》由会员分享,可在线阅读,更多相关《电子时钟汇编8253+8255+8259Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。
8259中断控制器:
用于产生中断。
LED:
六个LED用于显示时:
分:
秒值。
小键盘:
用于控制设置。
三、设计思想与原理
1、设计思想
本系统设计的电子时钟以8088微处理器作为CPU,用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制
器产生中断。
在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。
8254采用计数器0,工作于方式2,使8254的OUT0端输出周期性的负脉冲信号。
即每隔20ms,8254的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。
其中8259只需初始化ICW1,其功能是向8259表明IRx输入是电瓶触发方式还是上升沿触发方式,是单片8259还是多片8259。
8259接收到信号后,产生中断信号送CPU处理。
2、设计原理
利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码
显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。
电子时钟的显示格式HH:
MM:
SS由左到右分别为时、
分、秒,最大记时59:
59:
59超过这个时间时分秒位都清零从00:
00:
00重新开始。
基本工作原理:
每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。
1、内容
利用实验台上提供的定时器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,由8254中断定时,小键盘控制电子时钟的启停及初始值的预置。
电子时钟的显示格式HH:
MM:
SS由左到右分别为时、分、秒,最大记时
59:
59超过这个时间时分秒位都清零从00:
00:
00重新开始。
2、要求本实验要求设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。
系统一运行就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。
基本工作原理:
每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;
六个数码管动态显示时、分、秒的当前值。
C键:
置初值,显示00:
00:
00
G键:
显示动态变化<启动表);
D键:
显示静态不变<表停止);
E键:
终止程序,返回DOS;
P键:
设置时:
秒的值
3、设计环境
PC机一台、windowsXP系统、实验箱,导线若干。
4、设计所用设备
8254定时器:
8255并口:
8259中断控制器:
LED:
六个LED用于显示时:
秒值
小键盘:
三、设计所用芯片结构
1、8259A芯片的内部结构及引脚
中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。
因此无需附加任何电路,只需对8259A编程,就可以管理模式和中断请求方式,即中断结构可以由用户编程来设定<8259芯片工作于单片方式。
8259引脚图如图3.3,各引脚功能如下。
D7~D八条双向数据线;
WR低电平有效)——写输入信号;
RD<氐电平有效)——读输入信号;
CS<氐电平有效)片选输入信号;
A0地址信号;
INT――中断请求信号;
INTAv低电平有效)一一中断响应信号;
CAS0~CAS——级联信号,形成一条专用8259A总线,以便多片8259A的级联;
SP/EN从编程/允许级联。
在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。
在非缓冲方式中,作为输入信号用于表示主片还是从片;
IR0~IR7――外部中断请求输入线。
要求输入的中断请求信号是由低电平到高电平的上升沿<并保持高电平到CPU响应时为止)或者是高电平。
8259中断矢量地址与中断信号之间的关系如表3.1所示:
8级中断,并选择优先
RD
D7
D1
1)0
「ASL
MD微机系统中,
28
27
■3
12
13
14
24
8
2
5
9
22
20
图3.18259A引脚图
JLK手
□AH乂
中断序号
1
3
4
6
7
功能调用
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
矢量地址
20H
24H
28H
2CH
30H
34H
38H
3CH
表3.18259A中断矢量表
23H
27H
2BH
2FH
33H
37H
3BH
3FH
说明
时钟
键盘
可用
串行口
2、8255芯片的内部结构及引脚
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具
有A、B、C三个并行接口,用+5V单电源供电,
作:
方式0—基本输入/输出方式
方式1—选通输入/输出方式
方式2—双向选通输入/输出方式
8255引脚图如图3.2示,各引脚功能如下。
D7~D0――与CPU侧连接的八条双向数据线;
WRv低电平有效)——写输入信号;
RD<低电平有效)——读输入信号;
CS<低电平有效)——片选输入信号;
A0、A1片内寄存器选择输入信号;
PA7~PA0A口外设双向数据线;
PB7~PB0B口外设双向数据线;
PC7~PC0C口外设双向数据线;
RESET――复位输入信号
2、8255端口地址
表3.28255端口地址表
信号线
寄存器
编址
A口
60H
IOY3
B口
61H
C口
62H
控制寄存器
63H
3、8254芯片的内部结构及引脚
8254可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独
立的十六位计数器,技术频率范围为
0~2MHZ,它所有的技术方式和操作方式
都通过编程控制。
8254引脚图如图3.3示,各引脚功能如下。
D7~D0――八条双向数据线;
WR<低电平有效)——写输入信号;
RD<低电平有效)——读输入信号;
CS<低电平有效)——片选输入信号;
CLK计数输入,用于输入定时基准脉冲或计数脉冲;
OUT――输出信号,以相应的电平指示计数的完成,或输出脉冲波形;
GATE选通输入<门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。
IOY2
0#计数器
40H
2、8254端口地址
表3.38254端口地址表
1#计数器
2#计数器
四、具体模块设计
1、概述
本系统设计的电子钟以8088微处理器作为CPU用8254做定时计数器产生时钟频率,8255做可编程并行接口显示时钟和键盘电路,8259做中断控制器
产生中断。
在此系统中,8254的功能是定时,接入8254的CLK信号为周期性时钟信号。
8254采用计数器0,工作于方式2,使8254的OUT0端输出周期性的负脉冲信号。
即每隔20ms8254的OUTO端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。
程序由以下模块组成:
系统共有5个功能模块,分别为,主控模
块,显示模块,定时模块,中断模块,小键盘模块。
系统框图如下:
主控模块
图一系统框图
2、主程序模块
主控模块是系的核心模块,对8254、8255A进行初始化,设置中断向量,扫描键盘根据按键值作相应的处理。
主要由软件实现。
它的主要功能是调用其
它模块对系统工作进行协调,它的主要功能是读小键盘输入键值并执行要做的工作,如果键值为C则将显示初始值00:
00置入显示缓冲,并调用显示模块显示。
如果键值为G则开中断,<中断程序为秒最低位加一)。
如果键值为D则关中断,停止动态显示。
如健值为P则连续六次调用小键盘模块,将键值依次存入显示缓冲。
并调用显示模块显示。
如果健值为E,则终止程序,返回
DOS。
3、小键盘模块小键盘模块送入主控模块的子功能模块。
由软件和硬件实现,硬件上由小键盘和8255互连,将小键值由8255送入主控模块。
软件上使用行扫描法获得键值并送回主控模块。
本课题只考虑去抖动。
执行一个约10ms的延时程序后再扫描键盘,若F0=1表示真正有键按下,从而消除了抖动影响实现代码如下:
key
rocnearpushcx
deccl
jnzscan1
kst:
moval,82h
jmpkst
movdx,p55ctl
keyn:
pushax
outdx,al
movdx,pb55
moval,00h
relea:
inal,dx
movdx,pa55
oral,0f8h
cmpal,0ffh
jnzrelea
inal,dx
popax
notax
movsi,offsettable
jzdelay
movdi,offsetchar
movcx,0300h
movcx,24
dly:
loopdly
tt:
cmpax,[si]
movcl,08h
jznn
movah,0feh
deccx
scan1
:
movdx,pa55
jzkst
moval,ah
addsi,02
incdi
jmptt
nn:
movdl,[di]
mov[char1],dl
movah,02h
jnzkeyn
int21h
rolah,1
popcx
yang:
retkeyendp
jmpyangdelay:
calldisplyjmpkst
4、显示模块
显示模块是将显示缓冲区的数值送到LED显示的功能模块,显示缓冲区
是由六个字节构成,分别保存小时的高位和低位,分钟的高位和低位,秒钟的高位和低位。
硬件上由六个LED构成,软件上由扫描显示的方法实现。
moval,cl
movdx,portbitoutdx,almovbx,35hdelay1:
decbx
jnzdelay1cmpcl,20hjzdisup2incdishlcl,1jmpdisup1disup2:
popcx
retdisplayendp
实现代码如下:
displayprocnear
movcx,77ffhled52:
calldisup
loopled52disup:
pushcx
movdi,offsetmin1movcl,01disup1:
moval,0
movdx,portbitoutdx,almoval,[di]movbx,offsetledxlatmovdx,portsegoutdx,al
5、定时模块
定时模块是为8259提供中断请求信号的。
由一片8254实现,选用定时器
0#,工作在方式3,由4时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。
6、中断处理模块
中断模块实现动态显示的,硬件为一片8259,因为中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。
7、按如下接线图连接好实验箱上的芯片引脚,主要用到器件有8255,8254,LED,8259,小键盘。
8254的片选接地址208-20F,OUT1QUT0接灯(测试用>
GATE0,GATE1接+5V,CLK1接8259的IRQ2,CLK0接Q12(12分频>
。
8255的片选接地址218-21F,实验箱已将其和小键盘相连。
LED的片选接地址210-217。
CSOUT1OUT0GATE1GATE0
ioOUOO
8259
I
i
pH。
IR2
+5V8MHz
LS393
6个LED
CS
PB2
O
——O
小键盘
PA0'
图二实验接线图
五、程序流程图
用INT2伯35H号功能恢复原中断向量
图一主程序流程图
<KEY)
中断处理程序流程图:
六、心得体会
附录一:
参考书目
1、戴梅萼,史嘉权编著.微型计算机技术及应用(第三版〉.北京:
清华大学出版社,2003
2、周明德编著.微型计算机系统原理及应用(第四版>
.北京:
清华大学出版社,2002
3、李顺增,吴国东,赵河明等.微机原理及接口技术.北京:
机械工业出版社,2006
4、杨立新.微型计算机原理和应用[M].北京:
科学技术文献出版社,
1986.11
5、李大友.微型计算机原理[M].北京:
清华大学出版社,1998.7
6、眭碧霞.微型计算机原理与组成[M].人民邮电出版社,2003.8附录二:
部分源代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 时钟 汇编 8253 8255 8259