用单片机控制可测方波100~1000Hz,并显示脉宽

独立式按键使用上提拉电路与电源连接,在没有键按下时,输出高电平。发光二极管串联500欧姆电阻再接到电源上,当输入为低电平时,发光二极管导通发光。
脉宽(Pulse-Width)是脉冲宽度的缩写,脉冲宽度就是高电平持续的时间,常用来作为采样信号或者晶闸管等元件的触发信号。
脉宽由信号的周期和占空比确定,其计算公式是脉宽W=T×P(T:周期,P:占空比)。
4.2.1 AT89S51具有如下特点:
40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
AT89S51有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直接PDIP封装,外形结构图2。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(见右图)左边那列引脚逆时针数起,依次为1、2、3、4......40,其中芯片的1脚顶上有个凹点。在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
计算方法:脉冲宽度=计数值*0.001s,再将表示脉冲宽度的十六进制转换为压缩BCD码,再将压缩BCD码转为非压缩BCD码用来显示,数码管显示的数据即为要测量的脉宽。
3.4脉冲宽度测量
利用定时器的门控信号GATE进行控制可以实现脉冲宽度的测量。对定时器T1来讲,,被测脉冲信号从INT1端引入,其上升沿启动T1计数,下降沿停止T1计数。定时器的计数值乘以机器周期即为脉冲宽度。下图中给出了脉冲宽度测量的原理图。
意义:
1、通过单片机的综合设计,能够将所学的知识融会贯通,锻炼独立设计、制作和调试单片机的应用系统能力,领会单片机应用系统的软件、硬件调试方法和系统的研制开发过程,为进一步的科研实践活动打下一定的基础。
2、通过单片机综合设计更加熟悉的掌握51单片机的应用;掌握了方波频率计算以及形成的原理,更加进一步的学习方波宽度的测量,并且对软件编程及硬件设计方法更加好的掌握,掌握根据课题要求,提出并选择设计方案、查找确定所用元器件、设计并搭制硬件电路、编程写入并调试等的一系列,掌握单片机应用的基本方法与步骤。
3.1分析任务要求,写出系统整体设计思路
任务分析:方波信号的产生实质上就是在定时器溢出中断次数达到规定次数时,将输出I/O管脚的状态取反。
以及数码管动态扫描显示等。
3.2问题的难点在按键连续按下超过2S的计时问题,如何实现计时功能。
系统的整体思路:主程序在初始化变量和寄存器之后,扫描按键,根据按键的情况执行相应的功能,然后在数码显示频率的值,显示完成后再回到按键扫描,如此反复执行。中断程序负责方波的产生、按键连续按下超过2S后频率值以10Hz/s递增(递减)。
3.7选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图
采用MCS51系列单片机At89S51作为主控制器,外围电路器件包括数码管驱动、独立式键盘、方波脉冲输出以及发光二极管的显示等。
数码管驱动采用2个四联共阴极数码管显示,由于单片机驱动能力有限,采用74HC244作为数码管的驱动。在74HC244的7段码输出线上串联100欧姆电阻起限流作用。
脉宽的计算方法就不言而喻了。本次设计,因为要求产生的是方波,高低电平所占的时间相同(占空比为0.5),即脉宽为:
脉宽W=T/2
四
本设计要求用8031单片机控制可测方波100~1000Hz,并显示方波宽度。此功能可通过“最小系统系统”实现。整个设计主要包括单片机基本的晶振电路,按键复位电路,频率调节电路三极管功率放大电路了和数码管显示电路。整体设计原理图如下图1所示。
为低时启动T1
下降沿停止计数
被检测脉冲信号
INT1
为高则等待上升沿开始计数
脉冲宽度测量过程
图 2 系统原理图
3.5脉冲频率测量
频率测量实际上就是在1s内对脉冲个数进行计数,计数值就是信号频率。令定时器T0工作在方式1,得到100ms的定时间隔,再进行软件计数10次,形成一个1s的测量闸门信号。在测量闸门信号期间令计数器T1工作在计数方式1,对脉冲信号的频率计数,计数值存入COUNT、COUNT+1和COUNT+2单元,计数值通过6位动态数码管显示出来。
计算方法:脉冲宽度=计数值*0.01s,将脉冲宽度的数值转换为压缩BCD码,再将压缩BCD码转换为非压缩BCD码用于显示,最后调用显示程序,读取脉冲宽度。
②T2捕捉工作方式
使用T2的捕捉方式,TH2、TL2的初值设为0,待测信号从T2EX(P1.1)引入,采用定时器T0定时0.001s,刚开始待测信号为高电平或低电平时等待,再次检测为高电平时T2开始计数,定时器T0每定时0.001s,通过串口P1.0的开关状态使T2的计数值增一并将计数值存入RCAP2H和RCAP2L两个寄存器中。
3、通过单片机的综合设计,对输出方波的原理有很大的了解,掌握方波频率的计算方法,同时对其脉冲测量过程学习到很多,在设计中对系统原理图也有很好地掌握,实验中和本组队员努力配合,明白团队的努力是伟大的。
三、任务系统设计
用单片机产生频率可调的方波信号。控制方波的频率范围为100Hz-1000Hz,频率误差比小于0.5%。要求用“增加”、“减小”2个按钮改变方波给定频率,按钮每按下一次,使给定频率按步进改变,当按钮持续按下的时间超过一定时间后,给定频率以一定的速度连续增加(减少),输出方波的脉宽要求在四位数码管上显示。用输出方波控制一个发光二极管的显示,用示波器观察方波波形。
3.3分析软件任务要求,写出程序设计思路,分配单片机内部资源
①T0工作方式
通过设置TMOD,使其为定时器模式。在做定时器使用时,将T0定时为0.001S。
当GATE=1时,为门控方式。只有TR0设置为1,且同时外部中断引脚也为高电平时,才能启动T0开始计数工作。把脉冲信号从P3.2脚引入,T0设为定时器方式工作,并工作在门控方式(GATE=1)。在待测信号高电平期间,T0对内部周期脉冲进行计数。在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外部中断0的中断服务程序中,读取TH0、TL0的计数值,该值就是待测脉冲的脉宽。随后,清零TH0和TL0,以便下一脉宽的测量。
图2 AT89S51引脚图
AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
图1系统设计总电路图
4.1 硬件电路说明
本次硬件系统包括单片机最小系统、外部中断电路、数码管显示电路三部分在下面介绍中对每一部分都有详细的说明(因为条件有限,本次设计采用AT89S51单片机,其功能与8031基本相同)。
4.2 AT89C51单片机简介
AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
3.6扩展测量范围原理
上述系统被测脉冲宽度范围最大为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的任务要求。
占空比计算方式是:
左对齐方式:占空比= [ (PWMPERx - PWMDTYx) / PWMPERx ] × 100%
中心对齐方式:占空比= [ PWMDTYx / PWMPERx ] × 100%
周期的计算公式:
左对齐方式:输出周期=通道周期× PWMPERx
中心对齐方式:输出周期=通道周期× PWMPERx × 2
关键词:门控信号GATE;脉冲宽度;扩展测量范围;脉冲频率
一、实验课题及要求
用
二、实验目的
1、加深外部中断指令的基本使用方法;
2、熟悉外部中断处理程序的编程方法;
3、进一步熟悉8051内部定时/计数器的初始化、使用方法及编程方法;
4、进一步掌握8051中断处理程序的编程方法和应用;
6、学会使用并熟练掌握电路绘制软件Protel99SE(或DXP)。
7、基于STC89C52RC单片机测量脉冲宽度;
8、研究分别使用定时计数器0,1的GATE模式和定时计数器2的捕捉功能完成外部脉冲宽度测量;
9、通过单片机的综合设计,学会将所学的知识融会贯通,锻炼独立设计、制作和调试单片机的应用系统能力,领会单片机应用系统的软件、硬件调试方法和系统的研制开发过程,为进一步的科研实践活动打下一定的基础。
4.2.2 AT89S51的运行模式
(1)空闲模式
在空闲模式下,CPU处于睡眠状态,振荡器和所有片内外围电路仍然有效。空闲模式可由软件设置进入(设IDL=1)。在这种模式下,片内RAM和SFR中的内容保持不变。空闲模式可通过任何一个允许中断或硬件复位退出。
合集下载

