电子跑表设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计说明书
电子跑表设计
系、部:电气与信息工程系
学生姓名:成高强
指导教师:廖代文职称教师专业:电气自动化技术
班级:电气0901班
完成时间:2011-11-24
目录
一、系统总体方案选择与说明 (3)
1.设计要求 (3)
2.设计思路 (3)
二、系统结构框图与工作原理 (4)
1.硬件电路的设计方案 (4)
2.软件设计方案 (4)
3.工作原理说明 (5)
三、各单元硬件设计说明及计算方法 (5)
四、软件设计与说明(包括流程图) (9)
五、使用说明 (19)
1.系统说明 (19)
2.使用说明 (20)
六、学习体会 (20)
七、参考文献 (20)
八、附录:程序清单 (21)
一、系统总体方案选择与说明
1.设计要求:
要求以MCS-51系列单片机为核心设计一个多功电子表,具有电时钟和跑表功能。做时钟时在4位LED 显示器上显示分、秒,做跑表时显示范围000.0秒~999.9秒并具有跑表启动和跑表复位功能键。电子时钟的计时范围00分00秒59分-59秒,并在4位LED 显示器上显示;做跑表时显示范围000.0秒-999.9秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。
2.设计思路
1)计时单元由单片机内部的定时器/记数器来实现。
2)时间显示功能通过LED数码管动态扫描来实现。利用专用键盘/显示器接口芯片8279可实现对键盘/显示器的动态扫描,由于数码管要显示时钟,还要显示跑表,因此,我分别用31H、32 H计时钟,用R5、R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35 H、36 H 中,达到跑表显示与时钟显示互不影响。
3)表的启动/复位/清零功能由软件来实现。P1.0接启动键,P1.1接停止键,P1.2接清零键。
4)由于跑表和时钟的中断服务程序有冲突,我们就把跑表的中断服务程序写成另外的子程序了,这样就必须要引入标志位了,我们在此用42H 标志位,用标志位来给跑表计数。
二、 系统结构框图与工作原理
1.硬件电路的设计方案
根据设计要求和设计思路,硬件电路有两部分组成,即单片机按键电路,LED 显示器电路。图1 为硬件电路设计框图。
图1 硬件电路设计框图
2.软件设计方案
根据设计要求和设计思路,进行模块设计。8279的初始化
程序模块,时钟记时程序模块,数制转换模块,显示模块,跑表工作模块。图2为软件设计框图。
图2 电子跑表软件设计的模块
MC51 8279 LED 显示电路
按键电路 主程序模块
8279初始化模块 时钟记时模块 数制转换模块
显示模块
跑表工作模块
3.工作原理说明
利用T0定时器定时100ms,即0.1s,用R5 R6作为跑表的计算器,用R7作为时钟计数器。判断SRART键是否按下,若按下,则建立标志F0=1,同时将R5 R6单元清零;否则F0=0。
在T0中断服务中,判断F0,若F0=0,则用软件计数器R7计数;
若F0=1,则在R7计数同时,还要用软件R5 R6计数。
中断返回后,判断F0,若F0=0,即作为时钟使用时,则R7=10为一秒,60秒则清零。若F0=1,即作为跑表使用时,将R5 R6的值进行十进制调整,即为跑表显示值,到9999则R5 R6清零,重新开始计数。若STOP键按下,则R5 R6停止计数。在跑表停止状态下,则返回显示当前时间。
三、各单元硬件设计说明及计算方法
1.在单片机中,定时功能既可以由硬件(定时/记数器)实现,也可通过软件定时实现。硬件定时是利用单片机内定时器定时,启动以后定时器可与CPU并行工作,不占用CPU时间,CPU有较高的工作效率。采用硬件定时和软件定时并用的方式,即用T0出中断功能实现50ms定时,通过软件延时程序实现1s定时。.定时器的有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0~3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
2.8279是通用的可编程键盘/显示器接口芯片,可实现对键盘/显示器的自动扫描,不仅可以大大节省CPU对键盘/显示器的操作时间,从而减轻CPU的负担,而且显示稳定,程序简单,不会出现误动作。
8279具有8个先进先出的的键输入缓冲RAM单元,并提供16字节的缓冲RAM。8279将段码写入显示缓冲RAM,8279自动对显示器扫描,将其内部显示缓冲RAM中的数据在显示上显示出来。
CUP通过对8279编程(将命令字写入8279)来选择其工作方式,简述如下:
1)键盘/显示器方式设置命令字
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 D D K K K
高三位D7D6D5位为特征位000,D4D3两位用来设定显示方式,其定义如下:
D4 D3 显示器方式
0 0 8个字符显示—左边输入
0 1 16个字符显示—左边输入
1 0 8个字符显示—右边输入
1 1 16个字符显示—右边输入
8279最多可用来控制16位LED显示器,当显示位数超过8位时,均需设定为16为字符显示。显示器的每一位对应一个8位的显示缓冲RAM 单元CPU将显示数据写入缓冲器时有左边输入和右边输入。左边输入是较简单的方式,地址为1-15的显示缓冲RAM单元分别对应显示器的1(左)位-15(右)位。CPU依次从0地址或某一个地址开始将段数据写入显示缓冲RAM。
D2D1D0为键盘工作方式选择位,如下表:
D2 D1 D0 键盘工作方式
0 0 0 编码扫描键盘,双键锁定
0 0 1 译码扫描键盘,双键锁定
0 1 0 编码扫描键盘,N键依次读出
0 1 1 译码扫描键盘,N键依次读出
1 0 0 编码扫描传感器矩阵
1 0 1 译码扫描传感器矩阵
1 1 0 选通输入,编码扫描显示器方式
1 1 1 选通输入,译码扫描显示器方式