单片机
10北京石油化工学院学报2008年第16卷
电脑也应安装Proteus)。在“Port”后面添加“8000”。点击“OK”按钮完成配置。
2.2
3.1
应用电路设计
3.1.1信号的产生
利用8位D/A转换器DAC0808,可以将8位数字量转换成模拟量输出。数字量输入的范围为0~255,对应的模拟量输出的范围在VREF一到VREF+之间。根据这一特性,可以利用单片机的并行口输出的数字量,产生常用的波形。例如,要产生幅度为o~5V的锯齿波,只要将DAC0808的VREF一接地,VREF+接+5V,单片机的并行口首先输出00H,再输出olH、02H,直到输出FFH,再输出00H,依此循环,这样在图1所示的Vout端就可以
看到在0到5V之间变化的锯齿波。
Proteus的设置
进入Proteus的ISIS,鼠标左键点击菜单
“Debug”,选中“useromotedebugermonitor”。
最后将工程编译,进入调试状态,并运行程
序,便可实现Keil与Proteus连接调试。即通过Keil调试程序,通过Proteus进行仿真。
3虚拟波形发生器仿真设计
利用AT89S52单片机产生方波、锯齿波、三角波及正弦波,要求频率可调,幅度可调,并可以在不同的波形之间任意切换。
图1系统电路图
3.1.2信号幅度控制
DAC0808的模拟量输出范围为VREF一到VREF+之间,也就是说,当数字量输人为00H时,DAC0808的输出为VREF一,当输人
为FFH时,DAC0808的输出为VREF+。所以,为了调节输出波形的幅度,只要调节VREF
态,将开关状态转换为8位二进制数,作为延时常数。这样,在程序运行过程中,用DIP开关
DSw2输入八位二进制数,即可调整输入信号的频率。
3.1.4波形切换
利用4位DIP开关DSWl来选择波形,并
即可。在VREF+端串接一电位器,调节
VREF的电压,即可达到调节波形幅度的目的。
通过四个LED进行指示,如图1所示。
3.1.5波形的显示
3.1.3信号频率控制
仍以锯齿波为例,若要调节信号的频率,只需在单片机输出的两个数据之间加入一定的延时即可。如图l所示,在单片机的PO口输出一个数字量后,读取8位DIP开关DSW2的状
采用元件库中的虚拟示波器显示。
3.2程序设计
软件设计上,根据功能分几个模块编程。模块主要有:主程序模块、方波模块、锯齿波模
块、三角波模块、正弦波模块、延时子程序模块