基于51单片机555定时器试验 -—— 频率计
如何用单片机实现对传感器信号的非线性补偿

aa317wk272010-03-17 13:44:03(一)设计思路1.测量方法:多周期同步测量法( 倒数计数器法)从根本上消除了±1误差,实现了等精度测量2.实现技术的选择:硬件实现法(可选的器件有通用的SSI/MSI/LSI集成电路、专用集成电路、可编程逻辑器件——如isPLD器件等);软件实现法(可选的平台有PC机、单片机、DSP器件等)将这两种结合来实现设计要求。
3.信号发生器的选择(频率范围900—1300.0(KHz))SG-4162AD高频信号发生器/计频器:频率范围:100KHZ-150MHZ◆分6档三次谐波到4 50MHZ±5%◆输出电压:100MVRMS◆低频输出:1KHZ2VRMS3.大概的系统设计原理框图:(二)子系统设计1.输入通道的设计。
输入通道是由前置放大器和整形器组成的,所以要对前置放大器的增益和带宽指标进行估计。
为了能准确测量信号,将输入信号经过一个放大整形电路。
其具体实施方案为:将输入信号经过LM358运放放大,再通过74LS132整形,此时的信号还不能直接送入单片机,这是因为在硬件上CPU对INT0和INT1引脚的信号不能控制,解决这个问题要通过硬件,再配合软件来解决。
2.预置闸门时间发生电路设计。
闸门时间的确定,可以先由一个555定时器产生一个脉冲信号,将555产生的脉冲信号送入到74LS90十进制计数器当中,由于74LS90具有二-五进制混合计数的功能,所以可以用它来实现五进制计数,将74LS90的输出接到3—8线译码器74LS138的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的闸门时间控制。
但是考虑到硬件实现上的复杂性,可以通过软件上来实现,就是将五个发光二极管直接接到单片机的P1口由软件上来实现,通过按键来改变它的闸门时间。
3.数码显示电路的设计。
该部分电路是由单向八位移位寄存器74LS164和数码管组成的。
基于单片机的矩形波频率计设计

基于单片机的矩形波频率计设计【摘要】本文基于单片机设计了一种矩形波频率计,通过研究背景、研究目的和意义的介绍,引出了研究的重要性。
在详细描述了矩形波信号产生电路设计、频率测量原理、单片机程序设计、系统性能测试和优化改进方向。
结论部分对实验结果进行了分析,总结了设计的经验教训,并展望了未来的研究方向。
通过本文的研究,可以为矩形波频率计的设计和应用提供一定的参考和借鉴。
【关键词】引言:研究背景、研究目的、意义正文:矩形波信号产生电路设计、频率测量原理、单片机程序设计、系统性能测试、优化改进方向结论:实验结果分析、设计总结、展望未来关键词:单片机、矩形波、频率计、电路设计、测量原理、系统性能、优化改进、实验结果、设计总结、未来展望1. 引言1.1 研究背景矩形波信号是工程实践中常见的一种波形,具有方波上升时间短、上升沿与下降沿时间相等、占空比可调等特点。
在电子测量技术中,矩形波信号不仅能够作为参考信号进行测量,也可用于数字系统中的时钟信号等。
研究基于单片机的矩形波频率计设计具有重要意义。
随着单片机技术的发展和应用范围的不断扩大,基于单片机的频率计设计已经成为一个热门的研究方向。
通过在单片机上编程实现信号的采集、处理和显示,可以实现频率的准确测量和显示。
这不仅提高了测量的精度和稳定性,同时也简化了电路的设计和实现。
研究基于单片机的矩形波频率计设计,将有助于提高频率测量的精度和稳定性,同时也将推动单片机技术在测量领域的应用。
在工程实践中,频率测量是一项基础而又重要的工作,准确的频率测量对于电子设备的研发和生产具有重要意义。
研究基于单片机的矩形波频率计设计对于促进工程技术的发展和提高电子设备的性能具有积极的意义。
1.2 研究目的研究目的:本文旨在设计一种基于单片机的矩形波频率计,通过对频率测量原理和单片机程序设计的研究,实现对矩形波信号频率的准确测量。
通过系统性能测试和优化改进方向的探讨,验证该频率计的稳定性和准确度,并提出改进方案。
电工电子技术课程设计说明书简易数字频率计设计