单片机课程设计任务及要求

单片机课程设计任务及要求

单片机课程设计任务及要求第一篇:单片机课程设计任务及要求13Z机制《单片机课程设计》任务书及要求一、本课程设计的目的和意义通过课程设计使学生深入理解单片机的基本结构和工作原理。

掌握单片机系统常用接口的设计及扩展方法。

掌握汇编语言程序设计和程序调试的技巧。

学会单片机应用系统的设计与开发,培养学生分析问题和解决问题的能力。

为学生将来在机械设计制造及其自动化及其他领域应用单片机技术打下良好基础。

二、设计任务及要求1.硬件设计:根据所选题目要求,完成基于单片机的完整硬件接口电路设计。

2.程序设计:根据需要画出程序流程图,设计出全部汇编程序并给出程序设计说明和程序注释。

3.设计文件:设计报告字数约4000~5000字(不包括程序清单),内容及格式要求如下:(1)报告内容的一般安排λ目录(1页)λ前言(1页):说明所选题目的、当今应用说明、对课题的理解,及要解决的问题和课题的意义。

λ总体方案设计(3~4页):通过列举和分析若干可行技术方案、原理,从中选定可行最优设计方案,给出组成原理(框图)及技术路线。

λ硬件设计(4~8页):元器件选择与必要的介绍;单片机硬件系统及外围接口电路的设计,原理说明。

