基于51单片机555定时器试验-——频率计_第1页
基于51单片机555定时器试验-——频率计_第2页
基于51单片机555定时器试验-——频率计_第3页
基于51单片机555定时器试验-——频率计_第4页
基于51单片机555定时器试验-——频率计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、555定时器及其应用 【摘 要】 555定时器是一种模拟和数字功能相结合的中规模集成器件。本 文介绍 555定时器以及由 555定时器的应用。 【关键词】 555定时器 应用 555定时器是一种模拟和数字功能相结合的中规模集成器件。一般用双极性 工艺制作的称为 555,用CMO工S艺制作的称为 7555,除单定时器外 , 还有对应的双 定时器556 /7556 。555定时器的电源电压范围宽 ,可在4. 5V16V工作, 7555 可 在318V工作, 输出驱动电流约为 200mA,因而其输出可与 TTL、CMO或S者模拟电路 电平兼容。 555定时器成本低 , 性能可靠 ,只需要外接几个电阻

2、、 电容,就可以实现多谐振荡器、 单稳态触发器及施密特触发器等脉冲产生与变换电路。 它也常作为定时器广泛应 用于仪器仪表、家用电器、电子测量及自动控制等方面。 555定时器的部电路框 图和外引脚排列图分别如图 2. 9. 1 和图2. 9. 2 所示。它内部包括两个电压比较 器,三个等值串联电阻 ,一个RS触发器,一个放电管 T及功率输出级。提供两个基准 电压VCC /3 和2VCC /3555定时器的功能主要由两个比较器决定。两个比较器的 输出电压控制 RS触发器和放电管的状态。 在电源与地之间加上电压 ,当5脚悬空时 , 则电压比较器 A1的反相输入端的电压为 2VCC/ 3,A2 的同相

3、输入端的电压为 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

4、,人体感应的杂波信号电压由 C2加至 555的触发端 ,使555的输出由低变成高电平 ,继电器KS吸合, 电灯点亮。同时, 555 第7脚内部截止 , 电源便通过 R1给C1充电, 这就是定时的开始。当电容 C1上电压上 升至电源电压的 2 /3时, 555第7脚道通使 C1放电, 使第3脚输出由高电平变回到低 电平,继电器释放 ,电灯熄灭,定时结束。定时长短由 R1、C1 决定: T1 = 1. 1R1 3 C1。按图中所标数值 , 定时时间约为 4分钟。 D1可选用1N41481N400。1 2. 简易催眠器。时基电路 555构成一个极低频振荡器 , 输出一个个短的脉冲 , 使扬 声器发出

5、类似雨滴的声音 (见附图 ) 。扬声器采用 2英寸、 8欧姆小型动圈式雨滴 声的速度可以通过 100K电位器来调节到合适的程度。 如果在电源端增加一简单的 定时开关 , 则可以在使用者进入梦乡后及时切断电源。 3. 用555制作的D类放大器。由 IC 555 和R1、R2、C1等组成100KHz可控多谐 振荡器,占空比为 50%,控制端5 脚输入音频信号 , 3 脚便得到脉宽与输入信幅值 成正比的脉冲信号 , 经L、C3接调、滤波后推动扬声器。 4. 相片曝光定时器。 附图电路是用 555单稳电路制成的相片曝光定时器人工 启动式单稳电路。工作原理 : 电源接通后 , 定时器进入稳态。此时定时电

6、容 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 =

7、 1 、S = 1, 于是输出又翻转成低电平 : V0 = 0 。继电器 KA 释放,曝光灯HL 熄灭。暂稳态结束 ,有恢复到稳态。曝光时间计算公式为 : T = 1. 1RT3C T。本电路提供参数的延时时间约为 1秒2分钟,可由电位器 RP调整和设置。 电路中的继电器必需选用吸合电流不应大于 30mA的产品, 并应根据负载 (HL) 的容 量大小选择继电器触点容量。 /* *555 定时器试验 - 频率计 * * LCD1602 显示 * 改变 VR1电位器的电阻值,观察液晶屏频率发生变化 */ #include #include unsigned char code cdis1 = CY

8、MOMETER / 频率计 ; 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 = 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00 ; char code reserve3_a

9、t_ 0 x3b; / 保留 0 x3b 开始的 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

10、_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0 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-

11、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(0 x38); /16*2 显示, 5*7 点阵, 8 位数据 delayms(5); lcd_wcmd(0 x38); delayms(5); lcd_wcmd(0 x38); delayms(5); lcd_wcmd(0 x0c

12、); / 开显示,不显示光标 delayms(5); lcd_wcmd(0 x06); / delayms(5); lcd_wcmd(0 x01); / 清除 LCD 的显示内容 delayms(5); /* * 设定显示位置 * void lcd_pos(unsigned char pos) lcd_wcmd(pos | 0 x80); / 数据指针 =80+地址变量 /* * 显示函数 * void play() unsigned char n; for (n = 0; n 0; n-) / 高位为 0 不显示 if (displayn = 0 x30) displayn = 0 x20;

13、 else break; lcd_pos(0 x46); / 显示实际频率值 for (n = 5; n != 0 xff; n-) lcd_wdat(displayn); /* * 主函数 * void main() unsigned char m; unsigned long frq_num; P3 = 0 xff; lcd_init(); lcd_pos(0 x00); / 设置显示位置为第一行 for (m = 0; m 16; m+) lcd_wdat(cdis1m); / 显示字符 lcd_pos(0 x40); / 设置显示位置为第二行 for (m = 0; m 16; m+)

14、 lcd_wdat(cdis2m); / 显示字符 TMOD = 0 x51; / 定时器 0 工作在定时方式 / 定时器 1 工作在计数方式 TH0 = 0 x4c; /50ms 定时 TL0 = 0 x00; TH1 = 0 x00; / 计数初值 TL1 = 0 x00; 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()

温馨提示

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

评论

0/150

提交评论