1、简易数字频率计实验报告简易数字频率计设计报告设计人员:王方伟,熊伟,田欣欣摘要一总体方案二电路分析与设计 1. 可调频率波形发生器2整形电路 3二分频电路 4单片机计数部分5液晶显示部分三系统测试 1. 调试仪器2测试结果分析 3误差分析四总结参考资料附录 摘要数字频率计用于测量正弦信号、矩形信号等波形的频率,其概念是单位时间里的脉冲个数。本设计采用89C52单片机为设计核心,将其分为波形产生部分,整形部分,单片机计数部分,显示部分。波形产生电路得到正弦波、三角波或矩形波;计数部分由89C52单片机实现;显示部分用液晶屏(LCD1602)。关键词:AT89C52,分频计,频率计,LCD1602
2、AbstractThe digital frequency meter for measuring the frequency of the sinusoidal signal and rectangular signal waveform, the concept is the pulse number per unit time. This design uses a 89C52 microcontroller core for the design, waveform generator will be divided into the part, plastic part, the m
3、icrocontroller to count part of the display section. Waveform generator circuit sine wave, triangle wave or square wave; count part of the 89C52 microcontroller; display part LCD screen一总体方案1总体设计思路:波形发生电路采用ICL8038集成函数发生器,在经过74LS00整形电路整形,形成方波信号,再通过74LS74二分频电路,最后送到单片机T1计数并用LCD1602显示频率。2. 总体原理框图:可调频率波形
4、产生电路 整形 计数 显示二电路分析与设计1. 可调频率波形发生器1、工作原理简介ICL8038是单片集成函数发生器,其内部原理电路框图和外部引脚排列分别如图1和图2所示。在图1中,ICL8038由恒流源I1、I2,电压比较器C1、C2和触发器等组成。电压比较器C1、C2的门限电压分别为2VR/3和VR/(VR=VCC+VEE),电流源I1和I2的大小可通过外接电阻调节,且I2必须大于I1。当触发器的Q端输出为低电平时,它控制开关S使电流源I2断开。而电流源I1则向外接电容C充电,使电容两端电压VC随时间线性上升,当VC上升到VC=2VR/3时,比较器C1输出发生跳变,使触发器输出端Q由低电平
5、变为高电平,控制开关S使电流源I2接通。由于I2I1,因此电容C放电,vc随时间线性下降。当vc下降到vcVR/3时,比较器C2输出发生跳变,使触发器输出端Q又由高电平变为低电平,I2再次断开,I1再次向C充电,vc又随时间线性上升。如此周而复始,产生振荡,若I2=2I1,vc上升时间与下降时间相等,就产生三角波输出到脚3。而触发器输出的方波经缓冲器输出到脚9。三角波经正弦波变换器变成正弦波后由脚2输出。当I1I22I1时,vc的上升时间与下降时间不相等,管脚3输出锯齿波。因此,8038能输出方波、三角波、正弦波和锯齿波等四种不同的波形。图1 ICL8038内部原理电路框图图2 ICL8038
6、管脚图2、ICL8038的典型应用由图2可见,管脚8为调频电压控制输入端,管脚7输出调频偏置电压,其值(指管脚6与7之间的电压)是(VCC+VEE)/5,它可作为管脚8的输入电压。此外,该器件的方波输出端为集电极开路形式,一般需在正电源与9脚之间外接一电阻,其值常选用10k左右,如图3所示。当电位器RV1动端在中间位置,并且图中管脚7接+4V时,管脚9、3和2的输出分别为方波。三角波和正弦波。电路的振荡频率约为0.3/(R1+0.5RV1)C。调节RV2RV3可使正弦波的失真达到较理想的程度。RV1为调频电位器。RV4调节方波占空比及正弦波失真度。图3函数发生器电路图可通过改变10号管脚的电容
7、值来改变频率,C2从50uf-250pf每降低10倍频率增加10倍,再通过RV1来实现对频率的微调。2. 整形电路整形电路部分通过74LS00中的与非门按照图4连接,管脚1为输入信号,管脚6为输出信号。图4 整形电路3. 二分频电路 74LS74为带预置和清除端的两组D 型触发器,图5 74LS74管脚图图6 功能表图7 二分频计4. 单片机计数部分1.AT89C52芯片介绍:AT89C52是美国ATMEL 公司生产的低电压,高性能CMOS 8 位单片机,片内含4 kB 的可反复擦写的只读程序存储器(EPROM) 和128 B 的随机数据存储器(RAM) ,器件采用ATMEL 公司的高密度、非
8、易失性存储技术生产,兼容标准MCS-51 指令系统,内置通用8 位中央处理器(CPU)和FLASH 存储单元单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。电源: VCC - 芯片电源,接+5V;VSS - 接地端;时钟: XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。控制线: 控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入 编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功
9、能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。I/O线: 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。RST/VPD: 复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。EA/Vpp: 内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。
10、 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。图8 单片机管脚图2. 单片机应用管脚应用: p0口作为lcd1602的数据口 lcd的rs由单片机的p2.0控制 lcd的rw由单片机的p2.1控制 lcd的en由单片机的p2.2控制 利用单片机的T0口定时模式 利用单片机的T1口为计数模式 由外部电路与单片组成的复位电路 利用外部晶振12MHZ为单片机提供时钟频率3. 软件设计: 程序流程图:(程序见附录)开始单片机初始化Lcd1602初始化设置开T0定时和T1计数二进制转换为BCD压缩码提出各位位上的数字LCD显示结束5液晶显示部分 1. LCD1602液晶
11、屏介绍:工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 2. 管脚功能:1602采用标准的16脚接口,其中: 第1脚:VSS为电源地 第2脚:VDD接5
12、V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚篟W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。图9 单片机部分电路三系统测试 1. 调试仪器 示波器,电源,函数信号发生器2测试结果分析 3误差分析当频率越高时,误
13、差越大。可能是由于51单片机本身计数的限制和其他噪声信号对高频信号的干扰引起的。而对于低频信号,误差相对很小。误差主要来源于元器件本身的误差。四总结 该数字频率计经过实际检验说明:具有精度高、使用方便、显示直观、硬件电路简单等特点。在本次设计中遇到了许多的困难仿真与实物无法有机的结合,程序显示无法达到要求这些困难都基本克服,但波形产生电路中还有缺陷高频信号会有失真,但对设计总体影响不大。经过这次设计有效地提高了我们实践动手能力,对我们今后的学习和生活有很大的积极影响。参考资料1. 康华光 电子技术基础(模拟部分)第五版 高等教育出版社2. 康华光 电子技术基础(数字部分)第五版 高等教育出版社
14、3. 汪文 陈林 单片机原理及应用 华中科技大学出版社4. 李强 51系列单片机编程技术 北京航空航天大学出版社附录LCD_RS EQU P2.0LCD_RW EQU P2.1LCD_EN EQU P2.2 ORG 0000H JMP MAIN ORG 000BH JMP T0_INT ORG 0030HMAIN: LCALL PRO_SET CALL SET_LCD LOOP5: CALL INIT_TI CALL ZHUANGHUA CALL FUZHI CALL LCE_FRE SJMP LOOP5;初始化程序 ;-PRO_SET: MOV P0,#0FFH MOV P1,#0FFH M
15、OV P2,#0FFH SETB P3.5 ;P3.5 端口置输入状态 RET ;T1(TIMER1 的外部输入脚);-;LCD 初始化设置 ;-SET_LCD: CLR LCD_EN CALL INIT_LCD CALL DELAY1 MOV DPTR,#INFO1 MOV A,#1 CALL LCD_SHOW MOV DPTR,#INFO2 MOV A,#2 CALL LCD_SHOW RET;-INFO1: DB GROUP OF 3B,0 ;LCD 第一行显示信息 INFO2: DB FRE:,0 ;LCD 第二行显示信息 ;-;LCD 接口初始化 ;8 位 I/O 控制 ;-INIT
16、_LCD: MOV A,#38H ;双列显示,字形 5*7 点阵 CALL WCOM CALL DELAY1 MOV A,#0EH ;开显示,关光标, CALL WCOM CALL DELAY1 MOV A,#01H ;清除 LCD 显示屏 CALL WCOM CALL DELAY1 MOV A,#06H CALL WCOM CALL DELAY1 RET ;-LCD_SHOW: ;在 LCD 的第一行或第二行显示信息字符 CJNE A,#1,LINE2 ;判断是否为第一行LINE1: MOV A,#01H CALL WCOM MOV A,#80H CALL WCOM JMP FILL LIN
17、E2: MOV A,#0C0H CALL WCOM FILL: CLR A MOVC A,A+DPTR CJNE A,#0,LC1 RET LC1: CALL WDATA INC DPTR JMP FILL RET ;-;写入命令子程序 ;-WCOM: MOV P0,A CLR LCD_RS CLR LCD_RW SETB LCD_EN CALL DELAY0 CLR LCD_EN RET ;-;写入数据子程序 ;-WDATA: MOV P0,A SETB LCD_RS CLR LCD_RW SETB LCD_EN CALL DELAY0 CLR LCD_EN RETINIT_TI: MOV
18、TMOD,#51H ;/*01010001 T1计数,T0定时*/ MOV TH0, #HIGH(65536 - 49988) ;50ms12MHz MOV TL0, #LOW (65536 - 49988) MOV TH1, #00H MOV TL1, #00H MOV R6,#0 SETB ET0 SETB EA MOV R7, #20 SETB TR0 SETB TR1COUNT1: JBC TF1,LOOP0 MOV A,R7 JZ TEND SJMP COUNT1 LOOP0: INC R6 MOV A,R7 JZ TEND SJMP COUNT1 ; MOV R0,#01; MOV
19、 R1,#00H R1为高8位,r0为低8位TEND: RETT0_INT: ;中断 DJNZ R7,T0_END CLR TR1 CLR TR0 JMP TIAOT0_END: ;50ms执行一次 MOV TH0, #HIGH(65536 - 49988) ;50ms12MHz MOV TL0, #LOW (65536 - 49988)TIAO: RETIZHUANGHUA: CLR A MOV R0,TL1 MOV A,R0 MOV R1,#00H SUBB A,R1 MOV R0,A CLR A MOV R1,TH1 MOV A,R0 ADD A,R0 MOV R0,A MOV A,R1
20、 ADDC A,R1 MOV R1,A MOV A,R6 ADDC A,R6 MOV R6,A MOV R4,#0FFH MOV R5,#0FFH LCALL QMUL MOV R0, 3AH MOV R1, 39H MOV R2, 38H lCALL HEX2BCD ;调用子程序把R0 R1 R2中的数字,转换成BCD码,送到R4 R5 R6 R7 RETQMUL: MOV A,R4 MOV B,R6 MUL AB MOV R3,A ;(R3)=(R4*R6)L MOV R4,B ;(R3)=(R4*R6)B MOV A,R5 MOV B,R6 MUL AB ADD A,R4 MOV R4,
21、A CLR A ADDC A,B MOV R5,A CLR A MOV A,R3 ADD A,R0 MOV 38H,A CLR A MOV A,R1 ADDC A,R4 MOV 39H,A CLR A ADDC A,R5 MOV 3AH,A RETHEX2BCD: CLR A MOV R4, A ;先清零 MOV R5, A MOV R6, A MOV R7, A MOV R3, #24 ;共转换24位数LOOP3: CLR C MOV A, R2 RLC A MOV R2, A MOV A, R1 RLC A MOV R1, A MOV A, R0 RLC A MOV R0, A MOV A
22、, R7 ;送到BCD码的低端 ADDC A, R7 ;带进位加。自身相加,相当于左移一位 DA A ;十进制调整,变成BCD码 MOV R7, A MOV A, R6 ADDC A, R6 DA A MOV R6, A MOV A, R5 ADDC A, R5 DA A MOV R5, A MOV A, R4 ADDC A, R4 MOV R4, A DJNZ R3, LOOP3 ;共转换24位数 RETFUZHI:MOV A, R7 MOV B, #16 DIV AB ;除以16,目的是分离出高、低四位 MOV 31H, A ;存放十位 MOV 30H, B ;存放个位 MOV A, R6
23、 MOV B, #16 DIV AB MOV 33H, A MOV 32H, B MOV A, R4 MOV 36H, A ;存放百万位 MOV A, R5 MOV B, #16 DIV AB MOV 35H, A MOV 34H, B RETPRO_SETS: MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#00H RET;显示各位数字 ;-LCE_FRE: MOV A,#0C5H CALL WCOM MOV R1,#36HLOOP1: MOV A,R1 ADD A,#30H CALL WDATA; DEC R1; CJNE R1,#2FH,LOOP1 RETDELAY0: ; MOV R7,#250 DJNZ R7,$ RET DELAY1: ;延时3ms MOV R6,#15 D2: MOV R7,#100 DJNZ R7,$ DJNZ R6,D2 RET END
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1