摘要频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称基础时间为1秒。
基础时间也可以大于或小于一秒。
基础时间越长,得到的频率值就越准确,但基础时间越长则没测一次频率的间隔就越长。
基础时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。
本文数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。
关键词:数显、频率计、时基、protues仿真、555构成多谐振荡器简易数字频率计的设计数字频率计是直接用十进制数字来显示被测量信号频率的一种测量装置,它不仅可以测量正弦波、方波、三角波和尖端冲信号的频率,而且还可以测量它们的周期。
频率,就是周期性信号在单位时间 (1s) 内变化的次数.若在一定时间间隔 T 内测得这个周期性信号的重复变化次数为 N ,则其频率可表示为 f=N/T 。
原理框图中,被测信号 Vx经放大整形电路变成计数器所要求的脉冲信号Ⅰ,其频率与被测信号的频率fx相同。
时基电路提供标准时间基准信号Ⅱ,其高电平持续时间t1=1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束时闸门关闭,停止计数。
若在基础时间1S内计数器计得的脉冲个数为N,则被测信号频率fx=NHz。
逻辑控制电路的作用有两个:一是产生锁存脉冲Ⅳ,使显示器上的数字稳定;二是产生“0”脉冲Ⅴ,使计数器每次测量从零开始计数。
1.电路设计方案及其论证1-1 ICM7216D 构成数字频率计电路图由ICM7216D 构成的数字频率计由ICM7216D 构成的10MHZ 频率计电路采用+5V 单电源供电。
高精度晶体振荡器和321R C C 、、构成10MHz 并联振荡电路,产生时间基准频率信号,经内部分频后产生闸门信号。
输出分别连接到相应数码显示管上。
ICM7216D 要求输入信号的高电平大于,低电平小于,脉宽大于50ns ,所以实际应用中,需要根据具体情况增加一些辅助电路。
数显脉搏测试仪课程设计报告

电子电路课程设计报告院、系:信息工程系专业:电子信息工程学号:姓名:同组人:指导教师:二0一一年一月七日目录一、课程设计实验目的 (3)二、课程实验设计方案 (3)三、设计要求及技术指标 (3)四、课程设计实验器材 (3)五、课程设计实验原理 (4)(1)集成运放放大电路 (4)(2)555定时器原理及应用介绍 (4)(3)计数器 (6)(4)译码器 (7)(5)七段数码管 (9)(6)压电陶瓷片 (10)六、仿真调试与分析 (11)七、元件安装与焊接 (11)八、课程设计实验心得 (12)电子电路课程设计报告脉搏测试仪是用来测量一个人心脏跳动次数的电子仪器,也是心电图的主要组成部分。
它是用来测量频率较低的小信号(传感器输出电压一般为几个毫伏)。
我们组选择本课题设计项目,主要是感觉做一个难度相对比较高的课题既能锻炼自己设计和动手的能力,而且成品又具有现实运用的价值,一举两得。
一、课程设计实验目的:1.通过对电子技术的综合运用,使学到的理论知识相互融泄贯通,在认识上产生一个飞跃。
2.初步掌握一般电子电路设计的方法,使学生得到一些工程设计的初步训练,并为以后的毕业设计奠定良好基础。
3.培养同学自学能力,独立分析问题、解决问题的能力。
对设计中遇到的问题,通过独立思考、查找工具书、参考文献、寻求正确答案;对实验中碰到的一些问题,能通过观察、分析、判断、改正、再实验、再分析等基本方法去解决。
4.通过课程设计这一教学环节,树立严肃认真,文明仔细,实事求是的科学作用,树立生产观点,经济观点和全局观点。
为更好的运用所学的知识,加深对电子电路的掌握,达到创新的目的。
通过实践制作一个数字频率计,学会合理的利用集成电子器件制作电路二、课程实验设计方案:把转换的为电信号的脉搏信号,在单位时间内进行记数,并用数字显示其记数值,从而直接得到每分钟的脉搏数。
三、设计要求及技术指标它的基本功能是:用传感器将脉搏的跳动转换为电信号,并加以放大,整形和滤波。
频率可调方波发生器

