单片机课程设计之脉冲周期的测量_第1页
单片机课程设计之脉冲周期的测量_第2页
单片机课程设计之脉冲周期的测量_第3页
单片机课程设计之脉冲周期的测量_第4页
单片机课程设计之脉冲周期的测量_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一. 概 述 3二、课程设计的目的及具体要求 4三、总原理图及硬件资源分配 43.1 复位电路3.2 时钟电路3.3 信号源的产生3.4 数码管的显示电路3.5 单片机3.6 总体框图四、单元电路设计与参数计算 74.1 总程序框图4.2 单元电路设计4.3 单元程序模块4.4 参数计算五、程序清单12六、软硬件的调试15七、心得体会15八.致谢 16九、参考文献1617十、附件概述近年来随着科技的飞速发展,单片机的应用正在不断地走向深 入, 同时带动传统控制检测日新月益更新, 目前单片机渗透到我们生活的各个领域, 几乎很难找到哪个领域没有单片机的踪迹。 计算机的网络通讯与数据传输, 工业

2、自动化过程的实时控制和数据处理, 广泛使用的各种智能ic 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。科技越发达,智能化的东西就越多, 使用的单片机就越多。 在实时检测和自动控制的单片机应用系统中, 单片机往往是作为一个核心部件来使用, 仅单片机方面知识是不够的, 还应根据具体硬件结构, 以及针对具体应用对象特点的软件结合,加以完善。本系统采用单片机at89c51 为中心器件来设计脉冲宽度测量器,系统实用性强、操作简单、 扩展性强。在现有的单片

3、机仿真机系统上掌握相关软硬件设计与调试知识, 根据所选择题目, 焊接好硬件电路,正确进行元器件的测试与调试,并在计算机上编写汇编程序调试运行,并实现参考选题中要求的设计。、课程设计的目的及具体要求 目的:1、通过单片机课程设计,熟练掌握汇编语言的编程方法,巩固和加深“单片机 原理与应用”中的理论知识,将理论联系到实践中去,提高我们的动脑和动手的 能力。2、通过脉冲周期的测量的设计,掌握 at89c51定时/计数的使用方法,和简单 程序的编写,最终提高我们的逻辑抽象能力。具体要求:利用单片机at89c51单片机的t0、t1的定时/计数功能,完成对待测信号的周期进行测量,测量的结果通过 8位动态数

4、码管显示出来。设计要求的技术指标有:1、输入脉冲幅度:0-5v2、周期量测量范围:0.1ms 50ms3、测量精度:正负1%4、显示方式:四位数字显示三、总原理图及硬件资源分配3.1 复位电路mcs-51单片机的复位是由外部的复位电路来实现的。复位引脚rst通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期 的s5p2斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复 位操作所需要的信号。上电复位:上电复位电路是一种简单的复位电路, 只要在rst复位引脚接一 个电容到vcc接一个电阻到地就可以了。上电复位是指在给系统上电时,复位 电路通过电容加到rst复位引

5、脚一个短暂的高电平信号, 这个复位信号随着vcc 对电容的充电过程而回落,所以rst弓i脚复位的高电平维持时间取决于电容的充 电时间。为了保证系统安全可靠的复位,rst引脚的高电平信号必须维持足够长 的时间。电路图如下:上电自动复位是通过外部复位电路的电容 充电来实现的。只要vcc的上升时间不超过1ms, 就可以实现自动上电复位。+53.2 时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准, 有 条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的 质量也直接影响单片机系统的稳定性。 常用的时钟电路有两种方式:一种是内部 时钟方式,另一种为外部时钟方式。

6、本文用的是内部时钟方式。电路图如下:单片机使用12m的晶振晶振和c1、c2组成振荡器,使单片机内部产生产生周期为 1us的脉冲信号112mh 工%fmcs-51单片机内部有一个用于构成振荡器 的高增益反相放大器,该高增益反向放大器的输入 端为芯片引脚 xtal1 ,输出端为引脚 xtal2。这 两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。3.3 信号源的产生:信号源电路由rc振荡器构成,电阻选510欧姆,电容选择0.1uf,产生矩形波 后通过非门整形,非门由与非门74ls00构成,实际电路中用到四个与非门,使 得整形更好,波形更稳定。根据公式 t=2.2*rc ,计算可得

