收藏 分享(赏)

多功能计数器论文.doc

上传人:tkhy51908 文档编号:6359508 上传时间:2019-04-09 格式:DOC 页数:32 大小:2.39MB
下载 相关 举报
多功能计数器论文.doc_第1页
第1页 / 共32页
多功能计数器论文.doc_第2页
第2页 / 共32页
多功能计数器论文.doc_第3页
第3页 / 共32页
多功能计数器论文.doc_第4页
第4页 / 共32页
多功能计数器论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、2008 年山东省“ZLG 杯”大学生电子设计竞赛12008 年山东省大学生电子设计大赛 编号 F 乙 7602 F 题 多功能计数器 参赛学生:周明明 杨金伟 曹旗开指导老师:刘晓明 孙玉梅 田敬成参赛院校:烟 台 南 山 学 院所学专业:应 用 电 子 技 术2008 年山东省“ZLG 杯”大学生电子设计竞赛22008 年山东省“ZLG 杯”大学生电子设计竞赛F 题 简易多功能计数器摘要本设计共分电源、单片机控制模块、信号前向通道处理模块、键盘、液晶显示模块、模数(A/D)转换模块、语音播报模块、测温及时钟八个模块。以 AT89C52 单片机为控制模块核心,对多功能计数器可编程控制,实现周

2、期、频率、时间间隔的测量。同时可实现对测量结果、时钟、温度及被测信号幅度的液晶显示及语音播报。关键词:多功能 周期 频率 时间间隔 测量 语音播报Abstract The design consists of power, MCU control module, before the signal to channel processing module, keyboard, LCD Module (A / D) converter modules, voice on several modules, temperature and clock module eight modules. AT

3、89C52 MCU to control module for the control of the core, the counter-programmable control, and cycle, frequency, time interval measurement. At the same time can be realized on the measurement results, clock, temperature of the liquid crystal display and voice broadcast.Key words: cycle-time interval

4、 measurement frequency voice broadcast2008 年山东省“ZLG 杯”大学生电子设计竞赛3目 录摘要-2一 方案设计与论证-41.1计数法测量周期原理-41.2计数法测量时间间隔原理-51.3总体设计方案比较与选择-5二 模块电路设计及比较-72.1 电源模块-72.2 前向信号通道处理模块-82.3 液晶显示模块-92.4 键盘控制模块-112.5 A/D 转换模块 -112.6 语音报温模块(发挥)-122.7 时钟模块(发挥)-132.8 测温模块(发挥)-14三 软件方案设计-153.1 主程序流程方框图-153.2 语音播报程序方框图-163.3

5、 Keil C 程序-17四 数据处理-224.1 测试数据分析-224.2 实测中误差分析与处理-22五 电路原理图-245.1 系统原理图-245.2 系统 PCB 图-255.3 Multisim 仿真图-265.4 作品实物图-292008 年山东省“ZLG 杯”大学生电子设计竞赛4参考文献-30一.总体方案设计比较与选择1.1 计数法测量周期原理周期是频率的倒数,电子计数器能测量信号周期,通过计算得到待测信号的频率。具体原理如下:图 1.1 计数法测量周期原理流程图当输入信号为正弦波时,波形如图 22 所示。可以看出,被测信号经整形、M 分频后,形成控制闸门脉冲信号,其宽度等于被测信

6、号的周期 MTx。晶体振荡器的输出经分频后得到的频率为 fc 的标准信号,其周期为 Tc,加入主门输入端,在闸门时间 Tx 内,标准频率脉冲信号通过闸门形成技术脉冲,送至计数器计数,经译码显示计数值 N。由图 2.2所示的波形图可得2008 年山东省“ZLG 杯”大学生电子设计竞赛5MTx=NTc; Tx=NTc/ M当 Tc 为一定时,计数结果可直接表示为 Tx 值。例如Tc=1us, N=1000,M=1 时,则Tx=1000us=1ms,fx=1kHz ;Tc=1us,N=1000,M=10 时,则Tx=100us=0.1ms,fx=10kHz。在实际电子计数器中,根据需要,M 可以有几