系统总电路图可占完整一页。

λ软件设计(6~10页):设计各功能子程序、中断服务程序,及主程序,程序中应有必要的注释。

对于复杂程序结构可先绘制程序流程图。

λ设计小结(1页):对设计中所存在的问题和不足进行分析和总结,提出建议、解决的方法和对这次设计实践的认识、收获和提高。

参考文献(1页)(2)设计报告书写要求以班级为单位购买徐师大标准的课程设计报告本,人手一册。

课程设计报告本应双面书写,每页的文字部分不得少于16行、每行不少于22字。

若整页为汇编语言程序,则该页不得少于20行。

设计说明书中插图总数不宜超过10个,插图可包括元器件图、单片机系统硬件电路图、程序流程图等,插图大小及所占篇幅根据线条密度定,线条不能太稀疏。

插图上下之外部不得留有超过一行文字高度的空白行。

基于STC15单片机的频率计及方波发生器设计

基于STC15单片机的频率计及方波发生器设计

课程设计论文课题:基于STC15单片机的频率计及方波发生器设计目录基于STC15单片机的频率计及方波发生器设计一、设计要求 (2)一)基础部分 (2)二) 发挥部分 (3)二、课程设计的意义与目的 (3)三、方案设计 (4)单片机数字频率计与可调方波发生器程序设计流程图 (4)四、硬件设计原理图: (6)五、硬件设计实物图: (6)六、程序框架: (7)七、功能说明: (7)八、测量: (8)低频测量: (8)高频测量: (8)九、误差分析: (9)第一次误差分析: (9)第二次误差分析: (9)十:实现功能情况表: (10)十一、心得与体会 (11)十二、参考资料 (11)十三、附录: (11)Main主函数: (11)按键扫描函数 (11)数码管显示相关函数: (12)PWM发生器函数: (13)频率计测量功能相关函数: (19)延时函数: (25)基于STC15单片机的频率计及方波发生器设计一、设计要求一)基础部分1. 数字频率计设计要求:1)被测信号为正弦波或方波,频率范围为1Hz~5MHz;2)测量相对误差的绝对值不大于百分之一;3)门限电压2V-5V;4)测量数据刷新时间不大于2s,测量结果稳定。

