最近忙于各种考试,不合理的课程设计又催得急,老师基本上又不答疑。根本没法完成,求各位大大在有时间的情况下帮我一把,大恩不言谢啊!
题目 电子秒表模拟程序设计
一、设计目的:掌握定时/计数器8253和中断的使用。
二、设计任务:编写汇编程序,在PC机上完成电子秒表功能。
三、设计要求
1、基本要求:
1)设计可以显示1~60秒的无存储功能的秒表,最小单位为毫秒。
2)通过按键控制秒表清零、暂停、继续,退出等。
2、提高要求:
1)秒表可以分组存储、批量显示、倒计时等。
2)采用图像显示,界面精美,设置报警声等
四、设计内容
1、用系统8253定时器提供的55ms定时单位,设计秒表定时程序。
2、有关系统定时方法:
PC机系统中的8253定时器0工作于方式3,外部提供一个时钟作为CLK信号,
频率:f=1.1931816MHz。
定时器0输出方波的频率:fout=1.1931816/65536=18.2Hz。
输出方波的周期Tout=1/18.2=54.945ms。8253A每隔55ms引起一次中断,作为定时信号。可用55945ms作基本计时单位。
用BIOS调用INT 1AH可以取得该定时单位。例:1秒=18.2 (计时单位)
3、设计报告:
1)方案选择和分析;
2)主要设计思路及工作原理;
3)画出硬件接线图;
4)调试出现的问题及解决方法;
5)运行效果及改良措施;
6)提交程序清单。
五、编程提示
1、分析:由于系统定时器8253每秒中断18.2次,利用INT 1AH/00H取得中断次数(DX),得到54.945ms的定时单位。
2、设计:
1)1秒需要1000/54.945=18.2个计时单位
2)用INT 21H/02H模拟显示60秒的变化
3)少量存储可用堆栈方式,初始时清零
4)分组存储时可开辟合适存储区,顺序存储
六、参考资料
INT 1AH 时钟中断调用
功能号  功能说明  调用参数  返回参数  
00  读时钟计数    CX,DX=计数器值  
01  置时钟计数  CX,DX=计数器初值  CF=0成功;CF=1失败  
02  读实时时钟    CH=小时;CL=分;DH=秒  
INT 16H 键盘I/O中断调用
功能号  功能说明  调用参数  返回参数  
00  读键盘输入    AH=键盘扫描码;AL=字符ASCII码  
01  测试键盘有无输入    ZF=1无;ZF=0有AH=扫描码;AL=字符ASCII码  
03  设置键盘速度和延时  AL=05;BH=延迟值(ms);BL=击键速度(char/s)    
INT 10H 显示中断功能调用
功能号  功能说明  调用参数  返回参数  
2  置光标位置  BH=页号;DH=行;DL=列    
3  读光标位置  BH=页号  CH=光标开始行;CL=光标结束行;DH=行;DL=列  
        
INT 21H 系统功能调用
功能号  功能说明  调用参数  返回参数  
01  键盘输入字符,回现    AL=键入字符ASCII码  
02  显示字符  DL=显示字符的ASCII码    
09  显示字符串  DS:DX=字符串首地址    
2C  取时间    CH:CL=时:分 DH:DL=秒:1/100秒  
4C  终止程序返回  AL=返回代码00