7、种数值,用有若干个档位的开关实施转换,显示器能自动显示时间单位和小数点,使用起来非常方便。1.2 计数法测量时间间隔原理单片机定时器/计数器的方式控制寄存器 TMOD 中的GATE 位=1 时,可以很方便的进行 INT0 引脚的外部输入信号的时间间隔测量。将被测信号由 INT0 引脚的外部输入,当输入信号为高电平时启动定时,高电平结束自动停止计数,计算后可得被测信号的时间间隔,当测量时间间隔时输入信号经数据选择器 74LS153 不分频直接送 INT0 引脚。1.3 多功能计数器总体设计方案方案一:采用多种数字逻辑电路来实现原理图中的逻辑控制、主门、门控、计数单元的设计要求,这样设计的电路整体

8、比较复杂,而且不宜完成发挥部分的功能要求。所以方案一不采用。方案二:可以采用 FPGA 来实现原理图中的逻辑控制、主门、门控、计数单元的设计要求,并且设计方便,但由于对 FPGA 的技术原理掌握不够熟练,所以放弃方案二。方案三:系统采用 89c52 为核心的单片机控制系统,实现原理图中的逻辑控制、主门、门控、计数、晶振、分频单元的设计要求,多功能计数器系统的基本原理流程框图 如 图 1.1。2008 年山东省“ZLG 杯”大学生电子设计竞赛6单片机晶振产生的 12MHz 经内部 12 分频后作为基准信号,由被测输入整形后信号的下降沿触发单片机的外部中断 INT0,从而形成闸门脉冲。前一周期信号

9、的下降沿触发中断后,在中断服务程序中开启定时器 T0 进行定时;此周期信号的下降沿再次触发中断后,在中断服务程序中关闭定时器。计算两次中断的时间间隔,即可得被测信号的周期 Tx,而 fx=1/Tx。单片机定时器/计数器的方式控制寄存器 TMOD 中的 GATE 位=1 时,可以很方便的进行INT0 引脚的外部输入信号的时间间隔测量。且单片机的控制电路很容易实现扩展,比如语音模块、测温 I2C 模块、时钟模块、A/D 模块等。依据大赛题目的设计要求,并结合自身情况采用方案三。通过测量周期方法来实现对周期、频率、时间间隔的测量,并能所测值显示,测量值语音播报、温度显示、时间显示、显示被测信号的峰值

10、、记忆 10 个历史数据并可以随时查看的功能。2008 年山东省“ZLG 杯”大学生电子设计竞赛7图 1.2 方案原理模块框图二 模块电路设计及比较系统硬件以 89c52 单片机为核心,外围包括电源模块、信号处理模块、液晶显示模块、键盘模块、A/D 转换模块、语音报数模块、及时钟芯片模块。2.1 电源模块稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图 2.12008 年山东省“ZLG 杯”大学生电子设计竞赛8图 2.1 电源方框图a 整流和滤波电路:整流作用是将交流电压 U2变换成脉动电压 U3。滤波电路一般由电容组成,其作用是脉动电压 U3中的大部分纹波加以滤除,以得到较平滑的

11、直流电压 U4。b 稳压电路:由于得到的输出电压 U4受负载、输入电 压 和 温度的影响不稳定,为了得到更为稳定电压添加了稳压电路,从而得到稳定的电压 U0。图 2.3 中电路提供+5V 的电源;主要用于单片机(AT89C52) 、液晶显示(包括74LS164,CC7107) 、键盘、 。图 2.2 5V 电源原理图图 2.3 +5V 电源原理图2.2 前向信号通道处理模块方案一:OP07 比较器整形,74LS161 计数器分频2008 年山东省“ZLG 杯”大学生电子设计竞赛9实验验证此电路整形输出波形前后沿均上冲,毛刺较多,易引起误触发。而计数器74LS161 为十六进制计数,需加与非门改

