標(biāo)題:
基于51單片機(jī)的ADC0832數(shù)字電壓表程序Proteus仿真,可調(diào)
[打印本頁(yè)]
作者:
JN0717
時(shí)間:
2022-5-3 00:46
標(biāo)題:
基于51單片機(jī)的ADC0832數(shù)字電壓表程序Proteus仿真,可調(diào)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png
(31.15 KB, 下載次數(shù): 50)
下載附件
2022-5-3 03:43 上傳
單片機(jī)源程序如下:
#include<reg51.h>
#include<intrins.h>
sbit CS=P3^5;
sbit CLK=P3^3;
sbit DI=P3^4;
sbit DO=P3^4;
sbit dot=P0^5; //小數(shù)點(diǎn)
unsigned char dat=0x00;
unsigned char nums[]={0x00,0x00,0x00,0x00};
unsigned char channel; //轉(zhuǎn)換通道
unsigned char LEDS[]={0xA0,0xBB,0x62,0x2A,0x39,0x2C,0x24,0xB8,0x20,0x28}; //共陽(yáng)4位數(shù)碼管段碼,字符顯示從'0'到'9'
unsigned char ADC0832(unsigned char channel) //模數(shù)轉(zhuǎn)換
{
unsigned char i;
unsigned char x=0x00;
unsigned char y=0x00;
CLK=0; //初始化
DI=1;
_nop_();
CS=0;
_nop_();
CLK=1;
_nop_();
if(channel==0x00) //通道選擇
{ //通道0
CLK=0;
DI=1;
_nop_();
CLK=1;
_nop_();
CLK=0;
DI=0;
_nop_();
CLK=1;
_nop_();
}
else //通道1
{
CLK=0;
DI=1;
_nop_();
CLK=1;
_nop_();
CLK=0;
DI=1;
_nop_();
CLK=1;
_nop_();
}
CLK=0;
DI=1;
for(i=0;i<8;i++) //讀取ADC0832輸出的前8位數(shù)據(jù)
{
x<<=1;
_nop_();
CLK=1;
_nop_();
CLK=0;
if(DO==1)
{
x|=0x01;
}
else
{
x|=0x00;
}
}
for(i=0;i<8;i++) //讀取ADC0832輸出的后8位數(shù)據(jù)
{
y>>=1;
if(DO==1)
{
y|=0x80;
}
else
{
y|=0x00;
}
_nop_();
CLK=1;
_nop_();
CLK=0;
}
if(x==y) //校驗(yàn),比較前8位與后8位的值
{
dat=x;
}
_nop_();
CS=1; //釋放ADC0832
DO=1;
CLK=1;
return dat;
}
void Convert(unsigned char dat0) //數(shù)據(jù)處理
{
unsigned int x;
x=dat0*0.0196*100*5;
nums[0]=x/1000;
nums[1]=x%1000/100;
nums[2]=x%1000%100/10;
nums[3]=x%1000%100%10;
}
void Delay() //數(shù)碼管顯示
{
unsigned char i,j;
for(i=0;i<1;i++)
{
for(j=0;j<121;j++);
}
}
void Display()
{
P0=LEDS[nums[0]];
P2=0xFE;
Delay();
P2=0xFF;
P0=LEDS[nums[1]];
dot=0;
P2=0xFD;
Delay();
P2=0xFF;
P0=LEDS[nums[2]];
P2=0xFB;
Delay();
P2=0xFF;
P0=LEDS[nums[3]];
P2=0xF7;
Delay();
P2=0xFF;
}
void main()
{
while(1)
{
dat=ADC0832(channel);
Convert(dat);
Display();
}
}
復(fù)制代碼
Proteus8.8仿真下載:
51數(shù)字電壓表.7z
(25.35 KB, 下載次數(shù): 77)
2022-5-3 03:45 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
1184642321
時(shí)間:
2022-5-9 18:02
可以做基于tlc1549的嗎
作者:
1184642321
時(shí)間:
2022-5-9 18:03
基于tlc1549可以嗎
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1