亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標(biāo)題:
51單片機(jī)ADC0809的電壓表設(shè)計(jì)(proteus仿真及keil代碼)
[打印本頁(yè)]
作者:
leos
時(shí)間:
2019-6-26 11:21
標(biāo)題:
51單片機(jī)ADC0809的電壓表設(shè)計(jì)(proteus仿真及keil代碼)
電壓表仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(17.89 KB, 下載次數(shù): 160)
下載附件
2019-6-27 01:46 上傳
單片機(jī)源程序如下:
//程序頭函數(shù)
#include <reg51.h>
//宏定義
#define uint unsigned int
#define uchar unsigned char
#define Data_ADC0809 P1
sbit ST=P3^2;
sbit EOC=P3^3;
sbit OE=P3^1;
sbit N=P3^0;
sbit W=P3^4;
sbit DIAN = P0^7; //小數(shù)點(diǎn)
/*******************************定義全局變量********************************/
unsigned char dis[3]; //顯示數(shù)值
unsigned char data adtab[8]=0;
unsigned int sum=0;
unsigned int dat=0;
unsigned char i=0;
unsigned char n=0;
/*******************************通道選擇表*******************************/
unsigned char code ad[]={0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff};
/*******************************共陽(yáng)LED段碼表*******************************/
unsigned char code tab[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
// 0 1 2 3 4 5 6 7 8 9
/****************************************************************************
函數(shù)功能:AD轉(zhuǎn)換子程序
****************************************************************************/
//ADC0809讀取信息
uchar ADC0809()
{
uchar temp=0x00;
//初始化高阻太
OE=0;
//轉(zhuǎn)化初始化
ST=0;
//開(kāi)始轉(zhuǎn)換
ST=1;
ST=0;
//外部中斷等待AD轉(zhuǎn)換結(jié)束
while(EOC==0)
//讀取轉(zhuǎn)換的AD值
OE=1;
Data_ADC0809=0xff;
temp=Data_ADC0809;
OE=0;
return temp;
}
/****************************************************************************
函數(shù)功能:延時(shí)子程序
入口參數(shù):
出口參數(shù):
****************************************************************************/
void delay(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
for(j=0;j<121;j++);
}
//=====================================================================================
//=====================================================================================
//=====================================================================================
/****************************************************************************
函數(shù)功能:將0-255級(jí)換算成0.00-5.00的電壓數(shù)值
入口參數(shù):i
出口參數(shù):
****************************************************************************/
void convdata(unsigned char dat1)
{
unsigned int Vo;
Vo=dat1*1.96;
dis[0] = Vo/100; // 個(gè)位
dis[1] = Vo%100/10; // 小數(shù)點(diǎn)后一位
dis[2] = Vo%100%10; // 小數(shù)點(diǎn)后兩位
}
/****************************************************************************
函數(shù)功能:數(shù)碼管顯示子程序
入口參數(shù):
出口參數(shù):
****************************************************************************/
void display(void)
{
convdata(adtab[n]);
P0=tab[dis[0]];
P2=0xfe;
DIAN=0;
delay(1);
P2=0xff;
P0=tab[dis[1]];
P2=0xfd;
DIAN=1;
delay(1);
P2=0xff;
P0=tab[dis[2]];
P2=0xfb;
DIAN=1;
delay(1);
P2=0xff;
P0=tab[n];
P2=0xf7;
DIAN=1;
delay(1);
P2=0xff;
}
/****************************************************************************
函數(shù)功能:按鍵選擇對(duì)應(yīng)通道輸出
入口參數(shù):
出口參數(shù):
****************************************************************************/
uchar TDN()
{
if(N == 0)
{
delay(100);
if(N == 0)
{
n++;
if(n>7) n=0;
}
delay(100);
}
return n;
}
/****************************************************************************
函數(shù)功能:主程序
入口參數(shù):
出口參數(shù):
****************************************************************************/
void main(void)
{
while(i<8)
{
if(W == 0)
{
delay(100);
if(W == 0)
{
Data_ADC0809=ad[i];//選定通道
adtab[i]=ADC0809();//將轉(zhuǎn)換結(jié)果存入數(shù)組
i++;
}
delay(100);
}
if(N == 0)
{
delay(100);
if(N == 0)
{
i=9;
}
delay(100);
}
}
while(1) //主循環(huán)
{
if(i==9)
{
Data_ADC0809=ad[0];//選定通道
adtab[0]=ADC0809();//將轉(zhuǎn)換結(jié)果存入數(shù)組
n=TDN();
display();
}
if(i==8)
{
n=TDN();
display();
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
0809電壓表.rar
(49.42 KB, 下載次數(shù): 139)
2019-6-26 11:18 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
qq1354950094
時(shí)間:
2021-7-27 17:10
能調(diào)電壓范圍是多少啊
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1