微机原理课程设计电子时钟.docx
- 文档编号:23005019
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:19
- 大小:286.12KB
微机原理课程设计电子时钟.docx
《微机原理课程设计电子时钟.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计电子时钟.docx(19页珍藏版)》请在冰豆网上搜索。
微机原理课程设计电子时钟
电子时钟课程设计
一:
设计背景
电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒”用数字的方式显示出来。
与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人的经常调整等优点。
它广泛用于电子表、车站、码头、广场等公共场所的大型远距离时间显示电子钟。
二:
数字钟电路设计思路
1.选用8253计数器2进行1s的定时,其输出OUT1与8259的IRQ0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号。
时、分、秒的数值通过对8255的编程可送到七段数码管上显示。
2.此程序主要由四部分组成:
第一部分为最主要的部分定义显示界面;
第二部分为利用延时程序,并将调用的二进制表示的时间数转换成ASCII码,并将时间数存入内存区;
第三部分将存在系统内存区的时间数用七段数码管显示出来;
第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成走时准确的电子钟。
该程序实现了准确显示秒和分,读数准确,走时精准。
此电子钟能准确的从0时0分0秒走时到23时59分59秒,然后能自动回复到0时0分0秒循环走时。
3.基本工作原理:
系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成。
以8086微处理器作CPU,用8253做定时器产生时钟频率提供一个频率为10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。
在写入控制字与计数初值后,每到10ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端OUT1输出1s,向CPU申请中断,由8255控制一个数码管显示,当计数到60s时,则输出端OUT2向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h.CPU处理,使数码管的显示发生变化。
电子时钟的显示格式HH:
MM:
SS由左到右分别为时、分、秒,并依次对秒、分、小时寄存器的内容加一,六个数码管动态显示时、分、秒的当前值。
最大记时23:
59:
59超过这个时间时分秒位都清零从00:
00:
00重新开始。
8253芯片介绍
8253芯片
8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
8255芯片介绍
8255特性:
①一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.
②具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.
8255引脚功能:
RESET:
复位输入线,CS:
芯片选择信号线,RD:
读信号线,WR:
写入信号,D0~D7:
三态双向数据总线,PA0~PA7:
端口A输入输出线,PB0~PB7:
端口B输入输出线,PC0~PC7:
端口C输入输出线,A0,A1:
地址选择线
三:
程序流程图
三、电子表原理图:
四:
程序代码
D8279equ200H
C8279equ202H
C8253equ20bH
D82530equ208H
D82531equ209H
C82590equ210H
C82591equ211H
datasegment
HOURdb00
MINUTEdb00
SECONDdb008
STATdb00
LED
db31H,06H,5bH,4fH,66H,6dH,7dH,27H,7fH,6fH,00H,00H
DISBUFdb8dup(0)
dataends
stacksegmentstack
dw100dup(?
)
stackends
codesegment
assumecs:
code,ds:
data
START:
MOVAX,DATA
MOVDS,AX
CLI
MOVAL,13H
MOVDX,C82590
OUTDX,AL
MOVAL,8
MOVDX,C82591
OUTDX,AL
MOVAL,1
OUTDX,AL
MOVAX,0
MOVES,AX
LEAAX,INT0
MOVAX,CS
MOVES:
[4*8+2],AX
MOVDX,C8253
MOVAL,36H
OUTDX,AL
MOVDX,D82530
MOVAX,10000
OUTDX,AL
MOVAL,AH
OUTDX,AL
MOVDX,C8253
MOVAL,36H
OUTDX,AL
MOVDX,D82531
MOVAX,100
OUTDX,AL
MOVAL,AH
OUTDX,AL
MOVDX,C8279
MOVAL,00H
OUTDX,AL
MOVAL,34H
OUTDX,AL
MOVAL,0D2H
OUTDX,AL
MOVSTAT,0
MOVDX,C82591
MOVAL,0FEH
OUTDX,AL
WAIT1:
MOVDX,C8279
INAL,DX
MOVAH,AL
ANDAL,80H
JNEWAIT1
MOVAL,AH
ANDAL,0FH
CMPAL,00H
JEWAIT1
MOVAL,40H
OUTDX,AL
CHK:
MOVDX,D8279
INAL,DX
CMPAL,33H
JNEBBB
MOVDX,C82591
MOVAL,0FFH
OUTDX,AL
MOVAL,STAT
INCAL
MOVSTAT,AL
CMPAL,1
JNZAA1
MOVSI,OFFSETDISPBUF
MOVCX,4
MOVAL,00
BB0:
MOV[SI],AL
INCSI
LOOPBB0
CALLDISP
JMPCHK
AA1:
CMPAL,2
JNZAA2
MOVSI,OFFSETDISPBUF
MOVAL,00
MOV[SI],AL
INCSI
MOV[SI],AL
ADDSI,2
MOV[SI],AL
INCSI
MOV[SI],AL
CALLDISP
JMPCHK
AA2:
CMPAL,3
JNZAA3
MOVSI,OFFSETDISPBUF+2
MOVCX,4
MOVAL,00
BB1:
MOV[SI],AL
INCSI
LOOPBB1
CALLDISP
JMPCHK
AA3:
MOVSTAT,00
MOVAL,0FEH
MOVDX,C82591
OUTDX,AL
CALLFULLSFM
CALLDISP
JMPCHK
BBB:
CMPAL,3BH
JEBBB0
JMPCCC
BB0:
MOVAL,STAT
CMPAL,1
JNZBBB1
MOVAL,HOUR
ADDAL,1
DAA
MOVHOUR,AL
CALLFULLSH1
CALLDISP
JMPBBB
BBB1:
MOVAL,STAT
CMPAL,2
JNZBBB3
MOVAL,MINUTE
ADDAL,1
DAA
MOVMINUTE,AL
CALLFULLFEN
CALLDISP
JMPBBB
BBB3:
MOVAL,STAT
CMPAL,3
JZBBB4
JMPDDD
BBB4:
MOVAL,SECOND
ADDAL,1
DAA
MOVSECOND,AL
CALLFULLMIAO
CALLDISP
JMPBBB
CCC:
CMPAL,3AH
JECC0
JMPDDD
CC0:
MOVAL,STAT
CMPAL,1
JNZCCC1
MOVAL,HOUR
SUBAL,1
DAS
MOVAL,HOUR
SUBAL,1
ADDAL,1
DAA
MOVSECOND,AL
CMPAL,60H
JNZFANHUI
MOVSECOND,0
MOVAL,MINUTE
ADDAL,1
DAA
MOVMINUTE,AL
CMPAL,60H
JNZFANHUI
MOVMINUTE,0
MOVAL,HOUR
ADDAL,1
DAA
MOVHOUR,AL
CMPAL,24H
JNZFANHUI
MOVHOUR,0
CALLFULLSFM
CALLDISP
POPSI
POPDI
POPBX
POPAX
IRET
FULLSFMPROCNEAR
LEADI,DISBUF
LEABX,LED
LEASI,SECOND
MOVCX,3
AA4:
MOVAL,[SI]
ANDAL,0FH
XLAT
MOV[DI],AL
INCDI
MOVAL,[SI]
PUSHCX
MOVCL,4
SHRAL,CL
ANDAL,0FH
XLAT
MOV[DI],AL
INCDI
POPCX
INCSI
LOOPAA4
RET
FULLSFMENDP
FULLSHIPROCNEAR
LEASI,DISBUF
MOVAL,0
MOVCX,4
CCC0:
MOV[SI],AL
INCSI
LOOPCCC0
LEABX,LED
MOVAL,HOUR
ANDAL,0FH
XLAT
MOV[SI],AL
XLAT
MOV[SI],AL
MOVAL,HOUR
MOVCL,4
SHRAL,CL
ANDAL,0FH
XLAT
INCSI
MOV[SI],AL
RET
FULLSHIENDP
FULLFENPROCNEAR
LEASI,DISBUF
MOVAL,0
MOV[SI],AL
INCSI
MOV[SI],AL
INCSI
LEABX,LED
MOVAL,MINUTE
ANDAL,0FH
XLAT
MOV[SI],AL
MOVAL,MINUTE
MOVCL,4
SHRAL,CL
ANDAL,0FH
XLAT
INCSI
MOV[SI],AL
RET
FULLFENENDP
FULLMIAOPROCNEAR
LEASI,DISBUF
LEABX,LED
MOVAL,SECOND
ANDAL,0FH
XLAT
MOV[SI],AL
MOVAL,SECOND
MOVCL,4
SHRAL,CL
ANDAL,0FH
XLAT
INCSI
MOV[SI],AL
MOVAL,0
INCSI
MOV[SI],AL
INCSI
MOV[SI],AL
INCSI
MOV[SI],AL
INCSI
MOV[SI],AL
RET
FULLMIAOENDP
DISPPROCNEAR
MOVCX,8
MOVDX,D8279
LEASI,DISBUF
DISI
MOVAL,[SI]
OUTDX,AL
INCSI
LOOPDISI
RET
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 电子 时钟