12、为十进制,电路略复杂,后找到 CD4017 十进制计数器,取代了 74LS161。此方案不采用。方案二:施密特整形,计数器分频实验验证此电路在 200K 以下时,波形良好,但超出 200K 时输出信号幅度大幅衰减,不能满足后继电路的设计要求。从而无法实现发挥部分测频要求。故此方案不采用。 方案三:非门整形,计数器分频2008 年山东省“ZLG 杯”大学生电子设计竞赛10图 2.4 前向信号通道原理图分波段测量:第四波段:1MHz10MHz 1000 分频10MHz1000 分频10 4Hz10KT=0.1ms启用中断、定时器1MHz1000 分频10 3Hz1K T=1ms 启用中断、定时器第

13、三波段:100KHz 1MHz 100 分频1MHz100 分频10 4Hz10KT=0.1ms启用中断、定时器100KHz100 分频10 3Hz1K T=1ms 启用中断、定时器第二波段:10KHz100KHz 10 分频100KHz10 分频10 4Hz10KT=0.1ms 启用中断、定时器10KHz10 分频10 3Hz1K T=1ms 启用中断、定时器第一波段:0.01Hz10KHz 1 分频10KHz 1 分频10 4Hz10KT=0.1ms启用中断、定时器0.01Hz1 分频10 -2HzT=100s启用中断、定时器2.3 显示模块方案一:LED 七段数码管 电路需译码和驱动,电

14、路结构较复杂,电路布线连接繁杂,而且显示频率,周期时不是太方便,显示内容单一且不美观。所以对本电路设计要求不宜采用2008 年山东省“ZLG 杯”大学生电子设计竞赛11图 2.5 数码显示模块原理图方案二:1602LCDLCD1602 字符型液晶主控制驱动电路为 HD44780,可以显示 32 个(16*2)5*8 点阵字符,模块结构紧凑轻巧,装配容易,单+5V 电源供电,低功耗长寿命高可靠性。硬件部分简单,符合设计要求,能快速简便的显示周期、频率、时间,而且做工美观,显示效果较好。2008 年山东省“ZLG 杯”大学生电子设计竞赛12用软件编写更加方便系统的扩展,节省了更多的 I/O 端口。

15、综合对两种方案的分析,我们采用方案二。图图 2.6 液晶显示模块2.4 键盘控制模块图 2.7 键盘控制原理图键盘对单片机输入数据,键盘为单行排列,用 AT89c52 的 P1 扩展口接键盘,以P1.0P1.4 作独立按键。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。通过软件查表,查出该键的功能。2.5 A/D 转换模块采用了 TLC1543。TLC1543 是多通道,低价格十位逐次 A/D 逼近模数转换器。采用串行通信接口,具有输入通道多,性价比高,易于和单片机接口。引脚图 2.8。芯片内部有一个 14 通道多路选择器可选择 11

16、 个模拟输入通道或 3 个内部自测电压的任意一个进行测试,2008 年山东省“ZLG 杯”大学生电子设计竞赛13可广泛应用于各种数据采集系统。TLC1543 的三个控制输入端 CS、I/O 、Clock、ADDRESS和一个数据输出段 DATA OUT 遵循串行外设接口 SPI 协议,要求微处理器具有 SPI 接口。工作过程分两个周期:访问周期和采样周期。工作时 CS 必须置低电平, CS 为高电平时 I/O 、Clock 、ADRESS 被禁止,同时 DATA OUT 为高阻状态。当 CPU 使 CS 变低时,TLC1543开始数据的转换。 图 2.8 TLC1543 引脚图 2.6 语音报

17、数模块(发挥)Isd2560 是系列单片语音录放集成电路的一种。这是一种永久记忆型语音录放电路,录音时间为,可重复录放万次。该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。该器件的采样频率为,同一系列的产品采样频率越低,录放时间越长,但通频带和音质会有所降低。此外,还省去了和转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和 字节的。内部存储单元均匀分为行,有个地址单元,每个

