2.2 总体方案选择
方案一:采用模拟电路搭建函数信号发生器,它可以同时产生方波、三角波、正弦波。但是这种模块产生的不能产生任意的波形(例如梯形波),并且频率调节很不方便。
方案二:采用锁相式频率合成器,利用锁相环,将压控振荡器(VCO)的输出频率锁定在所需频率上,该方案性能良好,但难以达到输出频率覆盖系数的要求,且电路复杂。
方案三:使用集成信号发生器发生芯片,例如AD9854,它可以生成最高几十MHZ的波形。但是该方案也不能产生任意波形(例如梯形波),并且价格昂贵。
方案四:采用STC10F08XE单片机和DAC0832数模转换器生成波形,加上一个低通滤波器,生成的波形比较纯净。它的特点是可产生任意波形,频率容易调节,频率能达到设计的500HZ以上。性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。
经比较,方案四既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比高,所以采用该方案. 2.3改变幅度方案选择
方案一:可以将送给DA的数字量乘以一个系数,这样就可以改变DA输出电流的幅度,从而改变输出电压;优点:使用方便。输出电压更加稳定。通过编程可以输出各种波形。缺点:单片机的计算任务大。
方案二:将输出电压通过一个反向比例运算放大进行放大。比例放大器的基准电阻是滑动变电阻。优点:幅度连续可调。缺点:使用者调节幅度很不方便。且需要检测电路会增加成本同时怎加了对单片机的要求。
经比较,方案一既可满足课程设计的基本要求,并且电路也挺简单。 2.4单片机详述 型号:STC10F08XE 封装:PDIP40
STC10F08XE单片机是宏晶科技设计生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但
6
速度快8-12倍。内部集成高可靠复位电路,针对高速通信,智能控制,强干扰场合。
STC10F08XE单片机的定时器0/定时器1/串行口与传统8051兼容,增加了独立波特率发生器,省去了定时器2.传统8051的111条指令执行速度全面提速,最快的指令快24倍,最慢的指令快3倍1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统80512. 工作电压:5.5V-3.8V/3.4V
工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz 单片机用户应用程序空间: 8K字节
STC10F08XE单片机:RAM为256字节 复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过100Ma ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器 可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片 有EEPROM功能
2个16位定时器(与传统8051兼容的定时器/计数器,16位定时器T0和T1) 1个独立波特率发生器
3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟
外部中断I/O口有5路,支持传统的下降沿中断或低电平触发中断 Power Down(掉电)模式可由外部中断唤醒,INT0/P3.2, INT1/P3.3, INT/T0/P3.4, INT/T1/P3.5, INT/RxD/P3.0(或INT/RxD/P1.6)16. Power Down(掉电)模式可由内部掉电唤醒专用定时器唤醒(STC11xx系列有此功能,STC10xx无此功能), 也可由上面提到的外部中断口中断唤醒,由于INT/RxD支持下降沿中断,故也可支持远程通信唤醒
一个独立的通用全双工异步串行口(UART),做主机时可以当2个串口使用 [RxD/P3.0,TxD/P3.1]可以切换到[RxD/P1.6,TxD/P1.7],通过将串口在P3口和P1口之间来回切换, 将1个串口作为2个主串口分时复用,可低成本实现2个串口,当然有其局限性
工作温度范围:-40 - 85℃(工业级) / 0 - 75℃(商业级)
7
2.5 电源
本次设计需要正负12伏和正5伏的电源。采用全波整流。
电路图如下:
元件:DB102桥堆 、LM7805 、LM7812 、 LM7912 、IN4007二极管 、1000uf电容 、330uf电容、0.1uf电容、变压器。
2.6 lcd显示
用于人机通信。显示波形、频率和振幅。 元件:10k电阻、10k可调电阻、lcd1602。 Lcd1602: 时序图;
8
指令集
令
指令码
RR/DD6 D5 D4 D3 D2 D1 D0 S W 7
功 能
清除显0 0 0 0 0 0 0 0 0 1 将DDRAM填满\并且设定DDRAM示 的地址计数器(AC)到\ 地址归位
0 0 0 0 0 0 0 0 1 X 设定DDRAM的地址计数器(AC)到\
并且将游标移到开头原点位置;这个指令
不改变DDRAM 的内容
显示状0 0 0 0 0 0 1 D C B D=1: 整体显示 ONC=1: 游标ON B=1:游态开/关 标位置反白允许 进入点0 0 0 0 0 0 0 1 I/D S 指定在数据的读取与写入时,设定游标的设定 移动方向及指定显示的移位 游标或0 0 0 0 0 1 S/C R/L X X
设定游标的移动与显示的移位控制位;这
显示移
个指令不改变DDRAM 的内容
位控制
功能设0 0 0 0 1 DL X RE X X DL=0/1:4/8位数据RE=1: 扩充指令操作定 RE=0: 基本指令操作 设定0 0 0 1 ACACACACACACCGRA5 4 3 2 1 0 M地址
设定CGRAM 地址
设定0 0 1 0 ACACACACACAC
设定DDRAM 地址(显示位址)第一行:
DDRA5 4 3 2 1 0
80H-87H第二行:90H-97H
M地址
读取忙0 1 BACACACACACACAC
读取忙标志(BF)可以确认内部动作是否完
F 6 5 4 3 2 1 0 标志和
成,同时可以读出地址计数器(AC)的值
地址 写数据1 0 到RAM 读出1 1 RAM的值
数据 数据
将数据D7——D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM) 从内部RAM读取数据
D7——D0(DDRAM/CGRAM/IRAM/GRA
M)
管脚功能:
第1脚:VSS为电源地 第2脚:VCC接5V电源正极
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
9
第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。
第7~14脚:D0~D7为8位双向数据端。
第15~16脚:背灯电源。15脚背光正极,16脚背光负极。 电路图如下:
2.7 波形产生 产生波形信号。
元件:DAC0832 、LM324、10k电阻、20k电阻。 DAC0832: 时序图:
10