7、周期为112.2ms3.4 数码管显示电路led是由若干个发光二极管组成的。当发光二极管导通时,相应的一个点或一个笔划发亮。控制不同组合的二极管导通,就能显示出各种字符。这种笔划式 的七段显示器,能显示的字符数量少,但控制简单、使用方便。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显 小器。 这里我们采用的为共阴极。00 0 d : b cd e f其他一些字形的段选码如下表:赛示字疔我嗣嫌胜选r其阻崎投道出h示字寿我阴撮及盘网关附柳段选rq3fhcohc剑c6h106hf9hi d5eha1h25bha4he79h筋h34fhbohf71h4h4*h99h1 p73h

8、町h56dhwhu3ehc1h47dh82hrsihczh7tmrhy6eh91h87fhsoh2ffhooh96fh90hoohffha77h88hb?ch83h在我们设计的电路中由p0 口来送段选信号,p0 口内部并没有带上拉电阻,在 接收数码管时需要在两者之间加一排阻,降低电流来保护p0口。利用了 p2.7p2.4 来送位选信号即哪一个数码管来亮,且送低电平时有效,数码管用动态显示的方 式来显示测量的周期值。在单片机与数码管之间我们采用了3.5单片机7407来驱动,7407为位6输入高压缓冲器fl. 0 pl. 1 f1 . 2f1 . 3 f1. 4f1 . 5 f1,6p1. 7rs

9、t kkdzf3, 0txdp3- 1 iht0/f3. 2 inti zf3. 3t0/f3, 4 t1/f3. 5 叵pf3. 67 xtal2 htal1ghtpdifvccpo. 0 / ado po. 1 z adi po. 2/adz po. 3/ad3 fq.4/ad4 po. 5/ad5po. g/adg po. 7/ad 7 ea/vff ale/pedg peshp2. tza15p2, &/a14p2. 5/a13 p2. 47al 2 p2. 3/a1 1 p2. 2/al 0f2. izas f2. oz as3.6.总体框图四单元电路设计与参数计算4.1总程序框图4

10、.2单元电路设计本设计由单片机、测量控制电路、键盘及显示电路几个组成部分,各部分采用的电路形式及主要器件确定如下:(1)单片机部分否是卜一软计数in点是舌工脉冲导:百上升 沿到未单片机部分框图(2)测量电路部分直接利用单片机内部的定时/计数器实现频率的测量。测量电路框图显示部分:选用4个共阴极数码管显示,每个数码管的选通是由p2.7 p2.4来控每位点亮时间为2048us,采用延时子程序,有四个数码管,用扫描的方式显选用89c51作为主机,同时要设计89c51单片机的晶振电路和复位电路后止讨颗井常可 一 -就觉器lf蛀计敷 输出可效世开始1十般设定时初值为ogar的断定时锯初蛤化府初讨爆器i启

11、动定时募示,每一个时刻只选通一个数码管/、带小数09的数据带小数09的数据0177hf7h141hc1h23bhbbh36bhebh44dhcdh5 16eheeh67ehfeh743hc3h817fhffh96fhefh由于单片机显示的是 10进制的数,所以需要将 2进制数车t换为10进制数来显示二进制一十进制转换的流程图如下:因为有16位的二进制,故循环次数为16次,放在r7中。38h37h中的十六位二进制数转换为十进制后放在 34h35h36印元中4.3单元程序模块1 主程序如下所示:main: mov sp,#60hmov tmod,#01hmov th0,#00hmov tl0,#0