18、地址单元指向其中一行,每一个地址单元的地址分辨率为 。此外,还具备微控制器所需的控制接口。通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能,如信息的组合、连接、设定固定的信息段和信息管理等。可不分段,也可按最小段长为单位来任意组合分段。.本系统中的语音芯片工作在放音状态下,其片内的信息可通过专用的2560录音2008 年山东省“ZLG 杯”大学生电子设计竞赛14编程器录音,因此放音质量非常好,也可以通过它来读取每段语音的存储地址。本设计中分段存储:0,1,2,3,4,5,6,7,8,9,十,百,千,兆,赫兹,度,伏特等语音信息。根据测量数据进行组合输出。2.7 时钟模块(发挥)

19、DS12C887 实时时钟芯片功能丰富,可以用来直接代替IBM PC 上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、 DS12887 相兼容。由于 DS12C887 能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12C887 中自带有锂电池,外部掉电时,其内部时间信息还能够保持10 年之久;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD 码表示;DS12C887 中带有 128 字节RAM,其中有11 字节RAM用来存储时间信息,4 字节RAM用来存储DS12C887 的控制信息,称为控

20、制寄存器,113 字节通用RAM 供用户使用;此外用户还可对DS12C887 进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。2008 年山东省“ZLG 杯”大学生电子设计竞赛15图2.9 时钟信号模块DS12C887 可以轻松记忆存储 10 个历史记录数据,并可以随时调用查看。时钟芯片DS12C887 功能丰富,使用简单,可能性高,是时间产生电路的良好选择。2.8 测温模块(发挥) DS18B20 “一线总线” 数字化温度传感器是 DALLAS 最新单线数字 温度传感器, 支持“一线总线 ”接口,测量温度范围为 -55C+125C,在-10+85C 范围内,精度为0.5C

21、 。DS18B20 的精度较差为 2C 。现场温度直接以“一线总线 ”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,支持 3V5.5V的电压范围,使系统设计更灵活、方便。而且价格便宜,体积较小。 DS18B20 可以程序设定 912 位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。DS18B20 的性能稳定,性价比非常高。DS18B20 能软件兼容,省略了存储用户定义报警温度、分辨率参数的 EEPROM,精度降低为2C ,适用于对性能要求不高,成本控制严格的应用,是经济型产品

22、。 继“一线总线 ”的早期产品后,DS18B20 开辟了温度传感器技术的新概念。可以构建的经济的测温系统。测量结果直接输出数字温度信号,以“ 一线总线” 串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。2008 年山东省“ZLG 杯”大学生电子设计竞赛16三 软件方案设计3.1 主程序流程方框图开 始初 始 化无 显示时钟 键盘识别 有k=5 k=2 k=1 k=3 k=4 启动测量 调时钟 测量功能的设定 测温 测峰值2008 年山东省“ZLG 杯”大学生电子设计竞赛17k=3 k=4显示测量值 + - 显示测量值播报测量结果3.2语音播报子程序流程方框图开始数据选

23、择语音起始点 逐位放音输出 结束2008 年山东省“ZLG 杯”大学生电子设计竞赛18语音播报子程序3.3Keil C 程序#include #include #include /使用 XBYTE 必须使用的头文件 #include main()Dy_Qu=0;JQ_int0=0;Dy_T1CountL=0;flag_AddCycle=0;Dy_Frequence=0;Reg_A=0x20; Reg_B=0x06; lcd1602init( );lcd_clear();TMOD=0x12; TH0=0;TL0=0;TH1=-2400/256;TL1=-2400%256;SCON=0x40;PC

