单片机课程设计——波形发生器_第1页
单片机课程设计——波形发生器_第2页
单片机课程设计——波形发生器_第3页
单片机课程设计——波形发生器_第4页
单片机课程设计——波形发生器_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、.单片机课程设计报告电子科学系指导老师:胡珏班级: 10电信班姓名:卓桂成 游龙 谢礼杰学号:100703157 100703144 1007031 目录1总体设计及需求分析1.1实验要求:实验目的1.2 设计思路2 硬件电路设计及描述2.1 主要硬件介绍2.1.1 单片机STC90c512.1.2 DAC08322.2 电路介绍2.2.1 电源电路2.2.2 D/A电路2.2.3显示电路2.2.4 时钟电路2.2.5 复位电路2.2.6 最终电路3软件设计流程及描述3.1 程序流程3.2 程序1总体设计及需求分析1.1实验要求:实验目的. 设计一款能够产生3种以上波形的波形发生器;. 设计波

2、形选择按钮;LED或LCD显示波形代号(如 1为正弦波,2为方波);能够同时输出两种波形能够记录一段时间的波形1.2 设计思路开关电源复位时钟MCS-51系列芯片LED显示 D/A运放开始开启显示设置D/A地址,#7FFFH(DPTR)P1.0=0?P1.1=0?P1.2=0?P1.3=0?结束调用方波调用锯齿波调用三角波调用梯形波是是是是否否否否 2 硬件电路设计及描述2.1 主要硬件介绍2.1.1 单片机89C51AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、

3、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如下图所示:图3.4 AT89C51引脚图AT89C51管脚说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个

4、8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接

5、收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P

6、3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态

7、ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.1.2 DAC0832AC0832是8位分

8、辨率D/A转换集成芯片,与处理器完全兼容,具有价格低廉,接口简单,转换控制容易等优点,在单片机应用系统中得到广泛的应用。 D/A转换器由八位输入锁存器、八位DAC寄存器、八位D/A转换电路以及转换电路构成。 DAC0832输出是电流型的,但实际应用中往往需要电压输出信号,所以还必须一个外接的运算放大器转换称电压。其引脚如下图1所示:图1:DAC0832引脚图 D0D7:八位数据输入线 ILE:数据锁存允许控制信号输入线,高电平有效 CS: 片选信号输入线,低电平有效 WR1:输入寄存器的写选通信号,低电平有效 XFER:数据传送控制信号输入线,低电平有效 WR2:DAC寄存器写选通输入线,低电

9、平有效 IOUT1:电流输出线。当输入全为1时IOUT1最大 IOUT2:电流输出线。其值与OUT1之和为一常数 RFB:反馈信号输入线,芯片内部有反馈电阻 Vcc:电源输入线(+5+15V) Vref: 基准电压输入线(-10+10V) AGND: 模拟地,模拟信号和基准电源的查考地 DGND:数字地,两种地线在基准电源共处比较好根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式,可用软件指令控制这5个控制端:ILE、CS、WR1、WR2、XFER。 直通工作方式:5个控制端均有效,直接D/A转换 单缓冲工作方式:5

10、个控制端一次选通,即两个输入寄存器中任意一个处于直通方式,另一个工作于受控方式 双缓冲工作方式:5个控制端分二次选通。即两个锁存器都处于受控状态本次设计我们让DAC0832工作于单缓冲器方式,它的ILE接+5V。/CS和/XFER相连后由8051的P2.7控制,/WR1和/WR2相连后由8051的/WR控制DAC0832的地址为7FFFH,工作于单缓冲器方式,执行一次对DAC0832的写入操作即可完成一次D/A转换。2.2 电路介绍2.2.1 电源电路通过数据线和usb接口,计算机向电路供电,Usb原理图如下:2.2.2 D/A电路2.2.3显示电路输出波形同时相应led灯的相应p1口输出低电

11、平,使显示电路导通。 2.2.4 时钟电路单片机的时钟信号通常用两种电路形式得到:内部振荡和外部振荡方式。时钟部分电路图在单片机80c51引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。单片机的时序单位振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此一个状态周期包含2个振荡周期。机器周期:1个机器周期由6个状态周期12个振荡周期组成,是计算机执行一种基本操作的时间单位。指令周期:执行一条指令所

12、需的时间。一个指令周期由1-4个机器周期组成,依据指令不同而不同.2.2.5 复位电路当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。图3.4 复位电路单片机的复位操作使单

13、片机进入初始化状态,其中包括使程序计数器PC0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。51单片机在系统复位时,将其内部的一些重要寄

14、存器设置为特定的值,至于内部RAM内部的数据则不变。2.2.6 最终电路3软件设计流程及描述3.1 程序流程3.2 程序 ORG 0000H LJMP MAIN ORG 0100H ;主程序地址MAIN: JNB P1.0,P10 JNB P1.1,P11 JNB P1.2,P12 JNB P1.3,P13 LJMP MAIN ;哪个键按下,显示哪个波形P10: MOV R7,#00H ;方波波形,R7为特征码,放00,表示方波 LCALL SQU ;调用方波波形函数 LJMP MAIN ;调用完返回主程序循环P11: MOV R7,#01H ;01表示锯齿波 LCALL SAW LJMP M