12、0hmov ie,#81h; 计数器 t0 工作在方式1; 计数器 to 清零; 开总中断 外部中断 0setb tr0 ;t0 允许计数且当外部中断输入为高时计数外部中断 0为边沿触发setb it0外中断 0 服务子程序如下:intr_0: mov 41h,th0mov 40h,tl0mov th0,#00hmov tl0,#00hqq:reti2 数码转换usbcd:mov a,34hcjne a,#00h,pd零按 5 位有效值处理; 将计数器 t0 中的数转移到 40h , 41h 中; 重新将定时器t0 清零; 判断第五位数值是否为 0 为零则按四位有效值处理不为pd:mov r0

13、,#36h mov a,#00h xchd a,r0 mov 33h,a xchd a,r0 swap amov 32h,a mov r1,#35h mov a,#00h xchd a,r1 mov 31h,a mov a,r1 swap a; 当有 4 位有效效值时取后四位显示小数点加在第一位;将 36h 中的低 4 位转换为非压缩bcd 码存到 33h4 位转换为非压缩bcd 码存到 32h35h 中的低 4 位转换为非压缩bcd 码存到 31hadd a,#0ahmov 30h,aretmov r0,#34hmov a,#00hxchd a,r0mov 30h,amov r1,#35hm

14、ov a,#00hxchd a,r1;加小数点显示(如果显示us 为单位可以不加小数点)4 位转换为非压缩bcd 码存到 30h;当有5位有效值时取前四位显示小数点加在第二位34h 中的低 4 位转换为非压缩bcd 码存到 30hmov 32h,a ;将 35h 中的低 4 位转换为非压缩bcd 码存到 32hmov a,r1swap aadd a,#0ah加小数点显示 (如果显示us 为单位可以不加小数点)mov 31h,a ;高 4 位转换为非压缩bcd 码存到 31hanl 36h,#0f0hmov a,36h将 36h 中的高 4 位转换为非压缩bcd 码存到 33hswap amov

15、 33h,aret4 数码管显示子程序leds:mov a,30hmov dptr,#tabmovc a,a+dptrmov p0,amov a,#7fhmov p2,alcall delaymov a,31hmovc a,a+dptrmov p0,amov a,#0bfhmov p2,alcall delaymov a,32hmovc a,a+dptrmov p0,amov a,#0dfhmov p2,alcall delaymov a,33hmovc a,a+dptrmov p0,amov a,#0efhmov p2,alcall delayret;位选信号第一个数码管;位选信号 第二个数

16、码管;位选信号 第三个数码管; 位选信号 第四个数码管5 延时程序delay: mov r7,#08hdela: mov r6,#80hdjnz r6,$djnz r7,delaret采用软件延时,延时时间为 8*128*2=2048us4.4 参数计算计算脉宽: d=1/f (输入信号频率) *2测量脉宽:d=+数值x tc (机器周期)(is), d (is) +1000- d (ms)五、 程序清单卜面的程序是本次课程设计的源程序:org 0000hajmp mainorg 0003hajmp intr_0;外部中断低电平触发处理org 0033hmain: mov sp,#60h mo

17、v tmod,#01h mov th0,#00h mov tl0,#00h mov ie,#81hsetb tr0 setb it0loops: lcall bcd lcall usbcd lcall leds lcall delay lcall leds lcall delay lcall leds lcall delay lcall leds lcall delay lcall ledslcall delay lcall leds lcall delay; 二进制转十进制;压缩 bcd 码,转非压缩bcd 码;循环处理显示lcall leds lcall delay lcall leds

18、lcall delay lcall leds lcall delay lcall leds ajmp loopsintr_0: mov 41h,th0mov 40h,tl0mov th0,#00hmov tl0,#00hgj:retibcd: clr a ;十进制转换,;将 41h 42h 中的数值转换成bcd 码 分别按高低存储在 34h 35h 36h 中mov 38h,41hmov 37h,40hmov 34h,amov 35h,amov 36h,amov r7,#10hloops1:clr cmov a,37hrlc amov 37h,amov a,38hrlc amov 38h,am