2. 方波发生器设计要求:1)方波发生器可以分为低频和高频2个端口产生,频率范围1Hz-6MHz;2)通过不同按键实现频率的粗调和微调。

二) 发挥部分1. 频率计范围为大于5MHz;2. 测量相对误差的绝对值不大于千分之一;3. 增加脉冲信号占空比的测量功能。

二、课程设计的意义与目的1.在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。

2.在通信技术中,波形的发生和频率的控制是最基本的要求,也是通信技术的基础,因此设计波形的发生与控制器就显得尤为重要。

3.单片机数字频率计与可调方波发生器,具有可靠性高、体积小、价格低、功能全,广泛应用与各种职能仪器中,能使在测量过程的控制中达到自动化,省掉很多繁琐的人工操作,同时也提高了测试精度。

用单片机实现频率可调的PWM控制信号

用单片机实现频率可调的PWM控制信号

用单片机实现频率可调的PWM控制信号摘要本文介绍了一种用51系列单片机的定时器来实现频率可调的PWM 信号,提供了一种可靠、有效、灵活的方法,信号准确、稳定,频率和占空比调节方便、直观,电路简单、集成度高,成本低,最高可实现几十KHz频率和占空比可调的PWM信号。

可作为各种需要PWM控制的信号源发生器。

关键词单片机;定时器;频率;PWM;占空比0 引言在嵌入式系统及控制系统中,经常需要产生特定频率和PWM的方波脉冲信号,以便实现精确的控制过程。

在实际应用中,为了达到最佳的控制,往往需要对驱动控制信号的频率和占空比都能够按要求进行调节,也就是需要实现可调频率的PWM控制。

在传统电路中,用555来实现的是比较经典的电路,但通过R、C来调节脉冲时,频率和占空比可调的范围不大,器件的误差带来的影响较大,调节时不直观,调节参数具有一定的离散性,不利于批量生产。

对于需要经常改变参数的情况更不方便。

随着数字技术的不断发展,单片机的性能越来越强,价格也越来越低,51系列作为非常成熟的8位单片机,在国内得到了广泛的应用。

采用51系列单片机除了能完成所需的控制功能外,完全能够实现对方波信号的频率和占空比的调节,不再需要额外的信号发生电路,采用软件控制这种方法,电路简单,调节方便,显示直观,误差小,一致性好,可靠性高。

1 实现原理脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,它是通过调节方波的占空比来实现的,只要占空比的步进精度足够,就可以通过PWM来实现数字输出信号对模拟电路的有效控制,比如灯光的亮度、流量的控制、开关电源电压的控制等等。

脉冲宽度调制在工业控制、电源变换、测试测量、通信等领域都有广泛的应用。

在一些文献中,产生各种波形信号,采用的是软件延时的方式,但这种方式占用了单片机的处理时间,且精度不易控制,尤其是在调节时计算比较复杂,本文采用的是定时器中断方式,单片机通过中断来产生对应的脉冲信号,还可以同时进行其他输入、输出控制功能,定时器的精度较高,调节时也仅需通过软件调整对应的设置值即可。

PIC单片机等精度测量频率法

PIC单片机等精度测量频率法

PIC单片机等精度测量频率法单片机测量频率,是一个比较常见但又不好解决的问题。

主要是测量频率是高端和低端不能兼顾的问题。

测量频率无非两种方法:1.在一段固定的时间及脉冲的个数,然后除时间得到频率。

2.测量脉宽计算频率。

第一种方法,适合测频率在1KHz以上的脉冲信号。

因为要保证测量精度在0.1%,至少要保证脉冲个数在1000个,假设测10HZ左右的信号,则一个测试周期需要100秒,这显然不是我们所能接受的。

第二种方法,适合测频率小于1KHz的信号。

