西南交通大学本科毕业设计(论文) 第 9 页 容搭配12MHz的晶振来为单片机提供时钟信号。因为51单片机内部在18和19两个管脚之间设有内部振荡电路,由一个反相放大器构成,而18和19两脚及时反相放大器的两个输入端。这样的时钟方式成为内部时钟,本次设计采用的就是这种方式。具体电路如图2-4所示:
XTAL1
XTAL2
单片机复位电路工作原理及应用: 单片机在运行过程中会因为程序问题或者操作失误而发生死机现象,这时就要用到单片机的复位系统,按下复位键就能把单片机的运行状态初始化,恢复到刚开机状态。所以单片机的复位就是为了把系统恢复到某个确定的状态。而由于单片机的内部寄存器一般在出厂时都有一个预设的初始值,所以单片机在开机时或者复位后,内部寄存器就会自动装入这些初始值来达到初始化的目的。
从原理上来讲,实现单片机上电自动复位,就是要保证复位管脚RST的复位电平时间大于两个机器周期,所以根据这个要求,晶振的时钟频率为12MHz,我们可以用RC电路的计算方法来计算出具体的参数值。而按键复位则为手动触发电容放电,然后在充电,就达到了开机上电的效果。下面则详细叙述复位电路的两个组成部分上电复位和按键复位:
(1)上电复位:AT89C51单片机的上电复位有效电平是高电平,通常我们会在RST复位管脚上连接一个电容,然后接到高电平,再连接一个电阻接到低电平,这样就会形成一个RC充放电回路。当上电时,电容充电,RST管脚为高电平,单片机进行复位;充电完成后,RST与电阻连接到GND,单片机正常运行。所以只要保证电容充电
第 西南交通大学本科毕业设计(论文) 10 页 时间能持续两个机器周期以上就能让单片机完成上电复位。这个电阻和电容的典型值是10K和10uF。
(2)按键复位:从原理上来讲,按键复位就是手动触发上电复位,而不是市使用关掉电源再打开。按键复位就是在电容两端并联一个开关,当开关按下时,电容两端短路,电容放电,同时RST也接通到了VCC;松开按键时,电容有个充电过程,此过程上电复位过程一样,RST有足够的时间来完成单片机复位。
上面已经讲过,复位就是使单片机恢复到初始化状态,即内部寄存器都转入厂家预设的初始值,从这个初始化状态开始运行[1]。当单片机系统上电后,RST会接收到一个连续且持续两个周期以上的高电平,这就是单片机复位的条件。上电复位和按键复位的具体电路如图2-5所示:
图2-5 按钮复位电路
2.4 按键控制及显示电路设计
本次设计的按键电路共包含3个按键,分别为按键S1、S2和S3。这三个按键分别连接单片机的P3.4脚、P3.5脚和P3.6脚。S1用来改变单片机输出波形函数的类别,按下S1一次,表示对输出波形进行一次切换;S2和S3则是用来改变频率的,当按下S2时,输出波形的频率会按照一个特定的单位量进行增加,比如说单位量是50,初始值为100Hz,则按下S2一次,频率变为150Hz,同样S3的作用为对频率进行减小操作。通过与门74LS21可以对各按键信号进行与操作,然后将信号传到P3.2
第 西南交通大学本科毕业设计(论文) 11 页 脚,用来测定是否有按键按下。具体电路如图2-6所示。
图2-6-按键电路
2.5 D/A转换电路
D/A转换模块就是把数字量转换为模拟量。此模块常用于信号发生器等一些需要数模转换的设计。我们都知道,D/A模块的输入量和输出量成正比,即Uo=n*Ui,其中Uo为输出模拟量,Ui为输入的数字量,n为倍数。所以我们可以控制AT89C51单片机向D/A模块发送一定规律的数字量(波形采样得到),然后经过D/A模块转换后就可以输出有波形规律的模拟量[1]。 2.5.1 D/A转换的必要性
此次设计中要产生的波形是模拟量,可以在示波器上显示出来,但我们都知道,单片机作为函数信号发生器的主控,它所产生并输出的量是并非是模拟量,而是不连续的数字量,相当于对波形进行采样的结果。而D/A转换模块的用途就是把数字量转换成模拟量。所以我们可以用数模转换模块岁单片机输出的数字量进行D/A转换,转换后的模拟量就可以在示波器上显示出来,从而达到我们的要求。
第 西南交通大学本科毕业设计(论文) 12 页 2.5.2 DAC0832的特性及应用
要完成我们这次的设计任务,就要用D/A转换模块把单片机输出的数字量转换为模拟量。说到数模转换模块,首先我们能想到的就是DAC0832芯片,作为一个8位输入的数模转换芯片,其价格便宜易于购买,且芯片资料较多,可以很容易地查阅到DAC0832的相关资料。DAC0832是一个输入为8位的数模转换器,且DAC0832的8位输入端接口可以很容易地与单片机的P口进行连接,所以控制起来也比较容易。虽然DAC0832的使用很频繁,有很重要的地位,但DAC0832的输出量不是真正的连续可调的模拟量,而是对输出量以其绝对分辨率为单位进行增减,所以从严格意义上来讲,它的输出量是准模拟量。
DAC0832主要由四部分组成,它们分别是八位输入寄存器、八位D/A转换器、八位DAC寄存器和输入控制电路。其内部结构及引脚图如图2-7所示:
图2-7 DAC0832的内部结构
第 西南交通大学本科毕业设计(论文) 13 页
图2-8 DAC0832的引脚图
(1)D7-D0:8位数据输入端,D7位最高位。
(2)OUT1为模拟电流输出1端,OUT2为模拟电流输出端2。跟编码器类似,DAC寄存器中的数据有两个极端,全1或者全0,两种情况时分别输出为最大值和最小值。
(3)Rfe为反馈电阻的引出端,由于0832内部已经设有反馈电阻,所以DAC0832的Rfe脚可以直接连到运放输出端,这样就相当于运放的输出端和输入端之间有了一个反馈电阻[3]。
(4)Vref为参考电压的输入端,它决定输入端输入的8位数字量转化到模拟量后的电压值幅度。Vref范围为-10V - +10V。Vref端与DA内部T形电阻网络相连,Vref可接正电压或者负电压[3]。
(5)Vcc:芯片供电引脚输入端,范围为5V-15V。 (6)GND(3脚):模拟量电路接地端。 (7)GND(10脚):数字量接地端。
DAC0832是D/A转换器的一类,属于电流型,所以后面要跟着I/V转换。DAC0832的输入端可以有以下几种方式:单缓冲、双缓冲和直通方式。
当引脚WR1、WR2、CS、XFER直接接地且ILE脚接电源时,DAC0832处于直通状态工作方式。在这种工作状态下,是要输入端有数字量输入,输出端就会马上有输出,