基于51单片机的转速表系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1.前言 (1)
2 智能转速表的系统设计 (1)
2.1 系统硬件设计 (1)
2.1.1方案选择 (1)
2.1.2仪器各部分组成 (2)
2.2 系统软件设计 (3)
3 设计原理 (5)
3.1转速计算及误差分析 (5)
3.2转速测量 (6)
3.2.1门控方式计数 (6)
3.2.2中断方式计数 (7)
3.3串行显示接口 (7)
4 软件程序的设计 (8)
4.1 1s定时 (8)
4.2 T1计数程序 (8)
4.3 频率数据采集 (9)
4.4 进制转换 (10)
4.5 数码显示 (13)
5 软件设计总体程序 (15)
6 总程序调试 (21)
7 心得体会 (21)
参考文献 (22)
1.前言
单片微型计算机简称单片机,又称为微控制器(MCU)是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。单片机在我国大规模的应用已有十余年历史,单片机技术的研究和推广正方兴未艾。
MSC-51系列单片机是国内目前应用最广泛的一种8位单片机之一。经过20多年的推广与发展,51系列单片机形成了一个规模庞大、功能齐全、资源丰富的产品群。随着嵌入式系统、片上系统等概念的提出和普遍应用,MCS-51系列单片机的发展又进入了一个新的阶段。
我们使用的89C51单片机是目前各大高校及市场上应用最广泛的单片机型.其内部包含: 一个8位的CPU;4K的程序存储空间ROM;128字节的RAM数据存储器;两个16位的定时/计数器;可寻址64KB外部数据存储器和64KB外部程序存储器空间的控制电路;32条可编程的I/O线;具有两个优先级嵌套的中断结构的5个中断源。
本次课程设计便是设计一个基于89C51单片机转速表系统。要求进行电路硬件设计和系统软件编程,硬件电路要求动手制作并能够完成系统硬件和软件调试。
2 智能转速表的系统设计
2.1 系统硬件设计
2.1.1方案选择
由于单片机所具有的特性,它特别适用于各种智能仪器仪表,家电等领域中,可以减少硬件以减轻仪表的重量,便于携带和使用,同时也可能低存本,提高性能价格之比。
该转速表选用MCS-51系列单片机的8031芯片,外部扩展4KB EPROM和8155作为显示器的接口。该系统的整体结构框图见下图2.1所示:
图2.1智能转速表总结构流程图
2.1.2仪器各部分组成
(1)传感器
传感器为红外光电式传感器。其中一个发光二极管发出红外波长的光,可不受室内自然光的影响,此光照到旋转物体上反射回后,被光敏三极管接收。光敏三极管接受到此信号后,经放大,整形转换为矩形脉冲信号送入MCS-51单片机的外部中断输入端INTO和INT1上。
(2)键盘
键盘由功能键,数字键,存入键,取出键,单双键路选择键,启动停止键等组成。为了减少键的数目,以减少故障率,采用了一键多用的复用键方案,但软件相对复杂一些。
键盘于8031的P1口直接相连,以加快对键盘的扫描速度。也可以用8155等芯片作为键盘的输入接口,但扫描速度比前者慢一些。
(3)显示器
8个LED数码管作显示器,它通过可编程并行I/O接口芯片8155与8031相连。8155
的A口通过反相驱动(75452或7406)作为显示器位选口;B口通过同相驱动器(7407)作显示器段选口。
在进行不同测量时,除在LED显示器上以英文字母提示外,在运行过程中还以不同的发光二极管指示测量的内容。发光二极管由8155的C口驱动。
(4)程序存储器
系统的监控程序和运算处理程序存放在外接4K字节的EPROM2732中。
(5)数据存储器
数据存储器由8031片内的低128字节和8155内部256字节的RAM组成.8031的内部RAM主要用于堆栈,工作寄存器,显示缓冲器,各测量参数的计算缓冲器和标致位等。而8155内部的RAM除上部4个单元外,全部用于存放转速和线速度值,其存储空间划分如图2-2所示,共分为三组,每组84个单元,可存入42个16位二进制数据,即42个4位16进制数据。如下图2.1为外部RAM存储器空间划分图。
图2.1 外部RAM存储器空间划分
2.2 系统软件设计
系统监控程序的主程序流程框图见图2.2系统软件采用模块式结构,由主程序及多个功能模块子程序组成,可使程序清楚,易编易读,便于调试和修改。
图2.2监控主程序流程图
主程序的任务是对8031单片机初始化,如设置堆栈,预置各定时器的控制字,初始化显示缓冲区,8155的初始化,设置标致位,清内存等;然后显示开机初始化状态,扫描键盘,根据按下键的功能各自的功能操作。
3 设计原理
3.1转速计算及误差分析
根据转速,周期,频率之间的关系可知:
60
n T = (3-1) 1
f T
= (3-2)
C T NT = (3-3)
式中, n —被测转速,r/min; T -转速信号周期,s; f -转速信号频率,Hz;
C T -计算计数脉冲的周期,又称时基,4C T s μ=. 将式(3-3)代入式(6-1),可得:
760
1.510/C
n N NT =
=⨯ (3-4) 用十六进制数表示,为: (410)/()H H n E E C N =
式中N 已存入75H,74H,73H 单元。利用除法子程序,即可求出转速。
下面计算系统得相对误差。 分别对式(3-1)和(3-3)求微分
2
60T
n nf T T
∆∆==∆ (3-5) C T NT ∆=∆ (3-6)
将式(3-6代入(3-5),可得:
C n
f NT n
∆=∆ (3-7) 式中,N ∆为量化误差,1N ∆=±个计数脉冲,又已知时基4C T s μ=,故
4n
f s n
μ∆=±⨯ (3-8) 由式(3-8)可知,相对误差与频率成正比,即相对误差随转速得升高而升高。因此,为了提高测量精度,高转速时需要连续测量数个周期。