標(biāo)題:
油箱油量表proteus仿真和單片機(jī)源程序
[打印本頁]
作者:
后起之秀zhi
時(shí)間:
2017-5-19 19:51
標(biāo)題:
油箱油量表proteus仿真和單片機(jī)源程序
油箱油量指示報(bào)警
捕獲.PNG
(42.68 KB, 下載次數(shù): 72)
下載附件
2017-5-19 19:47 上傳
程序清單:
#include<reg52.h>
#include<intrins.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit Dula=P2^0; //數(shù)碼管段選使能
sbit Wela=P2^1; //數(shù)碼管位選使能
sbit ADC_CS=P2^5; //ADC0804的片選端
sbit ADC_RD=P2^6; //ADC0804的讀控制
sbit ADC_WR=P2^7; //ADC0804的開始控制
sbit BUZZER=P2^3; //蜂鳴器io口
uchar num=0;
bit flag=0; //第一次轉(zhuǎn)換成功過標(biāo)志
uchar code table[]={ //無小數(shù)點(diǎn)共陰數(shù)碼管編碼
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay_tms(uint t); //t毫秒延時(shí)函數(shù)
void Display(); //顯示函數(shù),以及報(bào)警
void ADC0804(); //ADC0804轉(zhuǎn)換函數(shù)
void TMOD_Init(); //定時(shí)器初始化函數(shù)
void main()
{
TMOD_Init(); //初始化定時(shí)器
BUZZER=1;
while(1)
{
ADC0804(); //不斷地進(jìn)行數(shù)模轉(zhuǎn)化
}
}
void delay_tms(uint t)
{
uint x,y;
for(x=t;x>0;x--)
for(y=110;y>0;y--);
}
void TMOD_Init()
{
TMOD=0X01;
TH0=0xfc;
TL0=0x18;
EA=1;
ET0=1;
TR0=0;
}
void Display()
{
uchar i,buf[4];
uint temp;
temp=num;
temp=temp*200/51;
if(temp<100)
{
P3=0XBF;
TR0=1;
}
else if((temp>=100)&&(temp<900))
{
P3=0xc1;
TR0=0;
}
else
{
P3=0XFE;
TR0=0;
}
buf[0]=table[temp/1000]; //分離數(shù)據(jù)的百位
buf[1]=table[temp%1000/100]; //分離數(shù)據(jù)的十位
buf[2]=table[temp%100/10]|0x80; //分離數(shù)據(jù)的各位,并|0x80,使顯示小數(shù)點(diǎn)
buf[3]=table[temp%10]; //分離數(shù)據(jù)的小數(shù)點(diǎn)后一位
for(i=0;i<4;i++)
{
Wela=1;
P0=~(0x01<<i) ; //送位選數(shù)據(jù)
Wela=0;
Dula=1;
P0=buf[i]; //送段選數(shù)據(jù)
Dula=0;
delay_tms(5);
P0=0XFF; //數(shù)碼管消隱
}
}
void ADC0804()
{
uchar i;
ADC_CS=0;
ADC_WR=0;
_nop_();
_nop_();
ADC_WR=1; //啟動(dòng)ADC0804的轉(zhuǎn)化
if(flag!=0) //如果轉(zhuǎn)化成功
{
flag=1;
for(i=0;i<8;i++)
Display();
}
ADC_RD=0;
_nop_();
_nop_();
num=P1; //讀取ADC0804的轉(zhuǎn)化后的數(shù)值
_nop_();
ADC_RD=1;
ADC_CS=1;
flag=1;
Display();
}
void timer() interrupt 1 //中斷函數(shù)。產(chǎn)生蜂鳴器所需震蕩
{
TH0=0xfc;
TL0=0x18;
BUZZER=~BUZZER;
}
復(fù)制代碼
作者:
是啊啊啊
時(shí)間:
2017-6-12 17:16
很好 很適合我 可以好好學(xué)習(xí)下了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1