基于80C52单片机的函数信号发生器毕业论文.doc
《基于80C52单片机的函数信号发生器毕业论文.doc》由会员分享,可在线阅读,更多相关《基于80C52单片机的函数信号发生器毕业论文.doc(39页珍藏版)》请在沃文网上搜索。
1、 摘 要 信号发生器是当今各种电子电路实验中必不可少的仪器设备之一。传统信号发生器通常只有二种主要的控制,可变频率与幅度。这种电路存在波形质失真大、控制难、调节范围小、电路不简单和体积大等缺点。随着计算机的普及和单片机的应用广泛,二者带动了信号发生器日新月异的变化。单片机产生的信号比传统信号发生器精度更高、频率变换更容易、波形失真度更小。信号发生器是各式各样测试和实验过程中必不可少的仪器,在通信、测量、雷达、控制、教学等领域都有重要应用。不论是在生产、科研还是教学上,信号发生器都是电子工程师信号仿真实验的最佳工具,而且,随着技术的进步,信号发生器的设计方法越来越多,设计技术也越来越先进。比较和
2、研究信号发生器的设计方法,克服传统方法的缺点,设计出更精确,功能更完善的信号发生器是必要的。本文介绍的是一种用AT89S52单片机构成的信号发生器,可产生方波、三角波、正弦波、锯齿波,波形的频率与幅度可调。具有线路简单、结构紧凑、性能优越等特点。文章给出了源代码,通过仿真测试,其性能指标达到了设计要求。单片机小系统负责用户的交互和系统控制,键盘用于频率的输入与波形的选择。LCD显示当前所选信号的频率调整情况,而末级放大电路则对生成的信号进行适当的放大,以提高信号的振幅和强度。关键词单片机,DAC,信号发生器 ,频率调节,幅度调节 Abstract In recent years, with t
3、he computer in the social sector penetration and MCU application is continuously, while driving to the deepening traditional function signal generator on new PE updates. SCM can produce high precision, fast transform the frequency, the output waveform distortion of preferred selection technology. Fu
4、nction signal generator is all sorts of test and experiment process the essential tool, in communication, measuring, radar, control, teaching fields used widely. Both in production and scientific research or teaching, signal generator are electronic engineer signal simulation experiment, and the bes
5、t tool, signal generator design method, design technology is becoming more and more advanced. Research function signal generator design methods, overcome shortcomings of traditional methods, in order to better designed complex FM, attenuation function signal generator. This thesis introduces a AT89C
6、2 single-chip computers.the waveform generator, can produce square-wave, triangle wave, sine wave, sawtooth wave etc. Various waveform, waveform cycle available program change, and can choose according to need single polarity output or dual polarity output, has the line is simple, compact structure,
7、 superior performance characteristics. The article presented the source code, through the simulation test, the performance indexes meet the design requirements. : singlechip processor system is responsible for the user interaction and system control, the keyboard for frequency of input and waveform
8、choice. LCD display the current selected the signal frequency adjustment. Has the interface hint function, and final amplifier circuit is generated signal proper amplifier, in order to improve the signal amplitude and strength.Keywordsmicrocontroller, DAC, signal generator, microcontroller, frequenc
9、y adjustment, interface hints. 目 录 1 概述1 1.1 单片机概述2 1.1.1 特殊功能寄存器3 1.1.2 数据存储器4 1.1.3 自动重装载方式5 1.1.4 波特率发生器6 1.1.5 可编程时钟输出7 1.1.6 时钟振荡器7 1.1.7 Flash存储器的编程8 1.3 信号发生器的分类9 1.3.1 正弦信号发生器9 1.3.2 低频信号发生器10 1.3.3 频率合成式信号发生器10 1.3.4 函数发生器11 1.3.5 脉冲信号发生器11 1.3.6 噪声信号发生器111.4 信号发生器的应用121.5 研究内容122 方案的设计与选择1
10、3 2.1 方案的比较13 2.2 设计原理13 2.3 设计思想14 2.4 设计功能153 硬件设计16 3.1 硬件原理框图16 3.2 主控电路16 3.3 数/模转换电路17 3.4 按键接口电路18 3.5 时钟电路18 3.6 显示电路194 软件设计20 4.1 程序流程图20 4.2 源程序的调试22 4.3 波形产生与控制255 总原理图及元器件清单27 5.1 总电路图27 5.2 元器件清单286 总结与展望28致 谢29参考文献301 概述随着大规模集成电路技术的发展,中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、(I/O)接口、定时器/计数器
11、和串行通信接口,以及其他一些计算机外围电路等均可集成在一块芯片上构成单片微型计算机,简称为单片机。单片机具有体积小、成本低,性能稳定、使用寿命长等特点。其最明显的优势就是可以嵌入到各种仪器、设备中,这是其他计算机和网络都无法做到的。1.1单片机概述AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程 AT89S52引脚图 DIP封装Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Fla
12、sh,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 P0 口:P0口是一个8位漏极开路的双向
13、I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1
14、分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 AT89S52引脚图 PLCC封装4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉
15、电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可
16、以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST:复位输入。
17、当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,
18、应设置ALE禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程
19、电压Vpp。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。1.1.1特殊功能寄存器特殊功能寄存器(SFR)的地址空间映象如表1所示。 AT89S52 特殊寄存器映象及复位值并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。 用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。 定时器 2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位(如表2和表3所示),寄存器对RCAP2H和RCAP2L是定时器2
20、的捕捉/自动重载寄存器。 中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。 表2 T2CON:定时器/计数器2控制寄存器 T2CON 地址为0C8H 复位值:0000 0000B位可寻址 TF2 EXF2RLCLK TCLK EXEN2TR2C/T2CP/RL27654 3210符号功能TF2定时器2 溢出标志位。必须软件清“0”。RCLK=1 或TCLK=1 时,TF2不 用置位。EXF2定时器2 外部标志位。EXEN2=1 时,T2EX 上的负跳变而出现捕捉或重载 时,EXF2 会被硬件置位。定时器2 打开,EXF2=1 时,将引导CPU执行定 时器2 中断
21、程序。EXF2 必须如见清“0”。在向下/向上技术模式(DCEN=1) 下EXF2不能引起中断。RLCLK 串行口接收数据时钟标志位。若RCLK=1,串行口将使用定时器2 溢出脉冲 作为串行口工作模式1 和3 的串口接收时钟;RCLK0,将使用定时器1计数 溢出作为串口接收时钟。TCLK串行口发送数据时钟标志位。若TCLK=1,串行口将使用定时器2 溢出脉冲作 为串行口工作模式1 和3 的串口发送时钟;TCLK0,将使用定时器1计数溢出 作为串口发送时钟。EXEN2定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟, T2EX(P1.1)的负跳变见引起定时器2 捕捉和重载
22、。若EXEN20,定时器2 将视T2EX端的信号无效TR2开始/停止控制定时器2。TR2=1,定时器2开始工作C/T2 定时器 2 定时/计数选择标志位。C/T2 0,定时; C/T2 1,外部事件计 数(下降沿触发)CP/RL2捕捉/重载选择标志位。当EXEN2=1时, CP/RL21,T2EX出现负脉冲,会引 起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载 操作。CP/RL20 将引起T2EX 的负脉冲。当RCKL=1或TCKL1时,此标志位 无效,定时器2溢出时,强制做自动重载操作。双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路1
23、6位数据指针寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0 选择DP0;DPS=1 选择DP1。用户应该在访问数据指针寄存器前先初始化DPS至合理的值。 表 3a AUXR:辅助寄存器 AUXR 地址:8EH 复位值:XXX00XX0B不可位寻址 WDIDLEDISRTO DISALE 7 6 5 432 10预留扩展用 DISALE ALE使能标志位 DISALE 操作方式 0 ALE 以1/6晶振频率输出信号 1 ALE 只有在执行MOVX 或MOVC指令时激活 DISRTO 复位输出标志位 DISRTO 0 看门狗(WDT)定时结束,Reset
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 80 C52 单片机 函数 信号发生器 毕业论文