频率可调的方波发生器及频率显示器设计学院:电子信息工程学院专业:通信工程指导老师:学生姓名:学号:目录1.引言 (3)2.电路元件结构及工作原理 (3)2.1 555定时器 (3)2.2 74ls160同步计数器 (5)2.3 74ls175 4位寄存器 (6)3.电路工作原理仿真 (6)3.1频率可调555方波发生器 (6)3.2频率计数器 (8)3.3可显示频率的方波发生器 (9)4.电路的测试结果误差分析 (10)5.其它类型的方波发生器 (10)6.课程设计设计总结 (12)7.参考文献 (13)频率可调的方波发生器及频率显示器设计摘要:通过555定时器进行函数发生器的设计,电路简单,成本低廉,稳定性好,精度高。
根据有关理论原理进行电路参数的计算和选取,借助Multisim进行电路创建,波形仿真,设计频率可调,步进10Hz的简易方波发生器,并且能用三位十进制数显示频率。
对有关问题进行了分析讨论。
关键词: 555定时器函数发生器波形仿真The adjustable frequency square wave generator andfrequency display designAbstract:Using the 555 timer to design function generator , thecircuit is simple,the cost is low, the function generator combines good stability and high precision. According to the principle of the theory of circuit parameter calculation and selection, use Multisim to create circuit, waveform simulation, design of adjustable frequency, simple step 10 hz square-wave generator, and can use the three decimal number to display frequency. Analyses the related problems are discussed.Keywords: 555 timer;function generator;waveform simulation1.引言基本的函数发生器用来产生正弦波、方波、三角波三种电压波形,其电路构成形式多种多样,有全部采用分立元件的(非门振荡),也可由运放级联构成,也有专用的集成电路直接得到(如片集成电路函数发生器ICL8038),或通过单片机串口输出方波。
单片机课程设计实验报告

