吴志元基于单片机的函数信号发生器设计_第1页
吴志元基于单片机的函数信号发生器设计_第2页
吴志元基于单片机的函数信号发生器设计_第3页
吴志元基于单片机的函数信号发生器设计_第4页
吴志元基于单片机的函数信号发生器设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、 本科生毕业设计(论文)( 2013 届)设计(论文)题目 基于单片机的函数信号发生器设计 作 者 吴志元 分 院 信息与机电工程分院 专 业 班 级 机械设计制造及其自动化092班 指导教师(职称) 张慧熙(讲师) 论 文 字 数 8831字 论文完成时间 2013年4月30日 杭州师范大学钱江学院教学部制基于单片机的函数信号发生器设计机械设计制造及其自动化专业092班吴志元 指导教师:张慧熙 摘要:本系统利用单片机AT89C51,采用程序设计方法产生正弦波、矩形波、三角波三种波形,单片机产生数字信号,再通过DAC0832将数字信号转换成模拟信号,再通过集成运放,将DAC0809输出的电流信

2、号转换为电压信号,最终由示波器显示出来。可以控制三种波形的类型选择、频率变化,并通过LCD显示其频率的数值和波型。 关键词:单片机AT89C51;DAC0832 ;LCDDesign of Function Signal Generator Based on MCU Mechanical engineering and automation professional class092 Wu ZhiyuanInstructor : Zhang Huixi Abstract:Using MCU AT89C51,three waveforms which are sine waveform,squa

3、re wave and triangle wave can be generated.MCU generates digital signal,which can be converted to analog current signal by DAC0832.Intergated operational amplifier convertes analog current into vatage,that can display by the oscilloscope. The system can controls Type selection and frequency change o

4、f three waves , and through the LCD shows its frequency and wave mode. Keywords: MCU AT89C51 ;DAC0832 ;LCD目 录1绪论11.1单片机的发展概况及趋势11.2单片机的应用领域21.3单片机的特点21.4本设计内容介绍2 2.开发软件介绍32.1Keile C51软件32.2Proteus软件33.基于单片机的函数信号发生器设计的实现原理44.基于单片机的函数信号发生器软件实现44.1延时模块54.2显示模块64.3波形切换模块94.4定时模块115.基于单片机的函数信号发生器具体硬件实现11

5、5.1单片机的最小系统115.2D/A模块145.3LCD显示模块155.4键盘模块155.5总电路图166.基于单片机的函数信号发生器Proteus仿真176.1仿真图176.2设计过程中遇到的问题及解决方法19 7.总结及展望20参考文献20致谢20基于单片机的函数信号发生器设计机械设计制造及其自动化专业092班吴志元 指导教师:张慧熙1.绪论 1.1单片机的发展概况及趋势 单片机的技术的发展可分为3个时间段: 第一时间段为初级单片机形成阶段。其代表产品是Intel公司推出的MCS-48系列单片机。CPU8位、ROM1K字节、I/O线有27根、RAM64字节、8位定时计数器有1个、计数器1

6、。 第二时间段为高性能单片机阶段。其代表产品是Intel公司推出的MCS-51系列单片机:RAM有128字节、8位并行口有4个、CPU8位、ROM有4K字节、全双工串行口1个、16位定时/计数器有2个。寻址范围为64KB,并有控制性较强的布尔处理器1。 第三时间段为微控制器化阶段。其代表产品是Intel公司推出的MCS-96系列单片机。芯片内集成:RAM有232字节、8位并行口有5个、CPU16位、ROM有8K字节、全双工串行口1个、16位定时/计数器有2个。寻址范围为64KB。片上还有8路10位ADC、1路PWM输出及高速I/O部件等1。 现在世界上许多大公司都相继推出了各具特色的单片机品种

