《用单片机输出方波三角波及锯齿波.docx》由会员分享,可在线阅读,更多相关《用单片机输出方波三角波及锯齿波.docx(5页珍藏版)》请在金锄头文库上搜索。
1、实验四实验任务:AT89C51单片机的数字式低频信号发生器。采用AT89C51 单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键等。通过按键控制可产生方波、锯齿波、三角波。原理图:注:1.如上图所示 2.此原理图应用Proteus 7 ISIS 7.5 SP3绘制,所选用晶体振荡器频率为12MHz。其余元件参数见图上标注。程序内容:#include#include#define DA0832 XBYTE0xfffe#define uchar unsigned char#define uint unsigned intsbit juchi=P10;s
2、bit sanjiao=P11;sbit fangbo=P12;void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void aa() uchar n; if(juchi=0) while(1)for(n=0;n=255;n=n+)DA0832=n;void bb() uchar n;if(sanjiao=0) while(1) for(n=0;n=256;n=n+)if(n128)DA0832=n;elseDA0832=256-n;void cc()uchar n;if(fangbo=0)while(1)for(n=0;n=255;n=n+)if(n128) DA0832=0;else DA0832=255; void main()aa();bb();cc(); 程序流程图:开始定义三个自函数,分别为产生方波 三角波 锯齿波调用函数进入主函数在子函数内判断按键并产生所需波形结束