用单片机输出方波三角波及锯齿波

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验
实验任务:
AT89C51单片机的数字式低频信号发生器。采用AT89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)、运放电路(LM324)、按键等。通过按键控制可产生方波、锯齿波、三角波。
原理图:
注:
1.如上图所示
2.此原理图应用Proteus 7 ISIS 7.5 SP3绘制,所选用晶体振荡器频率为12MHz。其余元件参数见图上标注。
sbit fangbo=P1^2;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void aa()
{
uchar n;
if(juchi==0)
{
while(1)
{
for(n=0;n<=255;n=n++)
{
DA0832=n;
}
}
}
}
void bb()
{
uchar n;
Hale Waihona Puke Baiduif(sanjiao==0)
{
while(1) {
for(n=0;n<=256;n=n++)
{
if(n<128)
DA0832=n;
else
DA0832=256-n;
}
}
}
}
void cc()
{
uchar n;
if(fangbo==0)
{
while(1)
{
for(n=0;n<=255;n=n++)
程序内容:
#include<absacc.h>
#include<reg51.h>
#define DA0832 XBYTE[0xfffe]
#define uchar unsigned char
#define uint unsigned int
sbit juchi=P1^0;
sbit sanjiao=P1^1;
{
if(n<128) DA0832=0;
else DA0832=255;
}
}
}
}
void main()
{
aa();
bb();
cc();
}
程序流程图
相关文档
最新文档