单片机课程设计实验报告实验名称:频率计 指导教师:徐建军 学生信息:鄢立夏(电气 0903,09271061) 闫琛 (电气 0904,09271121)一、 实验题目 6 位数码管显示频率,测量频率的范围为 50HZ—50KHZ 用外 部中断或计数器,可使用 555 波形发生器。
二、 实验电路频率测量电路鄢立本电路图根据实验板的绘制。
三、 实验原理 本实验中采用了测频的方法,使用了 T0、T1 定时计数器,其中 通过控制 T1 作为定时器设定 1S 延时,T1 作为计数器接受脉冲输入。
1S 延时到,关闭 T0、T1 读取 TH0、TL0 并将此两个 8 位数据转化为 6 位十进制数存储进 30H-35H 的位寻址空间内, 然后调用数码管显示函 数,显示 30H-35H 中的数值。
然后对 T0、T1 做下一次计数的初始化 设置,并清零 TH0、TL0。
再进入下一次测频阶段,如此循环,即可夏实现动态测量输入信号的频率并在数码管上进行显示。
四、 程序控制流程图START 关闭T0、T1 停止计数单片机读取 TH0、TL0T0->十六位计数器 初始化 T1->十六位20ms定 时初始化初始化数据存储空 间初始化数据处理 函数开启T0、T1, 开始计数 数据处理完毕并送至 30H~35H?N YP3.4管脚脉冲NT1,50次中断, 定时1秒到?数码管显示 30H~35H内容N显示完 毕?频 率 计 控 制 流 程 图Y设计:鄢立夏、闫琛五、 实测代码 由于我们采用了自己焊接的 51 单片机最小系统为新片烧写程序,然后将新 片安放至实验板上进行调试的,编写软件为 Keil,所以一下包括注释等某些格式 可能和伟福软件有些不同。
望谅解。
Org 0000H Sjmp Main; Org 000BH; Sjmp Timer0_Serv; 判断 100Khz 时溢出时使用 Org 001BH Sjmp Timer1_Serv; Main: Lcall Sys_Init; LCALL Start; Sys_Loop: Ajmp Sys_Loop; while(1);//开始函数 Start: Setb TR0; Setb TR1; Setb ET1; Setb ET0 Setb EA; Ret; //系统初始化函数 Sys_Init: Lcall Timer_Init; //设置定时时间 50*20ms=1s MOV 20H,#50; //保存 T0 的计数值 Mov 21H,#0; Mov 22h,#0; Mov 23H,#0;//100Khz 位 //设置六位数据存储空间; MOV 31H,#0; MOV 32H,#0; MOV 33H,#0; MOV 34H,#0; MOV 35H,#0; MOV 36H,#0; Ret; //定时器/计数器 0、1 初始化函数,T0 作为计数器,T1 作为定时器 Timer_Init: Mov TMOD,#15H; Mov TH0,#00H; Mov TL0,#00H; Mov TH1,#0ECH;定时 10ms Mov TL1,#078H; Ret; //T0 中断服务函数 Timer0_Serv: INC 23H; 十万位处理; Reti; //T1 中断服务函数 Timer1_Serv: MOV R1,#31H;数据起始位 MOV R2,#6; MOV R4,#0FEH; Single_Spark:;单个数码管亮,循环起来MOV A,R4; MOV P0,A; RL A; MOV R4,A; MOV A,@R1; MOV DPTR,#Led_Data; MOVC A,@A+DPTR; MOV P2,A; INC R1; LCALL Delay; DJNZ R2,Single_Spark; //判断 1S 定时是否已到 Djnz 20H,Timer_Go_On; Clr TR0; Clr TR1; Mov 21H,TL0; Mov 22H,TH0; Mov 20H,#100; LCALL Frequence_Show; Mov TH0,#00H; Mov TL0,#00H; Timer_Go_On: Mov TH1,#0B1H;定时 10ms Mov TL1,#0DFH; SETB TR0; SETB TR1; EXIT: Reti; Frequence_Show: MOV R0,#31H MOV R1,#06H ;对上次的内容清零 Clear_Data: MOV @R0,#0 INC R0 DJNZ R1,Clear_Data; //计数器处理函数,封装. Data_Handle: MOV A,23H; MOV B,#0AH; DIV AB; MOV 24H,A ;存储第一位商 MOV A,B;MOV 30H,22H; ANL 30H,#0F0H; ADD A,30H; SWAP A; MOV B,#0AH; DIV AB; MOV 25H,A MOV A,B; SWAP A; ANL 22H,#0FH; ADD A,22H; MOV B,#0AH; DIV AB; MOV 26H,A MOV A,B; MOV 30H,21H; ANL 30H,#0F0H; ADD A,30H; SWAP A; MOV B,#0AH; DIV AB; MOV 27H,A; MOV A,B; SWAP A; ANL 21H,#0FH; ADD A,21H; MOV B,#0AH; DIV AB; MOV 28H,A; MOV 31H,B MOV A,24H; SWAP A; ADD A,25H; MOV B,#0AH; DIV AB; MOV 24H,A MOV A,B; SWAP A; ADD A,26H;;存储第二位商;存储第三位商;存储第四位商;存储第五位商 ;存储十进制数个位;存储第一位商MOV B,#0AH; DIV AB; MOV 25H,A; MOV A,B; SWAP A; ADD A,27H; MOV B,#0AH ; DIV AB ; MOV 26H,A; MOV A,B; SWAP A; ADD A,28H; MOV B,#0AH; DIV AB; MOV 27H,A; MOV 32H,B; MOV A,24H; SWAP A; ADD A,25H; MOV B,#0AH; DIV AB ; MOV 24H,A ; MOV A,B ; SWAP A; ADD A,26H; MOV B,#0AH; DIV AB ; MOV 25H,A; MOV A,B; SWAP A ; ADD A,27H; MOV B,#0AH; DIV AB; MOV 26H,A; MOV 33H,B; MOV A,24H; SWAP A; ADD A,25H;;存储第二位商;存储第三位商;存储第四位商 ;存储十进制数十位;存储第一位商;存储第二位商;存储第三位商 ;存储十进制数百位MOV B,#0AH; DIV AB; MOV 24H,A ; MOV A,B; SWAP A; ADD A,26H; MOV B,#0AH; DIV AB; MOV 25H,A MOV 34H,B MOV A,24H; SWAP A; ADD A,25H; MOV B,#0AH; DIV AB; MOV 35H,B; MOV 36H,A;;存储第一位商;存储第二位商 ;存储十进制数千位;存储十进制数万位 ;存储十进制数十万位MOV R0,#6; MOV R1,#31H; MOV R2,#0EFH MOV DPTR,#Led_Data;RET; Delay: MOV 40H,#0F0H; Delay_Loop: NOP; DJNZ 40H,Delay_Loop; RET; Led_Data: DB 3FH,06H,5BH,4FH,66H,6DH,0FDH,07H,0FFH,0EFH; END六、 实验问题总结及解决方法 1、 在调试数码管显示子程序时,数码管显示太暗。
单片机实验室技术指标

序号设备名称技术参数数量1单片综合仿真实验仪KEIL MONITER 51的仿真调试功能;TKSMonitor51仿真器;2。
在Keil uVision2调试环境下调试、运行单片机程序;3.预留的ISP接口,具有ISP编程器的功能;4。
自带5V(2A)、12V(500mA)、-12V(300mA)电源,含瞬时短路保护和过流保护;5。
带有32k的FLASH用于用户的程序下载;6。
具有138译码和373锁存电路,方便用户随意设置;7。
集成1路USB1.1接口,提供完整的单片机固件程序、上位机驱动程序源码及其完整的软件包和应用范例;8。
具有128*64的点阵液晶模块及接口;9。
具有8×8LED点阵模块;10.具有步进电机、直流电机;ﻫ11. 具有TLC549串行AD转换电路;12。
具有555实验电路;13。
具有由键盘显示芯片ZLG7290控制的8个8段数码管和16个按键;14。
具有8个拨码开关、8个LED、8个独立的按键;ﻫ15.具有接触式IC卡座;16。
具有LM342四运放,可以搭建各种运放电路,做运放实验;ﻫ17.具有继电器驱动及控制电路,可做各种继电器控制的实验;18.具有I2C接口的EEPROM和RTC实时时钟电路;19ﻫ.具有RS232和RS485接口电路;ﻫ20.具有交流蜂鸣器驱动控制电路;ﻫ21.具有PWM脉宽调制输出接口;ﻫ22具有电位器电压调节电路;ﻫ23。
具有74LS164串转并;74LS 165并转串电路;ﻫ24。
具有红外收发数据电路;ﻫ25.具有18B20单总线数字式温度传感器电路;ﻫ26.具有ZY1730语音模块;27.含有一个逻辑笔,可用于检查TTL电平的高低;ﻫ28.含有一个时钟发生器,可以产生时钟信号.29。
具有两组扩展口:PARK1,PARK230.支持选配件8255PACK,可以做8255I/O口扩展实验;31.支持选配件8155PACK,可以做8155I/O口扩展实验;32.支持选配件8019PACK,可以做TCP/IP网络扩展实验;33.支持选配件1581 PACK,可以做USB2。
新型数字频率计

