標(biāo)題:
51單片機(jī)+AD0809怎么樣實(shí)現(xiàn)多路采集和發(fā)送 求幫助
[打印本頁]
作者:
寶貓
時間:
2019-7-25 21:49
標(biāo)題:
51單片機(jī)+AD0809怎么樣實(shí)現(xiàn)多路采集和發(fā)送 求幫助
不知道protues的原理圖和程序是否配套
QQ截圖20190725215009.png
(28.23 KB, 下載次數(shù): 37)
下載附件
2019-7-25 21:48 上傳
#include"reg51.h"
#include <intrins.h>
#include<stdio.h>
typedef unsigned int u16; //對數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;
#define uint unsigned int
#define uchar unsigned char
uchar code LEDData[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit OE = P1^0;
sbit EOC = P1^1;
sbit ST = P1^2;
sbit CLK = P1^3;
sbit ADDA = P1^4;
sbit ADDB = P1^5;
sbit ADDC = P1^6;
sbit LED=P1^7;
u8 weixuan[4];
uint temp;
uchar getdata;
uchar b;
uchar s;
uchar g;
void delayus(uchar us)
{
uchar i;
while(us--)
for(i=0;i<120;i++);
}
void init()
{
TMOD=0x21;
TH0=(65536-200)/256;
TL0=(65536-200)%256;
TH1=0XF3;
TL1=0XF3;
PCON=0X80;
SCON=0X50;
ES=1;
ET0=1;
EA=1;
TR1=1;
TR0=1;
}
void TImer0()interrupt 1
{ TH0=(65535-200)/256;
TL0=(65535-200)%256;
CLK=~CLK;
}
void DigDisplay()
{
u8 i;
for(i=0;i<4;i++)
{
switch(i) //位選,選擇點(diǎn)亮的數(shù)碼管,
{
case(0):
LSA=0;LSB=0;LSC=0; break;//顯示第0位
case(1):
LSA=1;LSB=0;LSC=0; break;//顯示第1位
case(2):
LSA=0;LSB=1;LSC=0; break;//顯示第2位
case(3):
LSA=1;LSB=1;LSC=0; break;//顯示第3位
}
P0=weixuan[i];//發(fā)送段碼
delayus(10); //間隔一段時間掃描
P0=0x00;//消隱
}
}
void Display_Result()
{
weixuan[1] = LEDData[b];
weixuan[2] = LEDData[s];
weixuan[3] = LEDData[g];
DigDisplay();
}
void ADDX(uchar x,uchar y,uchar z)
{
ADDC=x;
ADDB=y;
ADDA=z;
}
void send(uchar x)
{
EA=0;
SBUF=x;
while(TI==0);
TI=0;
EA=1;
}
void ADC0808()
{
ST=0;
OE=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P3;
send(getdata);
OE=0;
}
void main()
{
init();
LED=0;
ADDX(0,0,0);
while(1)
{
ADC0808();
temp=getdata*1.0/255*500;
b=temp/100;
s=temp/10%10;
g=temp%10;
if(RI==1)
{
RI=0;
if(SBUF=='A')
{
LED=~LED;
}
}
Display_Result();
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1