24、ON=0;IT0=1;EA=1;PT0=1;ET0=0; ET1=1;TR0=0;2008 年山东省“ZLG 杯”大学生电子设计竞赛19TR1=1;while(1) if(flag_AddCycle)Dy_Frequence=0;Dy_Cycle=0; Dy_Cycle=(Dy_T1CountL*255+TL0)/30;Dy_Frequence=1000000/Dy_Cycle; flag_AddCycle=0;delay(400);display();void display()uchar i;switch(Dy_disMode)case 0:lcd_string( “FrQ:0.01Hz-

25、10MHz“, 1);lcd_string( “Value:“, 2);translate(Dy_Frequence);wrd(0x30+Dy_SMwei);wrd(0x30+Dy_Mwei);wrd(0x30+Dy_SWwei);wrd(0x30+Dy_Wwei);wrd(0x30+Dy_Qwei); wrd(0x30+Dy_Baiwei);wrd(0x30+Dy_Shiwei); wrd(0x30+Dy_Gewei); wrd(H); wrd(z);break;case 1:lcd_string( “CyQ:1us-10s“, 1);lcd_string( “Value:“, 2);tra

26、nslate(Dy_Cycle);wrd(0x30+Dy_SMwei);wrd(0x30+Dy_Mwei);wrd(0x30+Dy_SWwei);2008 年山东省“ZLG 杯”大学生电子设计竞赛20wrd(0x30+Dy_Wwei);wrd(0x30+Dy_Qwei); wrd(0x30+Dy_Baiwei);wrd(0x30+Dy_Shiwei); wrd(0x30+Dy_Gewei); wrd(u); wrd(s);break;case 2:lcd_string( “InQ:1us-10s“, 1);lcd_string( “Value:“, 2);translate(Dy_Cycle)

27、;wrd(0x30+Dy_SMwei);wrd(0x30+Dy_Mwei);wrd(0x30+Dy_SWwei);wrd(0x30+Dy_Wwei);wrd(0x30+Dy_Qwei); wrd(0x30+Dy_Baiwei);wrd(0x30+Dy_Shiwei); wrd(0x30+Dy_Gewei); wrd(u); wrd(s);break;/* case 3:break; */case 4:lcd_string( “Beijing Time: “, 1);lcd_string(“ “,2);/if(Dy_disTime=200)/i=Dy_Hour;Ttranslate(Dy_Hou

28、r);wrd(0x30+Dy_CH);wrd(0x30+Dy_CL);wrd(:);i=Dy_Minute;Ttranslate(Dy_Minute);wrd(0x30+Dy_CH);wrd(0x30+Dy_CL);wrd(:);i=Dy_Second;Ttranslate(Dy_Second);wrd(0x30+Dy_CH);wrd(0x30+Dy_CL);2008 年山东省“ZLG 杯”大学生电子设计竞赛21/ /* elseif(Dy_Qu=1)wrd(0xff);wrd(0xff);elseTtranslate(Dy_Hour);wrd(0x30+Dy_CH);wrd(0x30+Dy_

29、CL);wrd(:);if(Dy_Qu=2)wrd(0xff);wrd(0xff);elseTtranslate(Dy_Minute);wrd(0x30+Dy_CH);wrd(0x30+Dy_CL);wrd(:);if(Dy_Qu=3)wrd(0xff);wrd(0xff);elseTtranslate(Dy_Second);wrd(0x30+Dy_CH);wrd(0x30+Dy_CL); */wrd(0x20);wrd(0x20);wrd(0x20);2008 年山东省“ZLG 杯”大学生电子设计竞赛22wrd(0x20);break;case 5:lcd_string( “Temperat

30、ure: “, 1);lcd_string( “VALUE:“, 2);Ctranslate(75.3);wrd(0x30+Dy_Baiwei);wrd(0x30+Dy_Shiwei);wrd(.);wrd(0x30+Dy_Gewei);wrd(0x86);wrd(C);wrd(0x20);wrd(0x20);wrd(0x20);wrd(0x20);default:break; void serv_T1() interrupt 3 using 3TH1=-(2500/256);TL1=-(2500%256);Dy_disTime=Dy_disTime+1;if(Dy_disTime=400)D

