网站大量收购闲置独家精品文档,联系QQ:2885784924

微机原理与接口技术课程设计--实时钟显示与定时控制设计.doc

微机原理与接口技术课程设计--实时钟显示与定时控制设计.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档