基于AT89S51单片机的信号发生器的设计
无需注册登录,支付后按照提示操作即可获取该资料.
基于AT89S51单片机的信号发生器的设计(任务书,开题报告,外文翻译,论文11200字)
摘 要
本文对几种类型的信号发生器的原理进行比较,包括锁相环频率合成器、直接频率合成器等。本文主要研究了利用AT89S51制作简易函数发生器,产生方波、三角波、正弦波三种波形并且达到频率、振幅可控的方法。通过DAC0832将单片机输出的波形数字采样值转换成模拟信号,外围接键盘电路进行波形切换和频率、振幅的调节,最后经过放大电路输出波形。
研究结果表明:通过单片机及数模转换电路以及外接控制电路可以实现波形的产生并且控制波形的相关参数。
本文的特色:对制作信号发生器的方法进行了比较,运用Proteus进行软件仿真进行理论值的计算分析,再与实际所得进行比较验证准确性、可行性。
关键词:AT89S51;DAC0832;信号发生器;Proteus
Abstract
This paper compares the production methods of signal generators, including phase-locked loop frequency synthesizer and single-chip microcomputer to generate waveform methods. This paper mainly studies the method of using AT89S51 to generate three frequency and amplitude controllable waveforms of sine wave, square wave and triangle wave. The digital signal generated by the single-chip microcomputer is converted into a digital signal by the DAC0832, and the peripheral keyboard circuit is used for waveform switching, frequency and amplitude adjustment, and finally the waveform is output to the oscilloscope through the two-stage operational amplifier. This paper also compares the production methods of signal generators, including phase-locked loop frequency synthesizer and single-chip microcomputer to generate waveform methods.
The research results show that the waveform can be generated by external circuits such as single-chip microcomputer and digital-to-analog conversion module, and the peripheral keyboard can control the relevant parameters of the waveform.
The characteristics of this paper: the method of making signal generator is compared, and the software simulation is carried out by proteus to calculate and analyze the theoretical value..
Key Words:AT89S51;DAC0832;Signal generator;Proteus
2.5 整体架构
AT89S51是信号发生器的核心部分,在Keil中编写C语言程序后编译搭建,将生成的hex文件下载到单片机中。单片机执行程序后不断扫描键盘进行波形的输出以及波形相关参数的调节等。其中,按键电路由单独按键或者矩阵键盘构成,当单片机执行程序时通过键盘控制波形的切换以及波形的频率、振幅调节以及矩形波占空比的调节。波形的ROM表就是代码中的波形数组,实际上就是把波形的一个周期进行采样,把数字采样值送到单片机输出。采样点数越多最后输出的波形失真就越小,我此次采用的是采样256个点。
其中方波不通过查表法得到,因为查表法不能改变占空比,因此用高低电平来产生方波,控制高低电平的持续时间来改变方波占空比。单片机的P1口输出ROM表中的数值然后送给DAC0832的8位数据输入口。进行数模转换之后经过运放进行放大滤波输出相应波形。
2.6 电路组成
本次课题电路大体可以分为一下几个子电路:晶振电路、复位电路、按键控制电路、显示电路、数模转换电路、放大电路。
2.6.1 晶振电路
单片机的时钟源可以由自己提供也可以由外部时钟源提供,在AT89S51内部,XTAL1和XTAL2引脚是一反相放大器的两个输入端,构成单片机内部振荡器[16]。同样,根据需要的不同,也可采用外部时钟方式。本次我采用的是内部时钟方式。在单片机的18、19引脚外接一个12兆赫兹的晶振,此时AT89S51的机器周期就是1us。单片机的18、19引脚分别为XTAL1和XTAL2。利用晶振和两个微调电容(30pF)使单片机工作在1us的机器周期。晶振电路如图所示。
图2.3 晶振电路
2.6.2 复位电路
本次的设计电路需要在开始运行时被重置也就是下次上电恢复显示波形的默认值。复位是使CPU和其他内部组件工作在一定的初始状态下,并从该状态进行下一步工作。该AT89S51微控制器具有复位引脚就是RST端口,此端口高电平有效。时钟电路工作之后,当外部电路使RST端高电平超过2个机器周期,系统内部将开始复位,复位是微控制器的初始化操作[17]。它的主要功能是将指令开始执行的地址初始化为0000H。
目 录
第1章 绪论 1
1.1 课题研究背景 1
1.2 发展历程 2
第2章 系统设计 4
2.1 课题系统要求 4
2.2 AT89S51单片机简介 4
2.3 DAC0832介绍 5
2.4 设计方案 6
2.5 整体架构 6
2.6 电路组成 7
2.6.1 晶振电路 7
2.6.2 复位电路 7
2.6.3 按键控制电路 8
2.6.4 显示电路 8
2.6.5 数模转换电路 10
2.6.6 放大电路 10
第3章 软件调试 11
3.1 代码编写 11
3.1.1 波形ROM表 11
3.1.2 LCD1602的初始化 12
3.1.3 中断函数 14
3.2 仿真调试 15
3.2.1 方波仿真结果 16
3.2.2 三角波仿真结果 18
3.2.3 正弦波仿真结果 19
第4章 硬件调试 21
4.1 实物展示 22
4.2 调试心得 26
第5章 结论 27
参考文献 28
致 谢 29