的电压在05V可调,而V1的电压大约是5V,所以R1选择5K的电阻,R2选择10K的电位器,这样最大的输出电压为5(102)10,最小电压为0,可以实现题目要求的05V。在第二个运算放大器的输出端连了一个低通滤波器。如果不加低通滤波器,也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波的作用,还起到了平滑的作用。低通滤波器的截止频率F12piR3C6这里我们选择R3为100欧姆电阻,C6为104电容,截止频率F16KHZ。实验表明,此时的输出波形效果不错。
6
12V
4
2
1
2
1
f314串口通信电路
通用异步收发器UART是一种串行接口,一般微处理器中都包含这种外设接口。异步串行接口提供了一种简单的途径,使两个器件无需共享同一个时钟信号就能进行通信。如果再加入一个合适的电平转换器MAX232,串口就能能用在RS232和RS485等网络中实现通信,或者与计算机的COM端口连接。串口只需两根信号线RX和TX即可实现,而且只要两端器件都采用同样的位格式和波特率,那么它们无需其它任何对方的信息就可以成功传输数据。
C210
4
U
2
C
1
C
3
1
2
T1OUT
2
6
1
1
3
1
0
4
4
1
0
4
5
6
R1IN
3
7
1
7
8
C
4
9
1
P
3
1
0
P
3
0
1
1
1
R1IN
2
T1OUT
1
0
4
1
3
1
4
1
5
1
6
C
V
C
MAX232
C
5
5
9
4
8
1
0
串口通信电路图
32系统软件设计
软件设计上,根据功能分了几个模块编程。模块主要有:主程序模块、外部中断0模块,外部中断1模块。
主程序:
主程序先是进行一些初始化的工作,然后根据波形标志abcde的值进入相应的while循环。这样写的好处是输出的波形频率可以790多HZ。在while循环中,单片机根据地址标志位不停低查表,然后把查得的值赋给DAC0832的数据口,然后地址标志位加一,并判断地址标志位是否等于64,如果是就置0再往下执行,如果不是直接往下执行。然后根据频率标志位进行相应的延时。
4
RS232
7
0
1
f开始
初始化
输出数字量给DAC0832数据口
地址标志位加1根据abcde的值进入相应的while循环地址标志位是否等于64while循环地址标志位置0根据地址标志位查表相应延时(对应频率)
否
主程序流程图
中断服务程序:
本程序中两个外部中断分别起到了控制波形和频率的作用。在程序中还加入了消抖部分。
根据波形标志做相应处理是波形标志位加1
波形标志位置0波形标志位是否等于5否是
否外部中断0是否有中断信号
否外部中断1是否有中断信号
根据频率标志做相应处理是频率标志位加1
频率标志位置0频率标志位是否等于8否是
8r