- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术课程设计--实时钟显示与定时控制设计
《微机接口技术课程设计》
设计报告
题目:实时钟显示与定时控制设计
专业: 电子信息工程
班级: XXXXXXX
学号: XXXXXXXXX
姓名: XXX
指导老师: XXX
设计时间:2013 年 6 月19日到 2013年 6月 25 号
1.设计任务说明
通过本课程设计,综合应用接口技术各汇编语言程序设计技术,在PC机上实现时钟显示、定时和响铃,以提高接口、汇编技术的应用能力。
2. 总体设计
(1). 利用BIOS 和DOS 的系统功能调用,能将计算机系统的日期和时间读出并显示出来。
(2). 用“时:分:秒” (都是两位)的形式连续显示系统时间。
(3).利用定时接口芯片每秒钟响一次铃。
(4). 提示输入定时时间(即定时秒数),每经历指定的秒数,则演奏乐曲。
3. 详细设计
模块描述:
⑴.利用定时中断实现时钟显示。
当产生定时中断时(由8259A的IRQ0引起),CPU转入BIOS的08H号中断处理程序,在该中断处理程序中是一条软中断指令“INT 1CH”,而在该软中断程序中只有一条IRET指令,这样系统每秒钟产生18.2次定时中断,调用18.2次INT 1CH,这为开发者提供了一个编写与时间有关的程序的软中断接口,上例的定时响铃就是借用这个软接口实现的。其具体操作如下:
①在时钟显示程序,截获1CH号中断,在新的1CH中断处理程序安排一个计数器,记录调用的次数,每18次(约一秒钟)显示一次当前时间。
②利用BOIS的1AH号中断的0号功能,读取当前计时器的数值:
入口参数:AH=02H
执行: INT 1AH
出口参数:AL=午夜信号,CH=时的BCD码,CL=分的BCD码,DH=秒的BCD码
③利用BIOS的10H号中断的13H号功能,实现在屏幕的右上角显示时间。
④在主程序中要保存原1CH号中断的中断向量,并设置新的时钟显示中断程序的中断向量,然后作其它工作,如调用BIOS的键盘中断INT 16H的0号功能,等待用户按键盘,也就是等待中断的发生,并在屏幕右上角显示时间……,当用户按键后,主程序工作完成后,恢复原1CH中断向量。
⑵.在定时中断发生时同时调用发声程序实现响铃。
发声程序用定时器驱动扬声器方式,这是直接利用8253/8254定时器产生声音的一种方法。
定时器2的GATE2与8255A的端口61H的PB0相连,当PB0=1时,GATE2获得高电平,使定时器2可以在模式3(方波)下工作。定时器2的OUT2与端口61H的PB1通过一个与门与扬声器的驱动电路相连,如下图所示。当PB1=1时,允许OUT2输出的频率信号到达扬声器电路。
定时器驱动扬声器方式发声原理
定时器2输出的方波频率取决与初始化定时器时提供的计数初值,即对CLK2端的计数脉信号的分频系数。加在CLK2端上的频率为赫之=12348CH赫之,送入定时器2的计数初值为:12348CH÷发声频率。
流程图:
主程序流程图:
中断程序:
4.程序及说明
count_val=18 ;间隔数(约为一秒)
dpage=0 ;显示页码数
row=0 ;显示行号
column=70-buff_len ;显示开始列号
column1=70-buff_len1 ;显示日期的开始列号
color=07h ;字体颜色
.286
.model small
.code ;为方便程序驻留内存,把中断处理程序放在主程序之前
;下面是1CH中断处理程序使用的变量
count dw count_val ;“滴答”间隔计数器
hhhh db ?,?,: ;小时的定义
mmmm db ?,?,: ;分的定义
ssss db ?,? ;秒的定义
buff_len=$-offset hhhh ;显示时间字长
xxxx db ?,? ;年高两位的定义
yyyy db ?,?,\ ;年低两位的定义
zzzz db ?,?,\ ;月定义
rrrr db ?,? ;日定义
buff_len1=$-offset xxxx ;显示日期字长
curs
文档评论(0)