电子秒表微机课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计名称:电子秒表
系:
学生姓名:
班级:
学号:
成绩:
指导教师:
开课时间:2013-2014 学年 1 学期
目录
一、设计题目-------------------------------------------------------------3
二、主要内容-------------------------------------------------------------3
三、基本要求-------------------------------------------------------------3
四、设计原理与硬件电路----------------------------------------------3
五、程序流程图---------------------------------------------------------11
六、程序代码-------------------------------------------------------- ---12
七、程序运行结果------------------------------------------------------19
八、进程安排------------------------------------------------------------21
九、心得收获------------------------------------------------------------21
十、成绩评定------------------------------------------------------------22 十一、参考资料---------------------------------------------------------22
一、设计题目
电子秒表
二、主要内容
设计一个可任意启动/停止的电子秒表,要求用6位LED数码显示,计时单位为1/100秒。利用功能键进行启/停控制。其功能为:上电后计时器清0,当第一次(或奇数次)按下启/停键时开始计数。第2次(或偶数次)按下该键时停止计时,再一次按启/停键时清零后重新开始计时。可用开关控制,也可用按键控制。
三、具体要求
1)设计可以显示1~60秒的无存储功能的秒表,最小单位为毫秒。
2)通过键盘按键控制秒表清零、暂停、继续,退出等。其中数字0控制
清零,数字1控制继续和退出。
3)秒表可以分组存储、批量显示。
四、设计原理与硬件电路
1、整体设计思想
使用8253工作在方式0计数,对1/100S计数,并讲计数值写入bl中并与100比较若不相等,则将计数值装换为10进制后送8255控制端显示,如相等则1S计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则1min计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则计数程序加1之后产生溢出,跳转清零程序将计数清零,同时数码管清零。
2、使用各芯片的作用及工作原理
1)定时器/计数器8253
用系统8253定时器提供的55ms定时单位,设计秒表定时程序。
有关系统定时方法: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 (计时单位)
8253的引脚图及硬件连接图如下图示:
8253引脚图硬件连接图
当A1A0分别为00 01 10 11时分别选中三个通道和控制字寄存器在80 88系统中,8088的A1A0分别与8253的A1A0相连在8086系统中,通常将8 253的8位数据线与8086的低8位相连,即使用偶地址,所以8086的A2A1分别与8253的A1A0相连。计数器(0 ~ 2)即三个计数器/定时器通道。每个通道包括:8位控制字寄存器、16位计数初值寄存器、减一计数器和输出锁存器。作定时器用:其CLK端上的输入脉冲应是标准的、精确的;作计数器用:对其CLK端上的脉冲计数,脉冲宽度可以不等。采用减一计数器,为0时,从OUT端上输出一个脉冲定时时间 = 时钟脉冲周期X预置的计数初值。
控制功能表
CS RD WR A1A0功能
0 1 0 0 0 写计数器0
0 1 0 0 1 写计数器1
0 1 0 1 0 写计数器2
0 1 0 1 1 写控制字寄存器
由于8253的读/写操作对系统时钟没有特殊的要求,因此它几乎可以应用与由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等。
8253是一片具有三个独立的16位计数器通道的可编程定时器/计数器芯片。每个通道都可以编程设定3种工作方式之一种;8253由以下几个部分组成:
(1) 数据总线缓冲器(8位、三态、双向);
(2) 读/写控制逻辑;CS:片选信号,低电平有效;
RD:读信号,低电平有效;
WR:写信号,低电平有效
A1A0:端口选择信号
(3) 三个通道( 0~2),由A0,A1控制选择;
(4) 一个控制寄存器;