7、。 日本日立公司(Hitachi)推出的H8/600、H8/300是比较新款的8位单片机系列,它们采用C语言编写软件编写程序,乘/除(速度为1us-2.6us)、16位寄存器及寄存器加/减(速度200ns)、中央处理器的工作频率为10MHz、寻址空间最多可达16MB2。 日本NEC公司生产的78K/11系列16位单片机,由于工作温度为-40+125,因此该单片机已经作为汽车电子元件之一,广泛用于汽车制造业2。 美国Motorla公司生产的新一代8位单片机M68HC08采用了0.35u工艺,具有速度快(8MHz总线速度)、功能强大、价格低、功耗低等优点,特别是带有闪速FLASH存储器。M68HC

8、08单片机包括串行通信接口SCI、定时器接口模块TIM、时钟发生器模块CGM、监控RAMMON和I/O端口、系统集成模块SIM、串行外围接口SPI、直接存储器存取模块DMA、系统操作正常见识模块COP、断电模块BREAK、低电压禁止模块LVI、外中断请求模块IRQ2。美国Harriscorp公司生产的NS单片机系列产品,核心是将共用的中央处理器作为整个系列所有成员的控制中心。这种方式可将各种E2PROM、寄存器、比较器、模/数转换器及通用异步收发器(UART)等外围功能较有效地组合在一起2。 目前,单片机正在朝着高性能和多品种方向发展,下面是单片机的发展趋势: (1)CMOS化。近年来由于CH

9、MOS技术的进步,大大促进了单片机的CMOS化,CMOS芯片除了低功耗特性之外,还具有功耗的可控性,是单片机可以工作在功耗精细管理状态3。 (2)低功耗化。单片机的功耗已从mA级降到uA级,甚至1uA以下3。 (3)低电压化。几乎所有的单片机都有WAIT、STOP等省电运行方式,允许使用电压范围越来越宽,一般在3-6V之间,完全适合电池工作3。 (4)低噪声与高可靠性。为提高单片机的抗电磁干扰能力,是产品能适应恶劣的工作环境满足电磁兼容性方面更高标准的要求,各单片机厂家都在单片机内部电路中采用了新的技术措施3。 (5)大容量化。以往单片机内部ROM为1-4KB,RAM为64-128KB,但在需

10、要复杂控制的场合,该存储容量是不够的,必须进行外接扩展。为适应这种领域的要求,需运用新的工艺,是片内存储器大容量3。 (6)高性能化。主要是指进一步改善CPU的性能,加快指令的运算速度和提高系统控制的可靠性,采用精密指令集(RISC)体系结构和流水线技术3。(7)外围电路内装话。随集成度的不断提高,有可能吧众多的各种外围功能器件集成在片内3。1.2单片机的应用领域单片机的应用技术已经遍布我们生活的各个领域。特别是我们的嵌入式应用应经成为计算机应用的主流,据统计显示全世界大规模集成电路有百分之八十用于嵌入式应用中。现在,平均每人每天接触是单片机数目可多达351片多,甚至更多。目前单片机主要应用领

11、域如下:(1) 家用电器。家用电器是单片机应用最重要的组成部分,前景之广泛。如微波炉、电视机、空调、冰箱、电饭煲、洗衣机等等。(2)交通领域。如汽车、火车、红绿灯、飞机等等都有单片机的应用。(3)智能仪器表。比如智能传感器、各种智能测量仪表等。(4)实用工具控制。如生产线控制、电机转速控制、温度控制等。(5)机电一体化产品。如机器人、数控机床、打印机、复印机、自动包装机、医疗设备(B超)等。 1.3单片机的特点 按单片机的数据总线位数,可将单片机分为4位、8位、16位、32位。4位单片机在整个单片机的市场中所占比例逐年减少,8位单片机是现在世界上品种最为丰富、应用最广泛的单片机。16位单片机操