15、AINP12: MOV R7,#02H ;02表示三角波 LCALL TRI LJMP MAINP13: MOV R7,#03H ;03表示方波 LCALL SIN LJMP MAINSQU: JNB P1.1,N1 ;方波函数,如果有其他键按下退出程序 JNB P1.2,N2 JNB P1.3,N3 LJMP SSQU ;没有键按下,到SSQU函数产生方波N1: MOV R7,#01H ;哪个键按下就在R7中记下特征码 LJMP TC0N2: MOV R7,#02H LJMP TC0N3: MOV R7,#03H LJMP TC0SSQU: CJNE R7,#00H,TC0 ;R7不为0退出

16、 SETB P1.5 SETB P1.6 SETB P1.7 CLR P1.4 ;p1.0输出一个低电位 led亮 MOV R0,#00H ;R0中放00 K00: MOV P0,#0FFH MOV P2,#0FFH MOV A,P2 ;变数值,P2越大,波形周期越小 CPL A MOV R3,AL00: DEC R3 CJNE R3,#255,L00 ;这个循环改变周期 INC R0 INC R0 CJNE R0,#254,K00 ;高电平波循环127次 MOV R0,#00HK01: ;MOV A,#00H ;低电平,跟高电平差不多 ;MOVX DPTR,A MOV P0,#00H MOV

17、 P2,#0FFH MOV A,P2 CPL A MOV R3,AL01: DEC R3 CJNE R3,#255,L01 INC R0 INC R0 CJNE R0,#254,K01 LJMP SQU ;显示完一个波形,回到方波函数开始,判断有无其他按键TC0: RET ;返回主函数 SAW: JNB P1.0,N4 JNB P1.2,N5 JNB P1.3,N6 LJMP SSAWN4: MOV R7,#00H LJMP TC1N5: MOV R7,#02H LJMP TC1N6: MOV R7,#03H LJMP TC1SSAW: CJNE R7,#01H,TC1 SETB P1.4 S

18、ETB P1.6 SETB P1.7 CLR P1.5 MOV R0,#0FFH K10: MOV P0,R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL10: DEC R3 CJNE R3,#255,L10 INC R0 CJNE R0,#255,K10 LJMP SAWTC1: RETTRI: JNB P1.0,N7 JNB P1.1,N8 JNB P1.3,N9 LJMP TTRIN7: MOV R7,#00H LJMP TC2N8: MOV R7,#01H LJMP TC2N9: MOV R7,#03H LJMP TC2TTRI: CJNE R7,#02

19、H,TC2 SETB P1.4 SETB P1.5 SETB P1.7 CLR P1.6 MOV R0,#00H K20: MOV P0,R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL20: DEC R3 CJNE R3,#255,L20 INC R0 INC R0 CJNE R0,#254,K20K21: MOV P0,R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,AL21: DEC R3 CJNE R3,#255,L21 DEC R0 DEC R0 CJNE R0,#0,K21 LJMP TRITC2: RETSIN: JNB

20、 P1.0,N10 ;正弦波,是通过存储在代码区的一个数组来显示值的 JNB P1.1,N11 JNB P1.2,N12 LJMP SSINN10: MOV R7,#00H LJMP TC3N11: MOV R7,#01H LJMP TC3N12: MOV R7,#02H LJMP TC3SSIN: CJNE R7,#03H,TC3 SETB P1.4 SETB P1.5 SETB P1.6 CLR P1.7 MOV R0,#00H K30: MOV A,R0 MOV DPTR,#TAB ;数组的地址 MOVC A,A+DPTR ;把第R0个数放到A中 MOV P0,A INC R0 ;RO加

21、1 MOV P2,#0FFH ;周期 MOV A,P2 CPL A MOV R3,AL30: DEC R3 CJNE R3,#255,L30 CJNE R0,#255,K30 LJMP SINTC3: RETTAB: DB 80H,82H,84H,86H,88H,8AH,8CH,8EH,90H,92H,94H,96H,98H,9AH,9CH,9EH DB 0A0H,0A2H,0A4H,0A6H,0A8H,0AAH,0ABH,0ADH,0AFH,0B1H,0B2H,0B4H,0B6H,0B7H,0B9H,0BAH DB 0BCH,0BDH,0BFH,0C0H,0C1H,0C3H,0C4H,0C5H,0C6H,0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH DB 0CEH,0CFH,0D0H,0D1H,0D1H,0D2H,0D2H,0D3H,0D3H,0D4H,0D4H,0D4H,0D4H,0D5H,0D5H,0D5H DB 0D5H,0D5H,0D5H,0D5H,0D4H,0D4H,0D4H,0D4H,0D3H,0D3H,0D2H,0D2H,0D1H,0D1H,0D0H,0CFH DB 0CEH,0CEH,0CDH,0CCH,0CBH,0CAH,0C9H,0C8H,0C6H,0

温馨提示

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

评论

0/150

提交评论