河南城建学院本科毕业设计(论文) 系统硬件方案的设计
(LSB)D0D1D2(MSB)D3Rfi|2A+voS02R2RI16RI16I82RS1I8RI42RS2I4RI22RS3I2+VREFI 图2-7 倒T形电阻网络D/A转换器
图中S0~S3为模拟开关,由输入数码Di控制,当Di=1时,Si接运算放大器相输入端(虚地),电流Ii流入求和电路;当Di=0时,Si将电阻2R接地。所以,无论Si处于何种位置,与Si相连的2R电阻均接“地”(地或虚地)。流过各开关支路(从右到左)的电流分别为 I/2、I/4、I/8、I/16。
VREF?D0D1D2D3?VREF3总电流:i??Di?2i? (2—2) ???4?3?2?1??4R?2222?2?Ri?0RfVREF输出电压:vo??i?Rf???R24 ??D?2? (2—3)
iii?03RfVREF?n?1?将输入数字量扩展到n位,则有:vo??i?Rf?? ?n???Di?2i?? (2—4)
R2?i?0?可简写为:vo??KnBn
n?1RfVREF?n,Bn=??Di?2i? 其中Kn?R2i?02.6.3. DAC0832芯片
由于单片机产生的是数字信号,要想得到所需要的波形,就要把数字信号转换成模拟信号,所以本文选用价格低廉、接口简单、转换控制容易并具有8位分辨率的数模转换器DAC0832。DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。但实际上,DAC0832输出的电量也不是真正能连续可调,而是以其绝对分辨率为单位增减,是准模拟量的输出。DAC0832是电流型输出,在应用时外接运放使之成为电压型输出。
8
河南城建学院本科毕业设计(论文) 系统硬件方案的设计
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。本设计选用直通方式。
CSDA:片选信号输入线(选通数据锁存器),低电平有效;
WR:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存。
单片机的P0口连接DAC0832的八位数据输入端,DAC0832的输出端接放大器,经过放大后输出所要的波形。DAC0832的内部结构如图2-8所示:
图2-8 DAC0832内部结构图
2.7. 数码管显示模块
本设计是用利用4为LED数码管显示波形代号和频率,通过按键来控制输出不同的波形,在数码管上第一位字母a、b、c、d分别对应着正弦波、三角波、方波、锯齿波,后三位数码管对应信号的频率,通过按键控制频率输出,其中单片机P1口接驱动芯片74LS245用以增加P1口带负载的能力,再利用74LS138译码器芯片对其进行译码并通过数码管显示,显示模块图如图2-9所示:
9
河南城建学院本科毕业设计(论文) 系统硬件方案的设计
图2-9 显示电路模块
10
河南城建学院本科毕业设计(论文) 系统软件方案的设计
3. 系统软件方案的设计
3.1. 软件总体设计
应用系统中的应用软件是根据系统功能要求而设计的,能可靠地实现系统的各种功能。一个优秀的应用系统的应具有下列特点:
1根据软件功能要求,将系统软件分成若干个独立的部分。设计出软件的总○
体结构,使其结构清晰、流程合理。
2要树立结构化程序设计风格,各功能程序模块化、子程序化。既便于调试、○
链接,又便于移植、修改。
3建立正确的数学模型。即根据功能要求,描述各个输入和输出变量之间的○
数学关系,它是关系到系统好坏的重要因素。
4为提高软件设计的总体效率,以简明、直观法对任务进行描述,在编写应○
用软件之前,应绘制出程序流程图。
5要合理分配系统资源,包括ROM、RAM、定时/计数器、中断资源等。 ○
6注意在程序的有关位置处写上功能注释,提高程序的可读性。 ○
7加强软件抗干扰设计,它是提高系统应用可靠性的有利措施。 ○
本系统的软件包括以下几个程序模块: 1键盘处理程序; ○
2中断服务程序; ○
3正弦波发生程序及其服务程序; ○
4三角波发生程序; ○
5方波发生程序; ○
6锯齿波发生程序。 ○
3.2. 软件流程图
本系统采用AT89C51单片机,用编程的方法来产生四种波形,并通过编程来切换四种波形以及波形频率的改变。
具体功能有:○1各个波形的切换;○2各种参数的设定;○3频率增减等;○4数码管的显示
软件调通后,通过编程器下载到AT89C51芯片中,然后插到系统中即可独立完成所有的控制。软件流程图如图3-1所示。
11
河南城建学院本科毕业设计(论文) 系统软件方案的设计
开始初始显示有按键按下?YNKey1按下Key2按下Key3按下Fun++频率f增大频率f减小Fun=1Fun=2Fun=2Fun=4输出正弦波
输出三角波输出方波输出锯齿波图3-1 程序流程图
3.3. 键盘扫描及初始程序设计
单片机系统中,键盘扫描是CPU工作的一个主要内容之一。CPU忙于各项工作任务时,如何兼顾键盘扫描。既保证不失时机的响应键盘操作,又不过多占用CPU时间。因此,要根据应用系统中的CPU的忙、闲情况,选择好键盘的工作方式。
在单片机应用系统设计中,为了节省硬件,通常采用非编码键盘,在这种键盘结构中,单片机对它的控制有三种方式:程序控制扫描方式;定时扫描工作方式;中断工作方式。
1)程序控制扫描方式
这种方式就是只有当单片机空闲时,才调用键盘扫描子程序,响应键盘的输入请求。
2)定时扫描方式
这种方式就是每隔一定的时间对键盘扫描一次。通常是利用单片机内部定时器产生1ms的定时中断,CPU响应定时器溢出中断请求,对键盘进行扫描,以响应
12