12、作速度和数据吞吐能力性能上比8位的单片机有很大提高。32位在寻址能力、开发手段、操作速度、运算能力与环境方面都有很大增强,寻址能力在GB级以上4。单片机在控制上有很大优势:1.体积小,成本低,易于产品化,运用灵活,可以方便地组成各种智能化控制设备和仪器,可以做到机电一体化。2.面向控制方面,能针对性解决从简单到复杂的各种控制任务,从而获得最佳的性价比。3.抗干扰能力强方面,适用温度范围广,在各种恶劣环境下都能可靠地工作,这是其它类型单片机无法比拟的。4.可以方便地实现多机与分布式控制,使整个控制系统效率和可靠性大大地提高4。 1.4本设计内容介绍 本设计以80C51单片机为核心,通过扩展DA转

13、换器,能够输出正弦波、矩形波、三角波等。本设计的函数信号发生器通过外部中断口实现各种波形的选择,并且能够调节其波形的频率,通过LCD显示器显示其频率的数值大小。LCD显示器的显示精度:0.01MHz。 2. 开发软件介绍 2.1Keile C51软件 Keile C51是美国Keile Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,在功能、结构、可读性上都有明显的优势。Keile C51软件提供提供丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率非常高4。 Keile软件公司的C51单片机软件开发工具已经用于众多的8051及派生软件实现嵌入应用,可以编

14、译C源程序、汇编源程序、连接和定位目标文件及库,创建HEX文件以及调试目标程序4。 Keile C51编译器是符合ANSI标准的编译器。Keile C51语言扩展支持51单片机的应用包括:1.数据类型 2.存储器类型 3.存储器模型 4.指针 5.重入函数 6.中断函数 7.实时操作系统 8.PL/M和A51源文件接口4 。Keile C51支持的基本数据类型有位型(bit)、无符号字符型(unsigned char)、有符号字符型(signed char)、无符号整型(unsigned int)、有符号整型(signed int)、无符号长整型(unsigned long)、有符号整型(si

15、gned long)和浮点型(float)等4。 2.2Proteus软件 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它具有4大功能模块:1.智能原理图设计(ISIS) 2.完善的电路仿真功能(Prospice) 3.独特的单片机协同仿真功能(VSM) 4.实用的PCB设计平台。 Proteus软件是一款功能强大的电路设计分析软件。在利用其进行单片机的软件仿真时,仅仅使用了其部分功能:1.ISIS智能原理图输入系统。2.Proteus VSM虚拟系统模型5。 Proteus ISIS是Proteus软件的核心,其具有以下特性:1.出版高质量的原

16、理图:ISIS提供给用户图形外观,包括线宽、填充类型、字符库等的全部控制,使用户能生成精美的原理图。画完图后可以以图形文件输出。2.良好的用户界面:用户只需单机元件的引脚或者先前布好的线,就能实现布线。而且摆放、移动和删除操作能都直接鼠标实现,无需去单机菜单或图标。3.自动走线:只要单机想要连接的两个引脚,就能简单地实现走线。在特殊的位置需要布线时,只需在中间的角落单机。自动走线也能在元件移动时操作,自动解决相应连线。4.元件库:ISIS的元件库包括8000多个元件,有标准符号、三极管、二极管、CMO微处理存储元件、模拟IC和运算放大器等5。 Proteus VSM的核心是ProSpice,是

17、一个组合了SPICE3F5模拟仿真器和基于快速事件驱动的数字仿真器的混合仿真系统。Proteus VSM包含大量的虚拟模型仪器,如示波器、逻辑分析仪、函数发生器、数字信号发生器、时钟计数器、虚拟终端以及简单的电压计、电流计等5。 3.基于单片机的函数信号发生器设计的实现原理 3.1原理框图图3-1原理框图 如图3-1,整个系统包括按键、AT89C51单片机、LCD显示、D/A转换器、电流电压转化器、示波器。按键控制AT89C51单片机的输出,包括波形的种类和波形的频率,AT89C51单片机通过LCD来显示波形的种类和波形的频率,单片机输出的是数字信号,DAC0832是电流型D/A转换器,通过D

