矩阵式键盘[5]适用于按键数量较多的场合,系统采用了行列式键盘设计即矩阵键盘,用I/O线组成行、列结构,按键设置在行列的交点上,2×4的行列结构可构成8个键的键盘。因此,在按键数量较多时,可以节省I/O线。按键的识别方法有两种:一种为扫描法;另一种为线反转法。此设计采用了行列式及与之相适应的行列扫描法。
(3) 数码管驱动
本设计实现了AT89C51的I/O口对2×4键盘和8位数码管显示的控制。
(4) D/A转换
本设计D/A转换部分采用DAC0832芯片。
(5) 信号变换部分
对信号的变换部分采用四运放集成芯片LM358,它采用8脚双列直插塑料封装,它的内部包含两组形式完全相同的运算放大器。
(6) 可靠性方面
在使用应用系统时,可能会受到多种干扰的侵袭,直接影响到系统的可靠性。因此,本系统适当加入去耦电容,以减少干扰,确保精度。
2.2 单片机引脚分配
XTAL1、XTAL2:外接电路,产生时钟信号。
RST:外接复位电路。
P0:外接数模转换与放大电路,波形信号输出。
P1:外接矩阵键盘。
P2:LED显示器段选码。
P3:LED显示器位选码。
信号幅度调节由DAC0832的VREF接口控制。
2.3 单片机外围电路介绍
2.3.1 时钟电路
AT89C51中有一个用于构成振荡器的反相高增益放大器,该放大器的输入端和输出端是引脚XTAL1和XTAL2。作为反馈元件的陶瓷谐振器或片外石英晶体与该放大器一起构成了自激振荡器[6]。振荡电路如图2所示。
图2 振荡电路图
并联振荡电路是由陶瓷振器(或外接石英晶体)以及电容C1和C2接到放大器反馈回路中形成的。对外接电容C1和C2虽然没有太严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,这里选择使用石英晶体,我们的电容使用30pF。如使用陶瓷谐振器的话,应选择40pF+(-)10pF的容值的电容。
也可以采用外部时钟。采用外部时钟的电路的情况时,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
2.3.2 复位电路
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,根据应用要求,复位操作一般有两类基本方式,上电和开关复位或上电复位。上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,开关操作也可以使单片机复位。上电后,由于电容C3的反相门和充电的作用,使RST文持一段时间的高电平。当单片机已经在运行当中时,按下复位键K后松开,也可以使RST有一段时间的高电平,从而实现上电或开关复位的操作。上电复位要求接通电源后,自动实现复位操作。
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,复位是任何微机系统执行的第一步,使整个控制芯片回复到默认硬件状态。51单片机复位是通过RESET引脚进行控制的,当高电平和RESET引脚相连超过24个振荡周期后,51单片机即实现芯片的内部复位,且一直会在该状态进行等待,一直等到RESET引脚转变成低电平之后,才会检查EA引脚是低电平还是高电平,若是高电平才会执行芯片内部程序代码,若是低电平就会执行外部程序。51单片机在进行系统复位时,其内部的一些重要的寄存器将设置为特定值,至于内部RAM内部的数据则不变。 51单片机函数信号发生器的设计+源码+电路图(5):http://www.youerw.com/tongxin/lunwen_335.html