周期测量Word格式.docx
- 文档编号:19712168
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:15
- 大小:107.25KB
周期测量Word格式.docx
《周期测量Word格式.docx》由会员分享,可在线阅读,更多相关《周期测量Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
此次课程设计目的主要是在学完单片机原理和课程之后综合运用所学知识完成一个单片机应用,培养综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解。
同时此次课程设计是需要我们两个同学共同完成的,所以能锻炼我们的团队意思。
一、程序设计要求
利用单片机AT89C51单片机的T0、T1的定时/计数功能及4位LED数码管,完成对待测信号的周期进行测量,测量的结果显示在四位数码管上,并达到相应的技术指标要求。
设计要求的技术指标有:
1、输入脉冲幅度:
0-5v
2、周期量测量范围:
0.1ms—50ms
3、测量精度:
正负1%
4、显示方式:
四位数字显示
二、工作原理
将T0设为定时器方式工作,TH0.TL0初值置零。
在该方式时,TH0.TL0对内部脉冲计数(内部脉冲周期1us)。
将待测信号从P3.2引入,外中断0开放并设为边沿触发方式。
每来一个待测脉冲,外部中断一次。
在外中断0的中断服务程序中,读取TH0.TL0的值并存放在内存中的周期单元中,该值即为周期(单位us)。
随后将TH0.TL0清零,以便下一周期的测量。
三、硬件电路设计
3.1总体框图
图2.1总体框图
从P3.2脚引入矩形脉冲信号,利用89C51外部中断0下降沿向CPU发出中断,读取TH0、TL0的计数值,该值就是待测矩形脉冲的周期(单位us)。
随后清零TH0和TL0,以便下一个周期的测量。
如图2.1所示
3.2硬件电路图
图3.2硬件接线图
3.2.1信号源的产生
信号源电路由RC振荡器构成,电阻选510欧姆,电容选择1.0uf,,产生矩形波后通过非门整形,非门由与非门74LS00构成,实际电路中用到四个与非门,使得整形更好,波形更稳定。
根据公式T=2.2*RC,计算可得周期为1.122ms。
3.2.2单片机
单片机使用12M的晶振,晶振和C2、C4组成振荡器,使单片机内部产生产生周期为1us的脉冲信号。
如图:
3.2.3数码管显示
采用的为共阴极。
P0口来送段选信号,P0口内部并没有带上拉电阻,在接收数码管时需要在两者之间加一排阻,降低电流来保护P0口。
利用了P2.4~P2.7来送位选信号即哪一个数码管来亮,且送低电平时有效,数码管用动态显示的方式来显示测量的周期值。
在单片机与数码管之间我们采用了7407来驱动,7407为位6输入高压缓冲器。
即P2.4~P2.7哪一个位输出为0时,则选中相应的数码管显示。
共阴7段LED显示器显示原理:
引脚数
数字
.P0.7
h
P0.6
c
P0.5
d
P0.4
e
P0.3
g
P0.2
f
P0.1
a
P0.0
b
数码显示
(不带小
数点)
1
77H
41H
2
3BH
3
6BH
4
4DH
5
6EH
6
7EH
7
43H
8
7FH
9
6FH
带小数点的数码显示:
0F7H,0C1H,0BBH,0EBH,0CDH,0EEH,0FEH,0C3H,0FFH,0EFH
四、软件程序设计
4.1流程图
4.1.1主流程图
图2.3主程序流图
4.1.2外部中断0服务程序流程图
图2.4外中断0服务程序流程图
4.2程序功能描述
ORG0000H
AJMPMAIN
ORG0003H
AJMPINTR_0;
外部中断低电平触发处理
ORG0033H
MAIN:
MOVSP,#60H
MOVTMOD,#01H;
计数器T0工作在方式1
MOVTH0,#00H
MOVTL0,#00H;
计数器TO清零
SETBTR0;
T0允许计数且当外部中断输入为高时计数外部中断0为边沿触发
SETBIT0
MOVIE,#81H;
开总中断外部中断0
LOOPS:
LCALLDELAY
LCALLBCD;
二进制转十进制
LCALLUSBCD;
压缩BCD码,转非压缩BCD码
LCALLLEDS
LCALLDELAY
LCALLLEDS
AJMPLOOPS;
循环处理显示
INTR_0:
MOV41H,TH0
MOV40H,TL0;
将计数器T0中的数转移到40H,41H中]
MOVA,#00H
MOVTH0,A
MOVTL0,A;
重新将定时器T0清零
RETI
BCD:
CLRA;
将41H40H中的数值转换成BCD码分别按高低存储在34H35H36H中
MOV38H,41H
MOV37H,40H
MOV34H,A
MOV35H,A
MOV36H,A
MOVR7,#10H
LOOPS1:
CLRC
MOVA,37H
RLCA
MOV37H,A
MOVA,38H
MOV38H,A
MOVA,36H
ADDCA,36H
DAA
MOVA,35H
ADDCA,35H
MOVA,34H
ADDCA,34H
DJNZR7,LOOPS1
RET
USBCD:
MOVA,34H
CJNEA,#00H,PD;
判断第五位数值是否为0为零则按四位有效值处理不为零按5位有效值处理
MOVR1,#35H;
当有4位有效效值时取后四位显示小数点加在第一位
MOVR0,#36H;
显示的是以ms为单位的
XCHDA,@R0;
将36H中的低4位转换为非压缩BCD码存到30H
MOV30H,A
MOVA,@R0
SWAPA
MOV31H,A
XCHDA,@R1
MOV32H,A
MOVA,@R1
ADDA,#00H;
加小数点显示(如果显示us为单位可以不加小数点)
MOV33H,A
RET
PD:
MOVR1,#34H;
当有5位有效值时取前四位显示小数点加在第二位
MOVR0,#35H
XCHDA,@R0
MOV31H,A
MOVA,@R0
ADDA,#0AH;
加小数点显示
MOV32H,A
XCHDA,@R1
ANL36H,#0F0H
MOVA,36H
LEDS:
MOVDPTR,#TAB;
显示千位
MOVA,33H
MOVCA,@A+DPTR
MOVP0,A
MOVA,#0F7H;
位选信号第一个数码管
MOVP2,A
LCALLDELAY
显示百位
MOVA,32H
MOVP0,A
MOVA,#0FBH;
位选信号第二个数码管
显示十位
MOVA,31H
MOVCA,@A+DPTR
MOVA,#0FDH;
位选信号第三个数码管
显示个位
MOVA,30H
MOVA,#0FEH;
位选信号第四个数码管
RET
DELAY:
MOVR7,#0CH;
延时程序
DELA:
MOVR6,#0C0H
DJNZR6,$
DJNZR7,DELA
TAB:
DB77H,41H,3BH,6BH,4DH,6EH,7EH,43H,7FH,6FH
DB0F7H,0C1H,0BBH,0EBH,0CDH,0EEH,0FEH,0C3H,0FFH,0EFH
NOP
END
五、调试与分析
5.1硬件调试
硬件调试是利用万用表和示波器等,检查系统硬件中存在的故障。
1:
目测,检查外部的各种元件或者是电路是否有断点。
2:
用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
3:
加电检测。
(1)取稳压电源打开电源,检查电源的输出电压是否为5V,可通过观察电源的量程及指针的读数来判断或用万用表测量。
(2)在确定输出电压正确的情况下,接好电路,用一根导线从地引出,接到P3.2口;
再用另一根线从地引出分别接到P2.0、P2.1、P2.2、P2.3口,观察数码管的亮灭情况。
5.2软件调试
在LCA51编译器下进行汇编程序的编写,先做几个实验,编写小程序,一个一个的进行编译与仿真,检查电路以及数码管是否能正常工作。
最后结全电路板,进行整个电路的调试。
六、结果分析
根据T=2.2RC算的理想数值为1.122ms,用示波器测得的矩形波的周期为1.288ms,数码管显示的是:
1.286ms,结合三组数据可看出:
(1.288-1.285)/1.288=0.21%
满足精度要求。
但数码管显示会闪烁。
主要原因:
1、RC电路中电阻、电容参标值和实际存在差值;
2、电路板是手工焊接,接线电阻也影响数码管的显示3、信号源部分因为不稳定输入造成数码管显闪烁。
七、课程体会
经上学期对单片机的各个指令功能,寻址方式,程序设计方法有了初步了解。
但毕竟课本上的只是理论。
这次课设我的任务是外部输入脉冲周期的测量,科设的题目综合性很强,用到了外部中断0,定时器T1的方式1,数制转换,数码管显示等。
平时学习时我们都学到了各子模块的程序,到真正将他们综合起来去控制实验箱还是第一次。
首先在编写程序时我们就遇到了很大的困难,编写程序需要有一个冷静的头脑,心浮气躁是不行的。
遇到困难时更是要心平气和,细致思考。
幸运的是在我们小组激烈讨论,老师细心指导下我们顺利完成了课设。
最终的程序由主程序,中断服务子程序(启动定时功能),显示子程序,数制转换,压缩BCD码转换成非压缩BCD码,延时程序六个模块组成。
在对程序的宏观理解基础上,细微处理决定成败。
课设让我对单片机软件与硬件结合有了一定的了解,也激发了我学习这门课的热情,同时我也认识到现在知道的单片机知识远远不够,要想要将所学运用到实际工作中还需刻苦努力钻研,大量实践。
在以后的学习中我一定注意这方面的练习。
本系统是以单片机89C51芯片为核心部件,通过89C51芯片内部软件计数来测量脉冲周期的功能。
此次在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于脉冲周期测量这方面的知识。
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统结合过程,以及在常用编程设计思路技巧(特别是汇编语言C51语言)的掌握方面都能向前迈了一大步。
此次设计是很有意义的,是提高学习效率和学习积极性的一种很有效的途径,这个过程中,我花费了很多的时间和精力,更重要的是,我在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。
同时在此次课程设计中还运用到以前学过的知识,虽然过去从未独立应用过他们,但在学习的过程中带着问题去发现效率很高,这是我在课程设计中的又一次收获。
参考文献
[1].胡辉、李叶紫,单片机原理与应用[M],中国水利水电出版社,2007
[2].徐惠民,安德宁.单片微型计算机原理接口与应用第1版[M].北京:
北京邮电大学出版社,1996
[3].张友德.单片机微型机原理、应用与实验[M].上海:
复旦大学出版社,2006
[4].《单片机原理与应用课程设计指导书》江苏技术师范学院电气信息工程学院,2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 周期 测量