19、ov a,36haddc a,36hda amov 36h,amov a,35haddc a,35hda amov 35h,amov a,34haddc a,34hda amov 34h,adjnz r7,loops1retusbcd:mov a,34hcjne a,#00h,pdmov r1,#35hmov r0,#36hmov a,#00hxchd a,r0mov 30h,a mov a,r0 swap amov 31h,amov a,#00h xchd a,r1 mov 32h,a mov a,r1swap aadd a,#0ah mov 30h,a retpd:mov r1,#34hm

20、ov r0,#35hmov a,#00h xchd a,r0 mov 31h,a mov a,r0 swap aadd a,#10mov 32h,amov a,#00h xchd a,r1 mov 33h,a mov a,r1 swap aanl 36h,#0f0hmov a,36h swap amov 30h,a retleds:mov a,30hmov dptr,#tab movc a,a+dptr mov p0,amov a,#7fhmov p2,a lcall delay mov a,31h movc a,a+dptr mov p0,amov a,#0bfhmov p2,alcall

21、delaymov a,32hmovc a,a+dptrmov p0,amov a,#0dfhmov p2,alcall delaymov a,33hmovc a,a+dptrmov p0,amov a,#0efhmov p2,alcall delayretdelay:mov r7,#08hdela: mov r6,#80hdjnz r6,$djnz r7,delarettab:db 77h,41h,3bh,6bh,4dh,6eh,7eh,43h,7fh,6fhdb 0f7h,0c1h,0bbh,0ebh,0cdh,0eeh,0feh,0c3h,0ffh,0efhend六、软硬件的调试硬件调试

22、:拿到电路板后, 首先要检查加工质量, 并确保没有任何方面的错误, 如短路和断路, 尤其要避免电源短路; 元器件在安装前要逐一检查, 用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片) ,并检查各引脚的电位是否正确。 若一切正常, 方可在断电的情况下将芯片插入, 再次检查各引脚的电位及其逻辑关系。 将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。然后给板子接上正负电源, 观察数码管是否亮,在检测数码管各个显示部分是否正常,都检查完毕后,将信号源的输出脚接在示波器上,并加上正负电源,观察波形,如果得到的波形不太好,可将74ls00 的 4 个与非门全

23、部串联,并将对应的周期记录下来。软件的测试:在软件测试的时候, 先将串口测试下, 并逐次将各子程序分别进行调试, 数 码管显示可先编一段小程序来验证, 不能利用数码管显示的程序部分可以利用软件上添加观察程序来实现观察结果是否正确。七、课程设计的体会短短两周的课程设计已经结束了, 这两周的时间说短不短说长不长, 可是却让我巩固的大学三年所学的单片机方面的知识, 并对知识有了进一步的了解, 通过这次的课程设计锻炼了我们的实践能力, 也是对我们以后的实际工作能力的具体训练和考察过程。现在是一个高科技的时代, 单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说是无处不在的。 因此对于我们这

24、一专业的同学来说, 学好单片机,并正确应用单片机是非常重要的。此次单片机课程设计,从选题到定稿,从理论到实践,在整整两个星期里,学到了很多的东西。 同时不仅巩固了以前所学过的知识, 而且还学到了很多在书本上所没有学到过的知识。 通过这次课程设计使我懂得了理论与实际相结合是很重要的, 只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论中得出结论, 才能真正为社会服务, 从而提高自己的实际动手能力和独立思考的能力。 这次的课程设计还让我学会了如何去培养我们的创新精神, 从而不断地战胜自己, 超越自己。 更重要的是, 我在这一设计过程中, 学会了坚持不懈,不轻言放弃。设计过程, 好比是我们人类成长的历程, 常有一些不如意, 但毕竟这是第一次做,难免会遇到各种各样的问题。本系统是以单片机at89c51 芯片为核心部件,此次在软件上是花费很多的精力,我们上网找资料,上图书馆,尽可能的了解有关于这方面的知识。 通过这次课程设计, 使我得到了一次用专业知识、 专业技能分析和解决问题全面系统的锻炼。 使我在单片机的基本原理、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论