标题:
基于单片机的路灯控制系统设计
[打印本页]
作者:
lulili
时间:
2018-4-25 16:43
标题:
基于单片机的路灯控制系统设计
我用的是ADC0832以及DAC0808为主要,设计电路图的
请各位兄弟姐妹帮我指出我现在的程序或者电路图中存在的问题
0.jpg
(73.17 KB, 下载次数: 55)
下载附件
2018-4-26 01:11 上传
单片机源程序如下:
#include<reg51.h>
#define unchar unsigned char
#define uint unsigned int
#define out P0
sbit st=p3^1;
sbit OE=p3^4;
sbit ALE=p3^3;
sbit WR0=P2^1;
sbit CS=P2^0;
uint ad_0808,ad_data1,ad_data2,ad_data3,ad_data0,da_0832;
unchar m,number;
unchar x[8];
void delaynms(uintx) ;//nms
void ad0808();
void da0832();
void key();
void main();
{
int a,i;
a=0;
number=1;
p1=0x00;
while(1);
{ad0808();//调用ADC程序
ad_0808=x[number];
// 将X中的二进制变成十进制;
for(i=0.;i<8;i++)
{a=a+x[i]*2^i;
} //将十进制的数进行比较,后分类讨论
if (a<204)
{
da0832(); //204是4伏时候ADC转换的值,当小于4的时候,就传递给DAC
}
else;
} //否则就不作为//关于单片机的数据对比的程序将对比的结果通过p1口给DA
void delaynms(int x)
{unchar i;
while(x-->0)
{ for(i=0;i<125;i++)
{;}
}
}
void ad0808()
{
unchar i,m=1;
for(i=0;i<8;i++)
{P0=x[i];
OE=0;
ST=0;
ST=1;
ST=0;
delaynms(1);
while(!EOC);
OE=1;
x[m]=P2;
OE=0;
m++;
}
}
void key()
{if(!P3^5)
{delaynms(20);
number++;
if(number>8)
{number=1;
}
}
}
void da0832()//写下DAC转换就大功告成了我觉得
{
unchar temp;
uint i=200;
while(1)
{out=temp;
CS=0;
WR0=0;
CS=1;
WR0=1;
temp++;
while(--i) ;
}
}
复制代码
由于我初学以上内容肯定存在很多错误,欢迎大家批评指正,一起学习 提高技术(为了方便保存, 把网页上的内容打包成了word,仅供参考 切勿照搬):
Doc1.docx
(111.73 KB, 下载次数: 29)
2018-4-25 16:42 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
张某某159
时间:
2021-6-20 22:04
电路图可以发一下嘛
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1