因为要保证测量精度在0.1%,在一个脉冲宽度(1ms)内,作为时标的定时器至少要走1000个数(此时PIC 的晶振理论上至少也要4MHz)。

事实上,想利用上述两种方法精确测量宽范围的频率,几乎是不可能的。

PIC系列特有的平级中断,也使其测量频率比51系列测量困难。

等精度数字测频基本框图等精度数字测频基本框图如下fx图中的闸门G1、G2分别用来控制输入信号周期计数和闸门时间宽度计时。

其中,G1与输入信号同步,这样可使计数器N1的量化误差dN1=0。

计数器N2对标准时标信号Tc进行计数,并以此来测量实际的闸门宽度Tg,则输入信号的频率可表示为:fx=N1/Tg=N1/(Tc*N2)标准时标信号采用单片机自身的工作时钟,可看作常数。

因此fx的相对误差为:dfx/fx=dN1/N1-dN2/N2=-dN2/N2式中,dN2为计数器N2产生的量化误差,最大为±1个Tc,在实际设计中,选择适当的时标Tc和闸门宽度Tg可是N2始终足够大,以次在fx的全频段范围内得到足够高的精度。

等精度测量法的实质就是一种变相的测脉宽法。

在实际使用时(PIC为例),可将Timer0作计数器N1,Timer1作计数器N2,外部中断INT0同T0连在一起,作为Tg信号,如图:fx T0INT0PIC首先打开INT中断,允许Timer0计数,当一个fx的上升沿来临时,触发INT中断。

STM32单片机测量方波频率方法总结

STM32单片机测量方波频率方法总结

STM32单片机测量方波频率方法总结一、测周法:通过一个方波的两个上升沿或下降沿触发中断,然后定时器计数,计数的总个数乘以计数单位时间即该方波的周期,具体可通过单片机输入捕获功能实现,以下为参考代码//输入捕获初始化函数void input_frequent_init(void) //采用TIM4的Channel_1通道作为输入捕获通道{//声明结构体变量,用来初始化定时器TIM_TimeBaseInitTypeDef TIM4_TimeBaseInitStructure;TIM_ICInitTypeDef TIM4_ICInitStructure;NVIC_InitTypeDef TIM4_NVIC_InitStructure;/* 开启定时器4时钟 */RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);TIM_ClearITPendingBit(TIM4,TIM_IT_Update|TIM_IT_CC1); //清除捕获和中断标志位TIM4_TimeBaseInitStructure.TIM_Period = 0xffff;//设定计数器自动重装值(设置为最大)TIM4_TimeBaseInitStructure.TIM_Prescaler = 1; //设置分频系数TIM4_TimeBaseInitStructure.TIM_ClockDivision = TIM_C KD_DIV1; //设置时钟分割:TDTS = Tck_timTIM4_TimeBaseInitStructure.TIM_CounterMode = TIM_Cou nterMode_Up; //TIM向上计数模式TIM_TimeBaseInit(TIM4,&TIM4_TimeBaseInitStructure);/ /根据结构体参量初始化定时器TIM4_ICInitStructure.TIM_Channel = TIM_Channel_1; //选择输入捕获的输入端,IC1映射到TI1上TIM4_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity _Rising; //设置为上升沿捕获TIM4_ICInitStructure.TIM_ICSelection = TIM_ICSelecti on_DirectTI; //映射到TI1上TIM4_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV 1; //配置输入分频,不分频TIM4_ICInitStructure.TIM_ICFilter = 0x00; //IC1F=000 0 配置输入滤波器,此处不滤波TIM_ICInit(TIM4, &TIM4_ICInitStructure); //初始化TIM 4通道1//中断分组初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);TIM4_NVIC_InitStructure.NVIC_IRQChannel=TIM4_IRQn;//打开TIM4的全局中断TIM4_NVIC_InitStructure.NVIC_IRQChannelPreemptionPri ority=1; //抢占优先级配置为1TIM4_NVIC_InitStructure.NVIC_IRQChannelSubPriority=1; //响应优先级配置为1TIM4_NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能NVIC_Init(&TIM4_NVIC_InitStructure); //初始化中断TIM_Cmd(TIM4,ENABLE); //使能中断TIM_ITConfig(TIM4, TIM_IT_Update|TIM_IT_CC1, ENABLE ); //使能捕获和更新中断}需要注意的是,如果所测信号中存在尖峰干扰信号,则TIM4_ICInitStructure.TIM_ICFilter = 0x00; //IC1F=0000 配置输入滤波器,此处不滤波这一行应根据干扰信号的高电平时间来赋予合适的滤波器的值,具体计算方法参考芯片手册或自行百度。

