主题:求助高手:课程设计电子秒表
最近忙于各种考试,不合理的课程设计又催得急,老师基本上又不答疑。根本没法完成,求各位大大在有时间的情况下帮我一把,大恩不言谢啊!
题目 电子秒表模拟程序设计
一、设计目的:掌握定时/计数器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
题目 电子秒表模拟程序设计
一、设计目的:掌握定时/计数器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