18、AC0832输出电流信号,再通过电流电压转换器输出电压,示波器接收的是电压信号,所以示波器接收到电压信号后显示出波形。 4.基于单片机的函数信号发生器软件实现 本系统利用单片机AT89C51采用程序设计方法产生正弦波、矩形波、三角波三种波形。 具体功能有:(1)各个波形的切换;(2)频率增减等。 软件的流程图4-1如下:图4-1软件设计流程图 4.1延时模块void delay(uint z)/延时子程序 代表MS uchar i,j; for(i=z;i0;i-) for(j=110;j0;j-);void delay1(uint y)/延时代表US uint i; for(i=y;i0;i

19、-); 4.2显示模块图4-2写操作时序图 当我们要进行写指令,设置LCD1602工作方式时:应把RS置为低电平,RW置为低电平,再将数据送到数据口D0-D7,最后E引脚一个高脉冲将数据写入。 当我们要写数据时,在LCD1602上实现显示时:应把RS置为高电平,RW置为低电平,再将数据送到数据口D0-D7,最后E引脚一个高脉冲将数据写入。 void write_com(uchar com) /1602写指令 lcdrs=0;P1=com;delay(5);lcde=1;delay(5);lcde=0;void write_data(uchar date) /1602写数据 lcdrs=1;P1

20、=date;delay(5);lcde=1;delay(5);lcde=0; void init() /初始化 lcdrw=0; lcde=0; wr=0; cs=0; write_com(0x38); /设置162显示,57点阵,8位数据接口 write_com(0x0c); /显示开,光标关,闪烁开 write_com(0x06); /数据读、写操作后,AC自动加一,画面不移动 write_com(0x01); /清除DDRAM和AC,光标复位 write_com(0x80+0x00);/写入地址第一行 write_data(0x77); /写wave: write_data(0x61);

21、 write_data(0x76); write_data(0x65); write_data(0x3a); write_com(0x80+0x40);/写入地址第二行 write_data(0x66); /写 f: write_data(0x3a); void write_f(float date) /写频率 uchar qian,bai,shi,ge; float temp; char temp1; qian=(int)date/1000; /千位计算 bai=(int)date/100%10; /百位计算 shi=(int)date/10%10;/十位计算 ge=(int)date%10

22、; temp=date-(int)date; temp1=temp*100; write_com(0x80+0x42); /写数据地址 write_data(0x30+qian); write_data(0x30+bai); write_data(0x30+shi); write_data(0x30+ge); write_data(.); write_data(0x30+temp1/10); write_data(0x30+temp1%10); write_data(0x48); write_data(0x5a);void xsf(void)/显示频率 if(s1num=1) fre=(flo

23、at)1000/(9+3*ys);/频率的计算公式 write_f(fre); /显示频率 if(s1num=2) fre=(float)100000/(3*ys);/频率的计算公式 write_f(fre); /显示频率 if(s1num=3) fre=(float)1000/(15+3*ys); /频率的计算公式 write_f(fre); /显示频率 4.3波形切换模块void keyscanf(void) d=0; if(s1=0) /说明按键1按下了 if(S1_Flag=1) S1_Flag=0; ChagneFlag=1; s1num+; /波形加1 if(s1num=1) /说