脉冲宽度的测量

脉冲宽度的测量

电子科技大学综合课程设计报告基于单片机门控位的脉冲宽度测量与显示think2011/5/4一、 可行性分析及其原理:该项目是要实现脉冲宽度的测量,再把测量值用数码管显示。

为了实现这一功能我们大致把整个系统分为以下几个模块:1. 振荡器模块:产生某一特定振荡频率的时钟,一般要求这一频率较高,本题要求精度为10us ,所以采用100kHZ 的振荡频率即可。

2. 计数器模块:对振荡脉冲进行计数,用待测脉冲信号作为使能输入(或开关),这样就可以记录下脉冲有效的时间,计数值乘以10us 即为待测脉冲宽度。

3. 译码显示模块:题目中要求用数码管显示6位测量值,分别完成译码和数码管的静态显示或是动态扫描输出即可。

框图如下:二、 本次设计构思了两个方案:方案一:运用CD4518(BCD 码全加器)的级联来实现计数,CD4511七段译码,555多谐振荡器提供100kHZ 频率,待测信号输入到计数器使能。

电路连接图如下:上述方案为数码管静态显示。

优点为方案简单无需编程,只需要组合逻辑与时序逻辑即可完成。

缺点为硬件电路的连线过于复杂上容易出错且很难排除故障,另一个问题在于使用的外接振荡源精度不是很高,势必带来不小的误差。

此方案理论上可行,由于实际操作带来的不方便,我们考虑了后面一种方案。

方案二:利用单片机门控位实现脉冲宽度测量。

基本思路为:利用单片机内部定时器的GATE信号,对于定时器T0来讲,如果GATE=1,则用软件把TR0置1,且INT0为高电平时可以启动定时器T0,所以我们就把被测脉冲信号从INT0端输入,使其上升沿触发启动T0计数,下降沿停止T0计数。

定时器数值乘以机器周期即为脉冲宽度。

电路连接图如下:可以看出,电路结构由以下部分构成:1.振荡模块:12MHZ晶体振荡器,由XTAL1和XTAL2接入单片机。

2.单片机控制模块:AT89S51单片机实现控制,主要任务是对其进行必要的编程设计。

3.输出显示模块:由数码管动态扫描显示,注意P0需要外接上拉电阻。

用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲资料

桂林电子科技大学单片机最小应用系统设计报告指导老师:吴兆华学生:学号:桂林电子科技大学机电工程系目录一、实验课题及要求 (2)二、实验目的 (2)三、系统硬件电路 (2)3.1硬件电路说明 (3)3.3最小系统控制部分 (6)3.3.1晶振电路 (6)3.3.2复位电路 (7)四、软件设计 (10)4.1程序流程图 (10)4.2程序源代码 (11)五、设计总结 (14)六、参考文献 (14)一、实验课题及要求用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲二、实验目的1、加深外部中断指令的基本使用方法;2、熟悉外部中断处理程序的编程方法;3、进一步熟悉8051内部定时/计数器的初始化、使用方法及编程方法;4、进一步掌握8051中断处理程序的编程方法和应用;5、掌握I/O接口的基本方法;6、学会使用并熟练掌握电路绘制软件Protel99SE(或DXP)。