31、y_disTime=0;serv_key(); void serv_key()P1=0xff;Dy_KeyValue=P1;Dy_KeyValue=Dy_KeyValue|0xe0;Dy_KeyValue=Dy_KeyValue;if(Dy_KeyValue!=0) /*key down*/JQ_keydown=JQ_keydown+1;JQ_keyup=0;if(JQ_keydown=3)flag_keydown=1;KeyValue=Dy_KeyValue;2008 年山东省“ZLG 杯”大学生电子设计竞赛23 else /*key up*/JQ_keydown=0;if(flag_key

32、down)JQ_keyup=JQ_keyup+1;elseJQ_keyup=0;if(JQ_keyup=3)flag_keydown=0;switch(KeyValue) case 0x1:Key_Func();break;case 0x2:Key_Qu();break;case 0x4:Key_Add();break;case 0x8:Key_Dec();break;case 0x10:Key_Start();default:break; void serv_EX0() interrupt 0 using 1JQ_int0=JQ_int0+1;switch(JQ_int0)case 1:TR

33、0=1; break;case 31:TR0=0;ET0=0;EX0=0; flag_AddCycle=1;JQ_int0=0;break;default:break; void serv_T0() interrupt 1 using 22008 年山东省“ZLG 杯”大学生电子设计竞赛24/* if(Dy_T1CountL=65535)Dy_T1CountL=0;Dy_T1CountH=Dy_T1CountH+1; else */Dy_T1CountL=Dy_T1CountL+1; 四 数据处理4.1 测试数据分析1.在测量周期时,由于 Tx 和 Tc 之间不同步,所以计数值 N 带有1 量

34、化误差;此外,由于晶振的不确定度,时标周期 Tc 也存在误差;最后由于被测输入信号前向通道整形也存在触发误差。对误差累积和合成的测周期误差的计算公式如下:Tx/Tx=Nx/N-Tc/Tc+ 上式右边第一项为量化误差的相对值,其中计数误差Nx=1;第二项为时标的相对误差;第三项为触发误差 。为消除第一项误差采用提高系统晶振的方法,并采用多周期测量从而增大计数值 N;为减小第二项误差采用温补晶振;为消除第三项触发误差我们采用多周期测量(K1) ,实测中采用 K=30;同时为消除系统合成误差采用多次测量取平均值的方法:N=5 NiT1X2. 在测量时间间隔时XTS2008 年山东省“ZLG 杯”大学

35、生电子设计竞赛25当测量 0.1ms 时误差为 1%,测量 1s 时误差为 ,采用温补晶振后完全达到发挥部610分误差要求。4.2 实测中误差分析与处理 充分考虑上述系统合成误差因素编程测试中依然存在误差,分析并采取措施如下:1.测量 1000Hz,显示 1056Hz多次测量误差均较大,修改程序将定时器 T0 设为高优先级中断,其他为低级后精度提升。测量 1000Hz,显示 1002Hz2.多次测量后进行系统误差修订千分之一。数据测量结果显示,频率分界处误差稍大,但仍在设计要求的范围内,即全频段误差达标。五 电路原理图5.1 系统原理图本系统以单片机最小系统为核心,进行外围的扩展模块,以下是系统的原理图和 PCB 版图。2008 年山东省“ZLG 杯”大学生电子设计竞赛26图 5.1 单片机最小系统模块5.2 系统 PCB 图2008 年山东省“ZLG 杯”大学生电子设计竞赛27图 5.2 系统 PCB 图5.3 Multisim 仿真原理图和仿真结果2008 年山东省“ZLG 杯”大学生电子设计竞赛282008 年山东省“ZLG 杯”大学生电子设计竞赛292008 年山东省“ZLG 杯”大学生电子设计竞赛30图 5.4 测量结果与真实值的比较

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报