24、明是正弦波 ys=0; write_com(0x80+0x05); write_data(0x73); /写sine: write_data(0x69); write_data(0x6e); write_data(0x65); write_data(0x20); /0x20代表空格,即清屏 write_data(0x20); /0x20代表空格,即清屏 if(s1num=2) /说明是矩形波 ys=10;write_com(0x80+0x05); write_data(0x73); /写squrae write_data(0x71); write_data(0x75); write_data(

25、0x61); write_data(0x72); write_data(0x65); if(s1num=3) /说明是三角波 ys=0; write_com(0x80+0x05); /train write_data(0x74); write_data(0x72); write_data(0x61); write_data(0x69); write_data(0x6e); write_data(0x20);/0x20代表空格,即清屏 if(s1num=4) s1num=0;P1=0; write_com(0x80+0x05); /清屏 write_data(0x20); write_data(

26、0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_com(0x80+0x42); /设置为第二行 write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(

27、0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); write_data(0x20); 4.4定时模块void system_Ini(void)/系统初始化 TMOD|= 0x11;/定时器0工作方式1,定时器1工作在方式1 TH1 = 0xD8; /10 TL1 = 0xF0; /10MS的定时IE = 0x8A; /开关中断和定时器1中断TR1 = 1; /开启定时器15.基于单片机的函数信号发生器具体硬件实现 5

28、.1单片机的最小系统 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单可靠。用AT89C51单片机构成最小应用系统时,由于集成度的限制,最小应用系统只能用作一些小型的控制单元。图5-1 89C51单片机最小系统 如图5-1所示AT89C51各引脚功能:1.P0.0-P0.7:P0口的8位双向三态I/O口线。2.P1.0-P1.7:P1口的8位准双向口线。

29、3.P2.0-P2.7:P2口的8位准双向口线。4.P3.0-P3.7:P3口的8位具有双重功能的准双向口线。5.:外部程序存储器读选通信号,读外部ROM时PSEN低电平有效。6.ALE:地址锁存控制信号。7.:访问程序存储器控制信号,当为高电平或悬空时,对ROM的读操作限制在内部程序存储器;当EA为低电平时,则对ROM的读操作是从内部存储器开始的,并可延至外部程序存储器。8.RST:复位信号,复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。9.XTAL1和XTAL2:外接晶体引线端,当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用

30、于接外部时钟脉冲信号6。 P3口线的第二功能如表5-1所列。表5-1 P3口线的第二功能口线第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2外部中断0申请P3.3外部中断1申请P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6外部RAM写选通P3.7外部RAM读通时钟电路 AT89C51采用内部时钟方式,内部时钟振荡电路由晶体振荡器和电容C1和C2构成并联谐振电路,连接在XTAL1和XTAL2脚两端。对外部C1、C2的取值虽然没有严格的要求,但电容的大小会影响到振荡器频率的高低、振荡器的稳定性、起振的快速性。8051的晶振最高振荡频率为

31、12MHz,AT89C51的外部晶振最高频率可达24MHz6。 确定晶振(或外部时钟)的振荡频率,就可以确定了CPU的工作时序。以下就是几个重要时序概念:振荡周期:是指为单片机提供定时信号的振荡器的周期。状态周期:振荡周期的两倍,前部分通常用来完成算数逻辑操作;后部分完成内部寄存器和寄存器间的传输。机器周期:在8051单片机中,一个机器周期由12个振荡周期组成。指令周期:是指执行一条指令所占用的全部时间。一个指令周期通常含有1-4个机器周期。机器周期和指令周期是两个很重要的衡量单片机工作速度飞值6。 该单片机晶振采用12MHz频率。所以它的4个周期为:振荡周期=1/12us; 状态周期=1/6

32、us ;机器周期=1us ;指令周期=1-4us6。 图5-2时钟部分电路 单片机的复位状态 51系列单片机的复位引脚RST上只要出现10ms以上的高电平,单片机就会实现复位。以下就是51单片机的复位状态: 1.(PC)=0000H:程序的初始入口地址为0000h。 2.(PSW)=00H:由于RS1(PSW.4)=0,RS0(PSW.3)=0,复位后单片机选择工作寄存器0组。 3.(SP)=07H:复位后堆栈在片内RAM的08H单片机处建立。 4.TH1、TL1、TH0、TL0:它们的内容为00H,定时器/计数器的初值为0。 5.(TMOD)=00H:复位后定时器/计数器T0、T1定时器方式

33、为0,非门控制方式。 6.(TCON)=00H:复位后时器/计数器T0、T1停止工作,外部中断0、1为电平触发方式。 7.(T2CON)=00H:复位后时器/计数器T2停止工作。 8.(SCON)=00H:复位后串行口工作在移位寄存器方式,且禁止串行口接收。 9.(IE)=00H:复位后屏蔽所有中断。 10.(IP)=00H:复位后所有中断源都设置为低优先级。 11.P0-P3:锁存器都是全1状态,说明复位后4个并行接口设置为输入口。 该复位电路是按键复位:上电时,+5V电源立即对单片机芯片充电,同时经R1对C3上电压建立的过程就产生一定宽度的负脉冲,经反向后,RST上出现正脉冲,使单片机实现

34、了上电复位,按下按钮下时,RST上同样出现高电平,实现了按钮复位7。 图5-3复位电路 5.2D/A模块 目前,D/A转换器有许多集成电路芯片,其中DAC0832是国内应用最广泛的芯片之一。DAC0832是一个8位转换芯片,单电源供电,工作电压为+5V-+15V,基准电压为10V,转换时间1us,CMOS工艺,低功耗20mW。 DAC0832有20根引脚,双列直插式封装。DAC0832主要由输入寄存器、DAC寄存器和一个8位D/A转化器组成3。 DAC0832是微处理器兼容型D/A转换器,可以利用单片机的控制能力实现对D/A转换的控制,芯片的许多控制引脚可以和微处理器的控制线相连,受微处理器的

35、控制;芯片有两级锁存控制功能,能够实现多通道D/A同步转换输出:内部无参考电压,须外接参考电压电路;DAC0832是电流型D/A转换器,要获得模拟电压输出,需外加转换电路2。图5-4 D/A转换器模块如上图DAC0832各管脚的功能:1.D0-D7:8位数据输入端。2.ILE:数据允许锁存信号。3.:输入寄存器选择信号。3.:输入寄存器写选通信号,输入寄存器的锁存信号LE1由ILE、的逻辑组合产生,LE1为高电平时,输入寄存器状态随输入线性变化,LE1的负跳变将输入数据锁存。4.:数据传送信号。5.:DAC寄存器写选通信号。DAC寄存器的锁存信号LE2由XFER和WR2的逻辑组合产生,LE2为

36、高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2为负跳变时,输入寄存器的内容打入DAC寄存器并开始实行D/A转换。6.VREF:基准电源输入端。7.RFB:反馈信号输入端。8.IOUT1:电流输入端1,其值随DAC内容线性变化。8.IOUT2:电流输入端2,IOUT1+IOUT2=常数。9.GDN:模拟地和信号地2。电流电压转换器,由于DAC0832是电流型D/A转换器,所以DAC0832输出的电流信号,但是示波器接收的是电压信号,所以需要一个电流电压转换器,把电流信号转换为电压信号,如图5-3就是一个电流电压转换器。 5.3LCD显示模块液晶显示的原理是利用液晶的物理特性,通过电压对

37、其显示区域进行控制,液晶在电场的作用下,液晶分子的排列方式发生了变化,从而使其光学性质发生了变化,显示图形。由于液晶分子长时间的单向电流作用下容易发生点解,因此,液晶的驱动不能用直流电,但是液晶在高频交流点作用下,也不能很好地显示,故一般液晶的驱动采用125-150Hz的方波7。 51单片机通过向1602发送相关指令以完成对1602的控制,这些指令包括:清屏指令、复位指令、输入方式选择指令、显示开关控制指令、光标和画面移动指令、功能设置指令、CGRAM设置指令、DDRAM设置指令、读BF和AC指令、写数据指令、读数据指令8。 1602LCD主要技术参数:显示容量:162个字符;芯片工作电压:4

38、.55.5V;工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V;字符尺寸:2.954.35(WH)mm。 通过液晶1602显示输出的波形的频率,其电路图如下:图5-5 LCD显示模块 上图中:1.VSS:电源地引脚。2.VDD:表示电源引脚。3.Vo:液晶显示。4.RS:寄存器选择引脚节0-5V以调节显示对比度。5.R/W:读、写操作引脚,1表示读0表示写。6.E:使能信号引脚。7.DB0-DB7:数据总线引脚。 5.4键盘模块 键盘是单片机应用系统实现人机对话的一个主要部件,它能实现人向系统输入数据、传送命令等功能,是人干预计算机的主要手段。 当键盘某个按键被按下时,单片机应用系

39、统必须完成按下该键所设定的功能。对于一个键盘来说,它总会通过一个接口电路与CPU相连,CPU可采用查询或中断方式了解有无按键按下,并将该键号送入累加器Acc,然后通过散转指令转入执行该键的功能程序,完成后再返回原始状态。图5-6 键盘模块5.5总电路图 图5-7总电路图 如图5-7本系统由按键、AT89C51单片机、电流电压转换器、示波器、D/A转换器、LCD显示器组成。按键一共有三个,如上图右下角。由上往下,第一个为波形切换按键,第二个是减小频率按键,第三个是增加频率按键。6.基于单片机的函数信号发生器Proteus仿真 6.1仿真图 如图5-7,按下波形切换按键。示波器显示正弦波,频率为1

40、11.11Hz,如图6-1。图6-1正弦波图形 从图6-1的示波器中看出,一个网格为5ms,一个波占用了1.8格。所以它的周期为5*1.8=9ms。即频率大约为111Hz,与LCD显示上显示一致。 如图5-7,按下减小频率按键。示波器显示正弦波,频率为41.66Hz,如图6-2。图6-2正弦波图形 从图6-2的示波器中看出,一个网格为5ms,一个波占用了4.8格。所以它的周期为5*4.8=24ms。即频率大约为41.67Hz,与LCD显示上显示一致。 如图5-7,按下增加频率按键。示波器显示正弦波,频率为83.33Hz,如图6-3。图6-3正弦波图形从图6-3的示波器中看出,一个网格为5ms,

41、一个波占用了2.4格。所以它的周期为5*2.4=12ms。即频率大约为83Hz,与LCD显示上显示一致。 如图5-7,按下波形切换按键。示波器显示矩形波,频率为3333.33Hz,如图6-4。图6-4矩形波图形 从图6-4的示波器中看出,一个网格为0.1ms,一个波占用了3格。所以它的周期为0.1*3=0.3ms。即频率大约为3333Hz,与LCD显示上显示一致。 如图5-7,按下减小频率按键。示波器显示矩形波,频率为2380.95Hz,如图6-5。图6-5矩形波图形 从图6-5的示波器中看出,一个网格为0.1ms,一个波占用了4.2格。所以它的周期0.1*4.2=0.42ms。即频率大约为2

42、381Hz,与LCD显示上显示一致。 如图5-7,按下增加频率按键。示波器显示矩形波,频率为2777.77Hz,如图6-6。图6-6矩形波图形 从图6-6的示波器中看出,一个网格为0.1ms,一个波占用了3.6格。所以它的周期0.1*3.6=0.36ms。即频率大约为2777.78Hz,与LCD显示上显示一致。 如图5-7,按下波形切换按键。示波器显示三角波,频率为66.66Hz,如图6-7。图6-7三角波图形从图6-7的示波器中看出,一个网格为5ms,一个波占用了3格。所以它的周期为5*3=15ms。即频率大约为66.67Hz,与LCD显示上显示一致。 如图5-7,按下波形切换按键。示波器显示三角波,频率为47.61Hz,如图6-7。图6-8三角波图形从图6-8的示波器中看出,一个网格为5ms,一个波占用了4.2格。所以它的周期为5*4.2=21ms。即频率大约为47.6Hz,与LCD显示上显示一致。 如图5-7,按下波形切换按键。示波器显示三角波,频率为55.55Hz,如图6-9。图6-9三角波图形从图6-9的示波器中看出,一个网格为5ms,一个波占用了3.6格。所以它的周期为5*3.6=18ms。即频率大约为55.56Hz,与LCD显示上显示一致。 6.2设计

温馨提示

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

评论

0/150

提交评论