三、系统硬件电路整个设计主要包括单片机基本的晶振电路,按键复位电路,设计中需要的LED管,开关、按键等。

具体的电路图如下图1所示3.1硬件电路说明本次硬件系统包括单片机最小系统、外部中断电路、LED显示电路三部分在下面介绍中对每一部分都有详细的说明。

3.2 AT89C51单片机简介AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL 公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。

它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

图2 AT89S51引脚图AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

毕业设计-基于单片机的数字频率计设计

编号:毕业设计说明书题目:基于单片机的数字频率计设计院(系):电子工程与自动化学院专业:自动化学生姓名:学号:指导教师:职称:教授题目类型:实验研究工程技术研究2012年5月10日摘要在电子技术中,频率是最基本的参数之一,同时也是一个非常重要的参数,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

它是一种用十进制数字显示被测信号频率的数字测量仪器。

频率测量是电子学测量中最为基本的测量之一。

本文中详细介绍了频率计的仿真及设计过程。

本文设计了一种以单片机STC89C52为核心的数字频率计。

介绍了单片机、放大整形模块、分频模块和LCD1602显示模块等各个模块的组成和工作原理。

测量时,将被测输入信号送给单片机,通过程序控制计数,结果送LCD1602显示频率值。

本次设计是以单片机STC89C52为控制核心,利用它内部的定时/计数器完成待测信号频率的测量。

应用单片机的控制功能和数学运算能力,实现计数功能和频率的换算,最后显示测量的频率值。

本次设计所制作的频率计外围电路简单,大部分功能都通过软件编程实现,利用单片机控制实现频率计的自动换挡功能;用单片机中断控制端口实现频率的测量功能;通过分频电路实现对频率档位的控制。

本次设计的频率计具有测量准确度高,响应速度快,体积小等优点。

实现了1Hz~4MHz范围的频率测量,而且可以实现量程自动切换。

关键词:频率计;单片机;计数器;测量AbstractFrequency measurement is the most basic measurement in electronic field, while also a very important parameter, and with a number of the measurement results of electrical parameters have a very close relationship, so, the measurement of frequency has become more important. The digital frequency meter is an indispensable of measuring instruments in the field of scientific research and production of computers, communications equipment, audio and video. It is a decimal number to display the signal's frequency measuring instruments. The frequency measurement is one of the most basic measurement electronics measurements. Frequency of simulation and design process is described in detail in this article. This paper introduces a microcontroller STC89C52 as the core design of digital frequency meter. Introduced of the composition and working principle of microcontroller, amplifying and shaping module, frequency division module and LCD1602 display module and other modules.The design is based on STC89C52 microcontroller for the control of the core, using its internal timer and counter to complete the test signal frequency measurement. Application control features of the microcontroller and the operational ability of the counting function and frequency conversion, and finally use displays the measured frequency value. The design frequency meter produced peripheral circuits is simple, most of the functions are controlled via software programming, application control features of the microcontroller to achieve the frequency of automatic shift function; frequency measurement functions the microcontroller interrupt control port; control of the frequency of stalls by the divider circuit. The design of the frequency meter is high accuracy, fast response, small size, etc. Achieve100Hz to 4MHz frequency measurements, and can automatically switch the flow to achieve scale.Key words:Frequency meter; microcontroller; counter; measurement目录引言 (1)1 绪论 (2)1.1 频率计概述 (2)1.2 频率计发展现状 (2)1.3 数字频率计的种类 (3)2 总体方案设计 (4)2.1 数字频率计设计内容 (4)2.2 频率测量原理 (4)2.3 总体思路 (5)2.4 具体模块 (5)3 硬件设计 (7)3.1 电路设计的内容和方法 (7)3.1.1 电路设计的步骤 (8)3.2 单片机概述 (8)3.2.1 STC89C52简介 (9)3.2.2 STC89C52RC引脚功能说明 (10)3.2.3 单片机引脚分配 (12)3.3 单片机最小系统 (13)3.3.1 单片机最小系统原理 (13)3.3.2 复位电路及时钟电路 (13)3.4 信号调理及放大整形模块 (14)3.4.1 LM318介绍 (14)3.4.2 1N4733及74LS14介绍 (15)3.5 分频模块 (15)3.5.1 74LS161介绍 (15)3.5.2 74LS153介绍 (16)3.6 LCD显示和键盘 (17)3.6.1 LCD1602简介 (17)3.7 MAX232简介 (20)4 系统软件设计 (22)4.1 软件设计 (22)4.1.1 主程序流程图设计 (22)4.1.2 子程序流程图设计 (22)4.2 Keil和Proteus软件介绍 (25)4.2.1 Keil简介 (25)4.2.2 Proteus简介 (26)4.3 程序编写及仿真图设计 (26)5 调试 (28)5.1 系统调试 (28)5.2 软件调试 (29)5.3 软硬件联合调试 (30)5.4 误差分析 (30)6 总结 (31)谢辞 (32)参考文献 (33)附录 (34)引言频率计是我们在电子电路实验中经常会用到的测量仪器之一,它能将频率用液晶显示器或者数码管直接显示出来,给测试带来很大的方便,使结果更加直接;且频率计还能对其他多种物理量进行测量,如声音的频率、机械振动的频率等,都可以先转变成电信号,然后用频率计来测量。

