课程设计简易波形发生器(4)

2019-04-02 14:18

4.2.2 时钟电路

CPU工作时都必须有一个时钟脉冲。有两种方式可以向89S52提供时钟脉冲:一是外部时钟方式,即使用外部电路向89S52提供时钟脉冲;二是内部时钟方式,即使用晶振由89S52内部电路产生时钟脉冲。一般常用第二种方法,其电路见图4-3所示。

图4-3 89S52的时钟脉冲

4.2.3 复位电路

复位是单片机的初始化操作, AT89S52复位操作有3种方式:上电复位、上电按钮复位和系统复位。上电复位电路如图4-4所示。对于CMOS型单片机因RST引脚的内部有一个低电阻,故电阻R可不接。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效地复位。当晶体振荡频率为12MHz时,RC的典型值为C=10uF,R=8.2K欧姆。简单复位电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错误复位,这时可在RST引脚上接一去耦电容。

通常因为系统运行等的需要,常常需要人工按钮复位,复位电路如图4-5所示,其中R2>>R1,只需将一个常开按钮开关并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机复位。设计电路如图4-6。

+5V C

R RST 89S52 C +5V RST 89S52 R1 R2

图4-4 上电复位电路 图4-5 上电按钮复位电路

11

图4-6 89S52的复位电路

4.3 键盘电路原理

在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,按键通常是一种常开型按钮开关,平时按键的两个触点处于断开状态,按下键时它们才闭合。

根据设计的电路特点,只需要用到4个按钮来选择波形,按键S1~S4分别和单片机P1口的P1.0~P1.3相连,实现的功能也比较简单,键盘电路图如图4-7所示。

图4-7 键盘电路图

S1SW-PBS2SW-PBS3SW-PBS4SW-PBVCCR11KR21KR31KR41K4.4 LCD显示电路

通过液晶1602显示输出的波形、频率,其电路图如图4-8所示:

12

图4-8 液晶显示

如上图所示,1602的八位数据端接单片机的P1口,其三个使能端RS、RW、E分别接单片机的P3.2—P3.4。通过软件控制液晶屏可以显示波形的种类以及波形的频率。

4.5 数、模转换电路

制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。

单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形的优点,但是电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832芯片,构成多个DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,选择了单缓冲方式使用方便,程序简单,易操作。

这里采用DAC0832与单片机89S52的典型的单缓冲方式接口电路。DAC0832的输出是电流,使用运算放大器可以将其电流输出线性地转换成电压输出。根据运算放大器和DAC0832的连接方法,运算放大器的输出可以分为单极性和双极性两种。这里采用双极性方式如图4-9所示。

图4-9 DAC0832双极性电压输出电路

13

五、 系统软件设计

软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、三角波模块、正弦波模块、方波模块、延时子程序模块等。

显示波形模块是利用DAC0832的8位特点,把波形的数据以8位数据的形势送进CPU中,只要一按键就能显示波形。

5.1 主程序流程图

主程序流程图如图5-1所示。本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键1按下时,函数发生器就输出三角波;当按键2按下时,函数发生器就输出正弦波;当按键3按下时,函数发生器就输出方波。通过按键可以以任意循环方式输出不同波形。

N

图5-1 主程序流程图

Y 输出三角开始 Key1按下吗? N 波 Key2按下吗? N Y 输出正弦波 Key3按下吗? N Y 输出方波 Y 14

5.2 子程序流程图

5.2.1 三角波程序流程图

三角波流程图如图5-2所示。当进入三角波产生流程后,首先将DAC0832口地址置为4000H,通过A中数值的加一递升,当A中的内容为0时,与0FFH相比,相等时A中的内容减一递减,从而循环产生三角波。

开始 置DAC0832口地址Y 输入一个数字量A=0? (A)→0832A-1A+1(A)→0832A=0? N Y 输入一个数字量N

图5-2 三角波流程图

5.2.2 正弦波程序流程图

正弦波程序流程图如图5-3所示。正弦波波形设计通过查表指令得出。当进入正弦波产生程序后,首先将寄存器R1赋值为00H,将DAC0832口地址置为4000H,然后将查表得到的数据送0832。

15


课程设计简易波形发生器(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数据结构(C++版)知识点及相应题目

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: