free性丰满hd毛多多,久久综合给合久久狠狠狠97色69 ,欧美成人乱码一区二区三区,国产美女久久久亚洲综合,7777久久亚洲中文字幕

0
問答首頁 最新問題 熱門問題 等待回答標(biāo)簽廣場
我要提問

請高手幫忙解答一下TLC549的問題

#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code lcd[]="tension is:";
uchar code lcd1[]="? ?? ?V";
uchar dis[5];
sbit? ?CS=P2^0;
sbit? ?CLK=P2^1;
sbit? ?DataOut=P2^2;
sbit? ?lcd_rs=P3^2;
sbit? ?lcd_rw=P3^1;
sbit? ?lcd_en=P3^0;
uchar num,num1;
float aver;
void delayms(uint z)? ? //延時(shí)ms
{
uint x,y;
for(x=z;x>0;x--)
??for(y=110;y>0;y--);
}
void write_com(uchar com)//lcd寫指令控制命令
{
? ? delayms(10);
lcd_rs=0;
? ? lcd_rw=0;
P1=com;
lcd_en=1;
delayms(5);
lcd_en=0;
? ? delayms(5);
}
void write_data(uchar date)//lcd寫數(shù)據(jù)命令
{
? ? delayms(10);? ?? ?? ?? ?? ?
lcd_rs=1;
? ? lcd_rw=0;
P1=date;
delayms(10);
lcd_en=1;
delayms(10);
lcd_en=0;
}
void init()
{? ?
? ? delayms(15);
write_com(0x38);//設(shè)置lcd顯示模式
? ? delayms(5);
write_com(0x38);
? ? delayms(5);
write_com(0x38);
write_com(0x0c);//設(shè)置光標(biāo)的顯示/閃爍
write_com(0x06);//設(shè)置顯示后指針加1,并且光標(biāo)移一位
write_com(0x01);//清屏設(shè)置
write_com(0x80);//設(shè)置字符從地址為10的位置開始顯示
}
void init_play()? ?//初始化顯示
{
? ?init();
? ?for(num=0;num<11;num++)
{
??write_data(lcd[num]);
??delayms(20);
}
write_com(0x80+0x40);
for(num=0;num<7;num++)
{
??write_data(lcd1[num]);
??delayms(20);
}
}
uchar TLC549_ADC()
{
uchar i,temp;
CS=1;
CLK=0;
CS=0;
_nop_();
_nop_();
for(i=0;i<8;i++)
? ?{
? ?
? ?temp<<=1;
? ?temp|=DataOut;??//相或
? ?CLK=1;
? ?_nop_();
? ?CLK=0;
? ?}
? ?CS=1;
? ?for(i=17;i!=0;i--)_nop_();
? ?return temp;
}
uchar average()
{

? ?uint a[30];
? ?uint i,j,t;
? ?uchar T1;
? ?float sum=0;
? ?
for(i=0;i<30;i++)
? ?{
? ?T1=TLC549_ADC();
? ?num1=((float)T1/256)*5000;? ? //電壓轉(zhuǎn)換擴(kuò)大1000倍
? ?a[i]=num1;
? ?}
? ?for(j=0;j<30;j++)? ?//用起泡法對30個(gè)數(shù)進(jìn)行排序
? ? for(i=0;i<30-j;i++)
??if(a[i]>a[i+1])
? ? {
? ? t=a[i];
? ? a[i]=a[i+1];
? ? a[i+1]=t;
? ? }
? ???for(i=5;i<25;i++)? ?//取中間20個(gè)數(shù)的平均值
? ???
? ???sum=sum+a[i];
? ???aver=sum/20;
return aver;
}
void display()
{
? ???uchar aver1;
? ???aver1=average();
??dis[0]=aver1/1000+0x30;
??dis[1]=aver1/100%10+0x30;
??dis[2]=aver1/10%10+0x30;
??dis[3]=aver1%10+0x30;
??write_com(0xc1);? ???//顯示
??write_data(dis[0]);

??write_com(0xc2);
??write_data(dis[1]);
??write_com(0xc3);
??write_data(0x2e);
??
??write_com(0xc4);
??write_data(dis[2]);
??write_com(0xc5);
??write_data(dis[3]);
}
void main()
{
init_play();
while(1)
{
//??TLC549_ADC();
??display();
}
}
用lcd顯示一個(gè)TLC549A/D轉(zhuǎn)換數(shù)字電壓表,但是lcd顯示時(shí),只有顯示1.16而且也調(diào)不了,請高手幫忙解答
提問者:guoguoguilai 地點(diǎn):- 瀏覽次數(shù):8967 提問時(shí)間:01-05 23:17
我有更好的答案
提 交
撰寫答案
提 交
1 / 3
1 / 3