基于51单片机和DAC0832的信号源(proteus电路图加程序(6)
时间:2025-07-07
时间:2025-07-07
基于51单片机和DAC0832的信号源,proteus电路图,程序。
本信号源主程序主要有三部分构成:主程序模块、外部中断一模块、外部中断2模块。 1. 主程序介绍
主程序开始后首先进行初始化,然后根据波形标志a,b,c,d,e的值进入相应的while 循环,这样写的好处是指令简洁,输出的波形频率可达近800Hz。在while循环中,单片机根据地址标志位不停低查表,然后把查得的值赋给DAC0832的数据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再往下执行,如果不是直接往下执行。然后根据频率标志位进行相应的延时。
其中波形是取一个周期内的64个点进行描绘,波形ROM表是将信号一个周期等间距地分离成64个点,储存在单片机得RON内。具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi; y=round(sin(x)*127)+128
基于51单片机和DAC0832的信号源,proteus电路图,程序。
图3 主程序流程图 2.中断服务子程序
本程序有两个中断,中断1控制波形选择,中断2控制频率。
图4.中断程序框图
四.实验结果
用Proteus软件绘制好原理图,用Keil软件生产程序的Hex文件,导入到80C51单片机中,就可以仿真了。实现结果用一下图形表示。 1. 生成的正弦波
系统开机默认的是正弦波,通过按动S1按钮可以选择波形,按动S2可以调节频率。
上一篇:材料力学Ch3-1