新型数字频率计作者:胡汉章俞海云来源:《电子世界》2013年第10期【摘要】在电子技术中,频率是最基本的电参数之一,它与许多电参数的测量方案,测量结果都有着十分密切的关系,因此频率的测量就显得更加重要。
数字频率计是近代电子技术领域重要测量工具之一。
数字频率计是在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。
测量周期信号的频率,由数字电路来实现。
设计中介绍的主要电路有波形整形电路,分频电路,控制电路和控制门,计数、译码、显示电路。
本文讲述了数字频率计的工作原理,各分块电路的相关解析,主要集成块的引脚图及其主要功能,对硬件的调试,对调试结果的分析以及此次设计的成果、结论与心得。
【关键词】数字频率计;脉冲信号;控制门;译码显示;直流稳压电源;测量原理数字频率计一种能把频率和时间等两种以上的物理量进行数字化测量的仪器。
数字频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。
频率计主要用于测量。
数字频率计是在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。
测量频率的方法有很多,按照其工作原理分为无源测量法、比较法、示波器法和计数法等。
计数法实质上属于比较法,其中最常用的方法是电子计数器法。
电子计数器是一种最常见、最基本的数字化测量仪器。
数字计数式频率计能直接计数单位时间内被测信号的脉冲数,然后以数字形式显示频率值。
这种方法测量精确度高、快速,适合不同频率、不同精确度测频的需要。
电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。
电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段。
它的基本功能是测量正弦信号、方波信号、尖脉冲信号以及其他周期性变化的物理量。
如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率、转速、声音的频率以及产品的计件等等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
555定时器及其应用【摘要】555定时器是一种模拟和数字功能相结合的中规模集成器件。
本文介绍555定时器以及由555定时器的应用。
【关键词】555定时器应用555定时器是一种模拟和数字功能相结合的中规模集成器件。
一般用双极性工艺制作的称为555,用CMOS工艺制作的称为7555,除单定时器外,还有对应的双定时器556 /7556。
555定时器的电源电压围宽,可在4. 5V~16V工作, 7555可在3~18V工作,输出驱动电流约为200mA,因而其输出可与TTL、CMOS或者模拟电路电平兼容。
555定时器成本低,性能可靠,只需要外接几个电阻、电容,就可以实现多谐振荡器、单稳态触发器及施密特触发器等脉冲产生与变换电路。
它也常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等方面。
555定时器的部电路框图和外引脚排列图分别如图2. 9. 1和图2. 9. 2所示。
它部包括两个电压比较器,三个等值串联电阻,一个RS触发器,一个放电管T及功率输出级。
提供两个基准电压VCC /3 和2VCC /3555定时器的功能主要由两个比较器决定。
两个比较器的输出电压控制RS触发器和放电管的状态。
在电源与地之间加上电压,当5脚悬空时,则电压比较器A1的反相输入端的电压为2VCC /3,A2的同相输入端的电压为VCC /3。
若触发输入端TR 的电压小于VCC /3,则比较器A2 的输出为1可使RS触发器置1,使输出端OUT = 1。
如果阈值输入端TH的电压大于2VCC /3,同时TR端的电压大于VCC /3,则A1的输出为1,A2的输出为0,可将RS触发器置0,使输出为0电平。
555定时器的应用举例1. 555触摸定时开关。
集成电路IC1是一片555定时电路,在这里接成单稳态电路。
平时由于触摸片P端无感应电压,电容C1通过555第7脚放电完毕,第3脚输出为低电平,继电器KS释放,电灯不亮。
当需要开灯时,用手触碰一下金属片P,人体感应的杂波信号电压由C2加至555的触发端,使555的输出由低变成高电平,继电器KS吸合,电灯点亮。
同时, 555第7脚部截止,电源便通过R1给C1充电,这就是定时的开始。
当电容C1上电压上升至电源电压的2 /3时, 555第7脚道通使C1放电,使第3脚输出由高电平变回到低电平,继电器释放,电灯熄灭,定时结束。
定时长短由R1、C1 决定: T1 = 1. 1R1 3 C1。
按图中所标数值,定时时间约为4分钟。
D1可选用1N41481N4001。
2. 简易催眠器。
时基电路555构成一个极低频振荡器,输出一个个短的脉冲,使扬声器发出类似雨滴的声音(见附图) 。
扬声器采用2英寸、8欧姆小型动圈式雨滴声的速度可以通过100K电位器来调节到合适的程度。
如果在电源端增加一简单的定时开关,则可以在使用者进入梦乡后及时切断电源。
3. 用555制作的D类放大器。
由IC 555 和R1、R2、C1等组成100KHz可控多谐振荡器,占空比为50%,控制端5 脚输入音频信号, 3脚便得到脉宽与输入信幅值成正比的脉冲信号,经L、C3接调、滤波后推动扬声器。
4. 相片曝光定时器。
附图电路是用555单稳电路制成的相片曝光定时器人工启动式单稳电路。
工作原理: 电源接通后,定时器进入稳态。
此时定时电容CT的电压为: VCT =VCC = 6V。
对555这个等效触发器来讲,两个输入都是高电平,即VS = 0。
继电器KA不吸合,常开点是打开的,曝光照明灯HL不亮。
按一下按钮开关SB之后,定时电容CT立即放到电压为零。
于是此时555电路等效触发的输入成为: R = 0、S = 0,它的输出就成高电平:V0 = 1。
继电器KA吸动,常开接点闭合,曝光照明灯点亮。
按钮开关按一下后立即放开,于是电源电压就通过RT向电容CT充电,暂稳态开始。
当电容CT上的电压升到2 /3VCC既4 伏时,定时时间已到, 555等效电路触发器的输入为: R = 1、S = 1,于是输出又翻转成低电平: V0 = 0。
继电器KA释放,曝光灯HL 熄灭。
暂稳态结束,有恢复到稳态。
曝光时间计算公式为: T = 1. 1RT3 CT。
本电路提供参数的延时时间约为1秒~2分钟,可由电位器RP调整和设置。
电路中的继电器必需选用吸合电流不应大于30mA的产品,并应根据负载(HL)的容量大小选择继电器触点容量。
/******************************************************************** ** 555定时器试验-——频率计** ** ** LCD1602显示**改变VR1电位器的电阻值,观察液晶屏频率发生变化** ********************************************************************/#include <reg52.h>#include <intrins.h>unsigned char code cdis1[] ={" CYMOMETER " //频率计};unsigned char code cdis2[] ={"FREQ: Hz "};sbit LCD_RS = P2 ^ 6;sbit LCD_RW = P2 ^ 5;sbit LCD_EN = P2 ^ 7;bit sec = 0;unsigned char msec = 0, Hdata = 0, Ldata = 0, Count = 0;unsigned long temp = 0;unsigned char data display[] ={0x00, 0x00, 0x00, 0x00, 0x00, 0x00};char code reserve[3]_at_ 0x3b; //保留0x3b开始的3个字节/*********************************************************us延时函数(4.34us)*********************************************************/void delayNOP(){_nop_();_nop_();_nop_();_nop_();}/*********************************************************ms延时函数*********************************************************/void delayms(unsigned int ms){unsigned char n;while (ms--){for (n = 0; n < 114; n++);}}/*********************************************************** * * 检查LCD忙状态* * lcd_busy为1时,忙,等待。
* * lcd-busy为0时,闲,可写指令与数据。
* * * **********************************************************/bit lcd_busy(){bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;delayNOP();result = (bit)(P0 &0x80);LCD_EN = 0;return (result);}/*********************************************************** **写指令数据到LCD **RS=L,RW=L,E=高脉冲,D0-D7=指令码。
* * ***********************************************************/void lcd_wcmd(unsigned char cmd){while (lcd_busy());LCD_RS = 0;LCD_RW = 0;LCD_EN = 1;P0 = cmd;delayNOP();LCD_EN = 0;}/*********************************************************** **写显示数据到LCD **RS=H,RW=L,E=高脉冲,D0-D7=数据。
* * ***********************************************************/void lcd_wdat(unsigned char dat){while (lcd_busy());LCD_RS = 1;LCD_RW = 0;LCD_EN = 1;P0 = dat;delayNOP();LCD_EN = 0;}/*********************************************************** * * LCD初始化设定* * * **********************************************************/void lcd_init(){delayms(15);lcd_wcmd(0x38); //16*2显示,5*7点阵,8位数据delayms(5);lcd_wcmd(0x38);delayms(5);lcd_wcmd(0x38);delayms(5);lcd_wcmd(0x0c); //开显示,不显示光标delayms(5);lcd_wcmd(0x06); //delayms(5);lcd_wcmd(0x01); //清除LCD的显示容delayms(5);}/*********************************************************** * * 设定显示位置* * * **********************************************************/void lcd_pos(unsigned char pos){lcd_wcmd(pos | 0x80); //数据指针=80+地址变量}/*********************************************************** * * 显示函数* * * **********************************************************/void play(){unsigned char n;for (n = 0; n <= 4; n++)//数据转换{display[n] = temp % 10+0x30;temp = temp / 10;}display[5] = temp + 0x30;for (n = 5; n > 0; n--)//高位为"0"不显示{if (display[n] == 0x30)display[n] = 0x20;elsebreak;}lcd_pos(0x46); //显示实际频率值for (n = 5; n != 0xff; n--)lcd_wdat(display[n]);}/********************************************************** * * 主函数* * * *********************************************************/void main(){unsigned char m;unsigned long frq_num;P3 = 0xff;lcd_init();lcd_pos(0x00); //设置显示位置为第一行for (m = 0; m < 16; m++)lcd_wdat(cdis1[m]);//显示字符lcd_pos(0x40); //设置显示位置为第二行for (m = 0; m < 16; m++)lcd_wdat(cdis2[m]);//显示字符TMOD = 0x51; //定时器0工作在定时方式//定时器1工作在计数方式TH0 = 0x4c; //50ms定时TL0 = 0x00;TH1 = 0x00; //计数初值TL1 = 0x00;ET0 = 1; //使能TIMER0中断ET1 = 1; //使能TIMER1中断EA = 1; //允许中断PT1 = 1; //定义TIMER1中断优先TR0 = 1;TR1 = 1;while (1){if (sec){Hdata = TH1; //取计数值Ldata = TL1;frq_num = ((Count *65535+Hdata * 256+Ldata) *108 / 100);TH1 = 0;TL1 = 0;sec = 0;Count = 0;TR1 = 1;TR0 = 1;}temp = frq_num;play();}}/*********************************************************** * * Time0中断函数* * * **********************************************************/void Time0()interrupt 1{TH0 = 0x4c; //50ms定时TL0 = 0x00;msec++;if (msec == 20)//50*20=1S{TR0 = 0; //关闭TIMER0TR1 = 0; //关闭TIMER1msec = 0;sec = 1; //置秒标记位}}/*********************************************************** * * Time1中断函数* * * **********************************************************/void Time1()interrupt 3{Count++;}/*********************************************************/。