基于单片机方波发生器课程设计报告_第1页
基于单片机方波发生器课程设计报告_第2页
基于单片机方波发生器课程设计报告_第3页
基于单片机方波发生器课程设计报告_第4页
基于单片机方波发生器课程设计报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

通信与信息工程学院班级:姓名:学号:成绩:评语:一.设计要求....................................................1二.设计思路....................................................1三.硬件实现....................................................13.1AT89C52引脚及功能.......................................13.2DAC0832引脚及功能.......................................23.3LM324引脚及功能.........................................33.4LM016L引脚及功能........................................4四.软件实现....................................................44.2延时函数设计.............................................54.3LCD显示模块子程序设计...................................65.2PCB布版.................................................8六.总结.......................................................11参考文献.......................................................11附录一程序....................................................11附录二方波产生电路仿真图:....................................18计要求设计要求用单片机产生频率可调的方波信号,输出方波的频率范围为1Hz-9kHz,频率误差比小于0.5%,用4个按钮改变方波给定频率,按钮每按下,给定频率改变一次,用示波器观察方波波形。计思路示器及其接口,数模转换及波形输出,指示灯及其接口等四部分,即可构成所需波形发生器。在方波发生电路中,只用到片内中断请求,即是在AT89C52输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之图2-1方波发生器设计流程框图件实现3.1AT89C52引脚及功能AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器能说明:RST(9脚);复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和脚,其功能用途由软件定义,在本设计中,PO端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接。13脚:IR输入端。10脚和11脚:I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口。12脚、27脚及28脚:握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。AT89C52外形及引脚排3.2DAC0832引脚及功能选通或锁存状态。DAC0832的主要特性参数:2.缓冲、双缓冲或直接数字输入;3.在满量程下调整其线性度;4.单一电源供电(+5V+15V5.低功耗,20mWWR1输入线,负脉冲(脉宽应大于500ns)有效。CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入XFERWR23.3LM324引脚及功能可工运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图3.4LM016L引脚及功能令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMACGOROMRAMCGRAMRAM(AC)用于寄存指令码,只能写入不能读出,用于寄存数据,数据由内部操作自动储显示的字符,能存储80个字符码。LM016L引脚如图3-4所示。图3-4LM324引脚件实现此次设计使用keil5编译环境,头文件选择reg52.h,并在keil5中生成单片机AT89C52可以执行的符合IntelHEX文件格式的文本所构成的ASCII文本文4.1主程序设计打开允许中断位标志EA,即将EA值设置为1。设置定时器时钟为TR0,设置在此电路中提供四种频率变化,分别为频率增加10赫兹、增加100赫兹、减少10赫兹、减少100赫兹,并根据不同的延时程序进行具体实现,波形输出后在LCD输出反馈和调节后的方波频率。主程序程序框图如图4-1所示。 4.2延时函数设计由于该设计电路采用12M赫兹的晶体振荡器,可知机器周期为1微秒,延1图4-2延时程序流程图4.3LCD显示模块子程序设计写入数据程序,子程序voidLcdWriteCom(ucharcom)所实现的是向LCD模块写入一个字节命令。LCD初始化程序通过清除原始数据,设置数据显示起始点,并将原始的参数在LCD输出这三步骤实现。向LCD输入数据需要将使能端ELCD显示模块子程序流程框图如图4-3所示。输出波形使用示波器进行显示,使用探针对输出的电压进行测量。5.1仿真验证可行,失真是否在允许范围内。设计方波初始输出频率为500赫兹,即一个周期为2毫秒,示波器显示为2.08毫秒,此时频率为480.8赫兹。产生的误差在允许范围内。500赫兹仿真效测试时还选择1000赫兹和100赫兹进行尝试,分别得到的误差都在合理范围内,其中100赫兹条件下,理论周期为10毫秒,仿真波形图显示一个波长需图5-2100赫兹仿真效果图在1000赫兹条件下,理论周期为1毫秒,仿真波形图显示一个波长需要时间为1.01毫秒,求得此时频率为990赫兹,产生的误差在允许范围内。1000赫图5-31000赫兹仿真效果图5.2PCB布版PCB板,走线方式选择自动布线,运行模式设置为全自动模式。定义PCB板边界需要首先选择二维方框图形模式,如图5-4所示。选择之后在页面左下角选项5 存在器件未封装的情况,图5-6所示。对于这种情况需要选择合适的封装才能进 的封装对其进行封装操作。将元件放入目标区域之后如图5-7所示,可见此时元5图5-9PCB板3D俯视图六.总结本次课程设计使用任务为产生方波,要求使用51单片机和A/D数模转换器验证该电路频率可调范围为300赫兹至9000赫兹。该电路使用4个开关对方波频率进行调节,分别为增加10赫兹、增加100赫兹、减少10赫兹和减少100微小误差,但误差在允许范围内。软件方面采用keil5进行编程,通过控制单片机引脚的控制位和编写的包括延时程序、LCD控制程序和主函数对系统进行控制。利用延时程序进行数据的显示模块的控制。在keil5中生成单片机可执行的文件在仿真电路中将编写的程程的方式方法。器件的封装,若无法找到,则需要添加新的封装。绘制PCB板使用自动走线方输出文件时遇到自动布线无法进行,[M].2000.5....#include<reg52.h>#include"delay.h"#include"wave.h"#include"LCD.h"#include"string.h"#defineucharunsignedchar#defineuintunsignedintsbitkey1=P1^0;sbitk1=P3^3;sbitk2=P3^4;sbitk3=P3^5;sbitk4=P3^6;unsignedinttim0_cnt=0;voidtimer0()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;voidmain(void)unsignedchari;TMOD=0X11;//gongzuojicunqizu2,jicunqiR1TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;//yunxuzhongduanP2=0;P1=0xff; }}--temp=1000/temp;//2000temp=1000*temp;freq_q=(unsignedint)temp;intunsignedinti,j;intvoiddelay_us1(intt)--#include"LCD.h"#include"string.h"#include"stdio.h"c)for(;c>0;c--)) voidLCDWriteCom(ucharcom) LCD1602_E=0; LCD1602_RS=0; LCD1602_RW=0; LCD1602_DATAPINS=com;

LCD1602_E=1; LCD1602_Delay1ms(5);//保持时间LCD1602_E=0;voidLCDWriteCom(ucharcom) LCD1602_E=0; LCD1602_RS=0;//选择发送命令LCD1602_RW=0;//选择写入LCD1602_DATAPINS=com;LCD1602_E=1; LCD1602_E=0;LCD1602_DATAPINS=com<<4;LCD1602_E=1; LCD1602_E=0; voidLCDWriteData(uchardat)

LCD1602_E=0; LCD1602_RS=1;//选择输入数据LCD1602_RW=0;//选择写入LCD1602_E=1; LCD1602_E=0;voidLCDWriteData(uchardat)

LCD1602_E=0; LCD1602_RS=1; LCD1602_RW=0; LCD1602_E=1; LCD1602_E=0;LCD1602_DATAPINS=dat<<4;LCD1602_E=1; LCD1602_E=0; voidLCDInit()LCDWriteCom(0x38);//开显示LCDWriteCom(0x0c);//开显示时不显示光标LCDWriteCom(0x06);//将指针自增1LCDWriteCom(0x01);//清屏LCDWriteCom(0x80);//设置数据指针起点

LCDWriteCom(0x0c);//开显示不显示光标LCDWriteCom(0x06);//将指针加1LCDWriteCom(0x01);//清屏LCDWriteCom(0x80);//设置数据指针起点voidLCD_display(unsignedcharmode,unsignedintfreq)//LCD显示波形和频率函数unsignedchari;{#include<reg52.h>#include"delay.h"unsignedintx=5;voidsquare_wave(unsignedintfreq)P2=0x00;P2=0xff; #define_DELAY_H_voiddelay_us1(intt); #define_LCD_H_#defineucharunsignedchar#defineuintunsignedint voidLCDInit();//LCD初始化voidLCD_display(unsignedcharmode,unsignedintfreq);//显示 #define_WAVE_H_voidsquare_wave(unsignedintfreq);Headerfileforgeneric80C52and80C32microcontroller.Copyright(c)1988-2002KeilElektronikGmbHandKeilSoftware,Inc.Allrightsreserved.*/#define__REG52_H__/*BYTERegisters*/sfrP0 =0x80;sfrP1 =0x90;sfrP2 =0xA0;sfrP3 =0xB0;sfrPSW =0xD0;sfrACC =0xE0;sfrB =0xF0;sfrSP =0x81;sfrDPL =0x82;sfrDPH =0x83;sfrPCON=0x87;sfrTCON=0x88;sfrTMOD=0x89;sfrTL0 =0x8A;sfrTL1 =0x8B;sfrTH0 =0x8C;sfrTH1 =0x8D;sfrIE =0xA8;sfrIP =0xB8;sfrSCON=0x98;sfrSBUF=0x99;/*8052Extensions*/sfrT2CON=0xC8;sfrRCAP2L=0xCA;sfrRCAP2H=0xCB;sfrTL2 =0xCC;sfrTH2 =0xCD;/*BITRegisters*//*PSW*/sbitCY =PSW^7;sbitAC =PSW^6;sbitF0 =PSW^5;sbitRS1 =PSW^4;sbitRS0 =PSW^3;sbitOV =PSW^2;sbitP =PSW^0;//8052only/*TCON*/sbitTF1 sbitTR1 sbitTF0 sbi

温馨提示

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

评论

0/150

提交评论