单片机输出方波及显示宽度.docx
- 文档编号:15897040
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:35
- 大小:463.57KB
单片机输出方波及显示宽度.docx
《单片机输出方波及显示宽度.docx》由会员分享,可在线阅读,更多相关《单片机输出方波及显示宽度.docx(35页珍藏版)》请在冰点文库上搜索。
单片机输出方波及显示宽度
桂林电子科技大学
单片机最小应用系统
设
计
报
告
指导老师:
吴兆华
学生:
冯焕焕
学号:
1000150301
前言
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新.在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善.
单片机是指在一个芯片上集成了中央处理器、存储器和各种I/O接口的微型计算机,它主要面向控制性应用领域,因此又称为嵌入式微控制器。
单片机诞生30多年以来,其品种、功能和应用技术都得到飞速的发展,单片机的应用已深入国民经济和日常生活的各个领域。
本次课程设计目的主要是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
本课程设计实在学完单片机原理及课程之后综合利用所学单片机只是完成一个单片机应用系统设计并在实验室实现。
该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理和应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获的初步的应用经验,为以后从事生产和科研工作打下一定的基础。
摘要
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。
单片机应用的意义绝不仅限于它的广阔范围以及带来的经济效益,更重要的意义在于,单片机的应用正从根本上改变着传统的控制系统的设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分控制功能,现在使用单片机通过软件就能实现了。
随着单片机应用的推广普及,单片机控制技术将不断发展,日益完善。
本文是设计频率/脉冲宽度的测量与显示的硬件电路与程序的编制。
它可以测量脉冲信号的脉冲宽度,频率等参数。
利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。
利用定时器T0定时T1计数来测量由P3.5口输入的脉冲信号的频率。
在单片机应用系统中,为了便于对LED显示器进行管理,需要建立一个显示缓冲区。
显示时采用动态扫描的方式将将各位数的BCD码依序输入到LED中,并连续扫描2秒钟。
通过采用STC89C52RC单片机为中心器件来设计脉冲宽度测量器,并运用MCS—51/52单片机计数功能,选择好工作模式,对脉宽进行计数。
在现有的单片机仿真机系统上掌握相关软硬件设计与调试知识,并在计算机上编写汇编程序调试运行。
关键词:
门控信号GATE;脉冲宽度;扩展测量范围;脉冲频率
ABSTRACT
Alongwiththelargescaleintegratedcircuittechnologyandthecomputertechnologyrapiddevelopment,thecomputerlogicunitandthecontroller(namelyCPU),thememoryandthemanykindsofinterfacesintegrationthechipwhichbecomestogetheronthechipisamonolithicintegratedcircuit.Themonolithicintegratedcircuitispublishedfor20years,developmentspeedswiftandviolent,theapplicationscopewasbroadisformerlyanytechnologyallisunabletocompare.Themonolithicintegratedcircuitachievementinsertsdeclinescontrolleritsapplicationtobeverypopular.Thisticleintroducedthemonolithicintegratedcircuitconcept,theclassification,thedevelopingprocess,andusetheMCS-51monolithicintegratedcircuitandtheCD4094monolithicintegratedcircuitdesignmultipurposesquarewave-formoscillatorhardwareelectriccircuitandthecontrolcircuit,andhascarriedonthesoftwareprogrammingtothemonolithicintegratedcircuit,causesmanufactureandproductionmultipurposesquare-wavesignalgeneratingdevicewhichtheusermayfacilitate.Thethisarticlefirstchaptersimplyintroducedthemonolithicintegratedcircuitdevelopingprocessandtheapplicationdomain;SecondchaptertaketheMCS-51monolithicintegratedcircuitastheexample,specificallyintroducesthemonolithicintegratedcircuitthestructureaswellastheprincipleofwork;ThirdchapterusestheMCS-51monolithicintegratedcircuitandtheCD4094monolithicintegratedcircuitdesignmultipurposesquarewave-formoscillatorhardwareelectriccircuitandthecontrolcircuit,andcarriesonthesoftwareprogramming.Keyword:
Microprocessor,monolithicintegratedcircuit,MCS-51monolithicintegratedcircuit,multipurposesignalgeneratingdeviceelectriccircuit,multipurposesignalgeneratingdeviceprogram,
Keywords:
Microprocessor,
目录
前言3
摘要3
目录4
一、设计原理4
1.1脉冲宽度测量原理6
1.1脉冲频率测量原理7
1.2扩展测量范围原理7
二、实验课题内容及要求8
三、实验目的及意义9
四、系统硬件电路10
4.1硬件电路说明10
4.2系统调试及结果分析13
4.3最小系统控制部分15
4.3.1晶振电路6
4.3.2复位电路7
五、软件设计26
5.1程序流程图27
5.2程序源代码28
六、注意事项及解决问题的方案31
七、心得体会32
八、参考文献34
一、设计原理
(1)T0工作方式
通过设置TMOD,使其为定时器模式。
在做定时器使用时,将T0定时为0.001S。
当GATE=1时,为门控方式。
只有TR0设置为1,且同时外部中断引脚也为高电平时,才能启动T0开始计数工作。
把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。
在待测信号高电平期间,T0对内部周期脉冲进行计数。
在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,该值就是待测脉冲的脉宽。
随后,清零TH0和TL0,以便下一个脉宽的测量。
计算方法:
脉冲宽度=计数值*0.01s,将脉冲宽度的数值转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用于显示,最后调用显示程序,读取脉冲宽度。
(2)T2捕捉工作方式
使用T2的捕捉方式,TH2、TL2的初值设为0,待测信号从T2EX(P1.1)引入,采用定时器T0定时0.001s,刚开始待测信号为高电平或低电平时等待,再次检测为高电平时T2开始计数,定时器T0每定时0.001s,通过串口P1.0的开关状态使T2的计数值增一并将计数值存入RCAP2H和RCAP2L两个寄存器中。
计算方法:
脉冲宽度=计数值*0.001s,再将得到的表示脉冲宽度的十六进制转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用来显示,读取LED上显示的数据即为要测量的脉冲宽度。
1.1脉冲宽度测量
利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。
对定时器T1来讲,如果GATE=0,必须使软件控制位TR1=1,且INT1为高电平方可启动定时器T1,即定时器T1的启动要受外部中断请求信号INT1的影响。
利用此特点,被测脉冲信号从INT1端引入,其上升沿启动T1计数,下降沿停止T1计数。
定时器的计数值乘以机器周期即为脉冲宽度。
下图中给出了脉冲宽度测量的原理图。
为低时启动T1
下降沿停止计数
被检测脉冲信号
INT1
为高则等待上升沿开始计数
图1脉冲宽度测量过程
图2系统原理图
1.2脉冲频率测量
频率测量实际上就是在1s内对脉冲个数进行计数,计数值就是信号频率。
令定时器T0工作在方式1,得到100ms的定时间隔,再进行软件计数10次,形成一个1s的测量闸门信号。
在测量闸门信号期间令计数器T1工作在计数方式1,对脉冲信号的频率计数,计数值存入COUNT、COUNT+1和COUNT+2单元,计数值通过6位动态数码管显示出来。
1.3扩展测量范围原理
上述系统被测脉冲宽度范围最大为65535us,扩展计数器的位数可提高脉冲宽度的测量范围。
令定时器T1工作在方式1定时,GATE=1,用COUNT单元,COUNT+1单元即定时器T1的计数单元TH1和TL1组成一个32位的计数器对脉冲宽度进行测量。
并且在定时器T1溢出时,给COUNT+2赋值#01H,并将THI和TH0置零,重新开始计数。
以扩展系统测量范围使可以达到130ms的任务要求。
同时在进行频率测量时,当计数器T1溢出时,给COUNT+2赋值#01H,并将THI和TH0置零,重新开始计数。
以扩展系统测量范围使可以达到100KHZ的任务要求。
二、实验课题内容及要求
2.1要求
用8031单片机控制可测方波100~1000Hz,并测量方波宽度
2.2设计内容
利用单片机及4位LED数码管做成四位脉宽显示 ,在一个脉宽期间对内部周期进行计数,得到的一个高电平脉冲内的计数值显示在四位数码管上,并达到相应的技术指标要求
技术指标
(1) 输入脉冲幅度:
0-5V
(2) 脉宽测量范围:
0.1-50ms
(3) 测量精度:
±1%
(4) 显示方式:
四位数字显示
计数
被检测脉冲信号
为高则开始计数为低时停止计数
T0:
把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。
在待测信号高电平期间,T0对内部周期脉冲进行计数。
在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,计算出所测。
随后,清零TH0和TL0,以便下一个脉宽的测量。
显示:
将数码管的段控信号与P口与六位LED数码管相连。
T2:
使用T2捕捉方式时将脉冲信号加到P1.1引脚,并且同时开通T0定时器,将数码管的段控信号与P0口与六位LED数码管相连,将位控信号P2与键盘相连。
三、实验目的及意义
目的:
1、加深外部中断指令的基本使用方法;
2、熟悉外部中断处理程序的编程方法;
3、进一步熟悉8051内部定时/计数器的初始化、使用方法及编程法;
4、进一步掌握8051中断处理程序的编程方法和应用;
5、掌握I/O接口的基本方法;
6、学会使用并熟练掌握电路绘制软件Protel99SE(或DXP)。
7、基于STC89C52RC单片机测量脉冲宽度;
8、研究分别使用定时计数器0,1的GATE模式和定时计数器2的捕捉功能完成外部脉冲宽度测量;
9、通过6位LED显示计数值,时间精确到0.1秒。
并熟悉了解试验箱的应用,提高动手能力。
意义:
1、通过单片机的综合设计,能够将所学的知识融会贯通,锻炼独立设计、制作和调试单片机的应用系统能力,领会单片机应用系统的软件、硬件调试方法和系统的研制开发过程,为进一步的科研实践活动打下一定的基础。
2、通过单片机综合设计更加熟悉的掌握51单片机的应用;掌握了方波频率计算以及形成的原理,更加进一步的学习方波宽度的测量,并且对软件编程及硬件设计方法更加好的掌握,掌握根据课题要求,提出并选择设计方案、查找确定所用元器件、设计并搭制硬件电路、编程写入并调试等的一系列,掌握单片机应用的基本方法与步骤。
3、通过单片机的综合设计,对输出方波的原理有很大的了解,掌握方波频率的计算方法,同时对其脉冲测量过程学习到很多,在设计中对系统原理图也有很好地掌握,实验中和本组队员努力配合,明白团队的努力是伟大的。
四、系统硬件电路
整个设计主要包括单片机基本的晶振电路,按键复位电路,设计中需要的LED管,开关、按键等。
具体的电路图如下图1所示
图1系统设计总电路图
4.1硬件电路说明
本次硬件系统包括单片机最小系统、外部中断电路、LED显示电路三部分在下面介绍中对每一部分都有详细的说明。
AT89C51单片机简介
AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4Kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图2AT89S51引脚图
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
1、AT89S51具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
2、AT89S51的运行模式
(1)空闲模式
在空闲模式下,CPU处于睡眠状态,振荡器和所有片内外围电路仍然有效。
空闲模式可由软件设置进入(设IDL=1)。
在这种模式下,片内RAM和SFR中的内容保持不变。
空闲模式可通过任何一个允许中断或硬件复位退出。
若用硬件复位方式结束空闲模式,则在片内复位控制逻辑发生作用前长达约两个机器周期时间内,器件从断点处开始执行程序。
片内硬件禁止访问内部RAM,但不禁止访问端口。
为避免采用复位方式退出空闲模式时对端口的不应有的访问,在紧随设置进入空闲指令(即设IDL=1)的后面,不能是写端口或外部RAM的指令。
(2)掉电模式
引起掉电模式的指令是执行程序中的最后一条指令(使PD=1的指令)。
在掉电模式下,振荡器停止工作,CPU和片内所有外围部件均停止工作,但片内RAM和SFR中的内容保留不变,直到掉电模式结束。
退出掉电模式可用硬件复位或任何一个有效的外部中断INT0和INT1。
复位可重新设置SFR中的内容,但不改变片内RAM中的内容。
在Vcc电源恢复到正常值并维持足够长的时间之后,允许振荡器恢复并达到稳定,方可进行复位,以退出掉电模式。
3、MCS-51系列单片机的并行I/O口
接口电路是微机必不可少的组成部分,并行输入确出接口是CPU和外部进行信息交换的主要通道。
MSC-51系列单片有4个8位并行双向I/O口P0~P3,共32根I/O线。
每一根线能独立用作输入或输出。
单片机可以外接键盘、显示器等外围设备.还可以进行系统扩展,以解决硬件资源不足问题。
4个并行口都是双向口,既可以输入又可以输出。
P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。
这4个I/O口结构基本相同,但仍存在差别。
(1)P1口是最常用的I/O口如图3所示,因为不作数据地址线,其结构中没有数据地址线,也没有多路开关MUX,输出驱动电路接有上拉电阻。
P1口输入输出时与P0作I/O时相似,输出数据时.先写入锁存器,经Q端反相,再经场效应管反相输出到引脚。
输入时,先向锁存器写l,使v管截止.外部引脚信号由下方读缓冲器送入内部总线,完成读引脚操作。
P1口也可以读锁存器。
外部提升电阻将引脚拉升至高电平,但输人的低电平信号能将其拉低,不会影响低电平的输入。
图3P1口一位结构
(2)P3口为双功能口,当P3口作为通用I/O口使用时,它为准双向口,且每位都可定义为输入或输出口,其工作原理同P1口类似。
(3)P3口还具有第二功能,其引脚描述,P3口特殊功能
口线
特殊功能
信号名称
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
外部中断0输入口
P3.3
外部中断1输入口
P3.4
T0
定时器0外部输入口
P3.5
T1
定时器1外部输入口
P3.6
WR
写选通输出口
P3.7
RD
读选通输出口
4.2系统调试及结果分析
1、硬件调试
硬件电路板中器件连接好后,先用万用表测试电路中有无虚焊短接之处,测试无误后,将板子通电,进行静态调试。
取好两跟短的导线,一根导线的其中一端接地,另一端接P2.3~P2.0口中的一个口,若数码管亮,再用另一根导线,其中异端接地,另一端与P0.0~P0.7依次接触,看数码管各段的亮灭情况,从而判断每个数码管各段的好坏及电路的是否正确。
硬件的测试首先是检查电路的逻辑线路是否正确,如果正确再检查原理图的线路连接是否正确,电路的布局安排是否合理等等。
软件的测试只要是检查程序的语法是否正确,数据结构安排是否妥当,时序是否正确,整体流程安排是否合理。
上面两部检查妥当后,就到了系统调试最关键的一步,软硬件的协同调试,问题往往在此才能被发现。
2、软件调试
在软硬件协同调试时,硬件问题比较少,主要体现在上拉电阻的使用,滤波电容的使用等,极少发生逻辑上的错误。
硬件的问题往往是致命的问题,其不易察觉,发现之后电路更改也不容易。
这就需要我们不断的实验,在实战中摸索出规律,吸取经验教训,在以后的电路设计中能设计出稳定的抗干扰能力强的电路。
软件问题是调试中遇到问题最多的,此系统中出现过的问题有以下几处:
1、键盘中断处理程序中中断入口后,没有关掉外部中断,出现键值读取不正确,不能正确操作键盘。
解决方法,在中断入口处关掉外中断,并在出口时再开外中断;
2、键盘扫描前没有软件延时消抖,出现键值读取不准确。
解决方法,在键盘中断入口后在键值扫描前软件延时5ms,消去键盘抖动所带来的误操作;
3、程序中有个别地方将“=”与“==”混淆,造成结果不准确,解决办法,仔细查找,将混淆出更正。
再把到计时设定时子程序加进来,看是否能通过菜单正确调用,返回。
能否修改到计时。
整个调试完毕。
3、结果分析
因为从设计程序分析,数码管显示器动态到秒的频率约为167HZ,实际使用观察时完全没有闪烁,由于计时中断程序中加了中断延时误差处理,所以,实际设计时精度非常的高。
4.3最小系统控制部分
4.3.1单片机最小系统
单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。
因而时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路方式有两种:
一种是内部时钟方式,一种是外部时钟方式,这里采用的是内部时钟方式,外接晶振。
时钟电路由片外晶体、微调电容和单片机的内部电路组成。
选取频率为11.0592MHz的晶振,微调电容是瓷片电容。
89S52单片机的P0.7口作为波形输出口,若接示波器,则可通过示波器来观察波形,是一个矩形波。
此单元电路包括时钟电路、复位电路,具体电路如图2所示:
小键盘接口电路
小键盘如图3所示。
它包括8个键,系统中用到的键只有5个,分别为0号、1号、2号、3号、4号键。
其中0号键是状态键,采用外部中断控制,用它来确定其它几个键的按键功能,具体作用在前述的系统功能中已做介绍了;另外4个键为功能键,调节频率与占空比的。
小键盘中引出的6根线依次分别接单片机的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口。
4.3.2晶振电路
电源引脚Vcc和Vss
Vcc:
电源端,接+5V。
Vss:
接地端。
时钟电路引脚XTAL1和XTAL2
XTAL1:
接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
XTAL2:
接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
图4系统晶振电路
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路(如图5所示)。
AT89S单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 输出 方波 显示 宽度