单片机方波程序


0000H MAIN
ORG LJMP
000BH TIMER0_SUB
ORG LJMP
001BH TIMER1_SUB
ORG 0030H
;****************************************************************************** ;函数名:MAIN
第 2 章 实现方法
我用的晶振是 12Mhz 的,用一个定时/计数器是无法实现全部频率的 波形的。必须将 T0 和 T1 结合起来用,一个定时,一个计数。这里的 方波程序,T0 用来定时,T1 用来计数。两者都工作在方式 1。 按键接入的脚是 P3.0。使用前,必须将 P3.4 和 P3.5 短接在一起,这 样 T1 就可实现对 T0 的计数。
MOV ACALL ACALL MOV XRL JZ
R7,#10 ; 延时 10ms DELAY_MS ; 延时去抖 SCAN_KEY ; 再次检查按键值
KEY_S,A A,KEY_V KEY_CHKSW ; 检查按键是否释放
MOV ACALL LJMP
KEY_V,KEY_S ; 保存按键状态 PROC_K1 KEY_CHKSW
MAIN:
MOV
SP,#(STACK-1) ; 设置栈指针
MOV
KEY_V,#01H ; 初始键值
CLR Square
MOV TH_0,#0e8H
MOV 1 计数
MOV MOV
TH0,TH_0 TL0,TL_0
MOV MOV
TH1,256-1 TL1,TH1
嵌入式应用软件园,版权所有,请勿转载/销售。
第 3 章 方波程序源代码
我们的辛勤付出,需要您的肯定,请访问: 嵌入式应用软件园。

100hz方波产生电路

100hz方波产生电路
要产生100Hz的方波信号,可以使用以下电路:
1. 可编程计数器/分频器:使用可编程计数器或分频器芯片(如CD4017或CD4040)可以将输入频率分频为所需的频率。

例如,如果使用一个10kHz的时钟信号,将其分频100倍就可以得到100Hz的方波信号。

2. 比较器和反馈电路:使用一个比较器(如LM311)和反馈电路可以将一个三角波信号转换为方波信号。

生成一个三角波信号(例如使用集成的波形发生器芯片,如XR2206),然后将其与一个参考电压进行比较,在比较器的输出上产生方波信号。

3. 555定时器:使用555定时器芯片可以产生频率可调的方波信号。

通过选择适当的电阻和电容值,可以调节555定时器的输出频率为100Hz。

这些是一些常见的电路,用于产生100Hz的方波信号。

具体选择哪种电路取决于应用需求、可用元件和设计要求。

在实际应用中,还需要注意电路的稳定性、精度和信号质量等因素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档