91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 13.34MB
    文件類型: .7z
    金幣: 1
    下載: 0 次
    發布日期: 2023-06-29
  • 語言: 其他
  • 標簽: 單片機??

資源簡介

通過STM89C51單片機控制煙霧傳感器,通過AD0832數模轉換和LCD1602來顯示煙霧的濃度。

資源截圖

代碼片段和文件信息

#include?
#include?
//變量定義:
unsigned?char?ly_dis[4];???//定義顯示緩沖區
code?unsigned?char?table[]={0x3f0x060x5b0x4f0x660x6d0x7d0x07
0x7f0x6f0x770x7c0x390x5e0x790x71};//表:共陽數碼管?0-9
unsigned?char?l_posit=0;?//顯示位置
//引腳定義:??
sbit?SMG_q?=?P0^0;?//定義數碼管陽級控制腳(千位)
sbit?SMG_b?=?P0^1;?//定義數碼管陽級控制腳(百位)
sbit?SMG_s?=?P0^2;?//定義數碼管陽級控制腳(十位)
sbit?SMG_g?=?P0^3;?//定義數碼管陽級控制腳(個位)
sbit?CS???=?P2^3;
sbit?Clk?=?P2^2;
sbit?DATI?=?P2^0;
sbit?DATO?=?P2^1;
unsigned?char?dat?=?0x00;??????//AD值
unsigned?char?count?=?0x00;??????//定時器計數
unsigned?char?CH;???????//通道變量
//函數聲明:
void?display(void);//顯示函數,顯示緩沖區內容
void?delay(void);
//unsigned?char?GetValue0832(bit?Channel);
unsigned?char?adc0832(unsigned?char?CH);
//主函數,C語言的入口函數:?
void?main()
{?
?unsigned?int?i=0;
?int?ltemp;
?while(1)
?{
??if(i==100)
??{
???ltemp=2*adc0832(1);???????//隔時取模數轉換(0~255對應0.00-5.00的電壓)
???ly_dis[0]=ltemp/100;????//顯示百位值
???ltemp=ltemp%100;
???ly_dis[1]=ltemp/10;?//顯示?十位值
???ltemp=ltemp%10;
???ly_dis[2]=ltemp/1;?//顯示?個位值
???ly_dis[3]=0;??//顯示小數點后一位0
??}
??i++;
??if(i==500)
???i=0;
??display();?//調用顯示調一次只顯示一位輪流顯示四位
??delay();?????
?}
}
//顯示函數,參數為顯示內容
void?display()
{
?P0=0x00;?
?
for(l_posit=0;l_posit<=3;l_posit++)
{??//?
?P0=0xfe;
P1=table[ly_dis[0]];
delay();
?P0=0xfd;
P1=table[ly_dis[1]];
delay();
?P0=0xfb;
P1=table[ly_dis[2]];
delay();
P0=0xf7;
P1=table[ly_dis[3]];
delay();
??//每調用一次將輪流顯示一位

};
}
//延時子函數短暫延時
void?delay(void){??
?unsigned?char?i;
i=10;
?while(i--);
}
/****************************************************************************
函數功能:AD轉換子程序
入口參數:CH
出口參數:dat
****************************************************************************/
unsigned?char?adc0832(unsigned?char?CH)
{
??????unsigned?char?itestadval;
?????adval?=?0x00;
?????test?=?0x00;
?????Clk?=?0;???????//初始化
?????DATI?=?1;
?????_nop_();
?????CS?=?0;
?????_nop_();
?????Clk?=?1;
?????_nop_();
???if?(?CH?==?0x00?)??????//通道選擇
???{
???????Clk?=?0;
???????DATI?=?1;??????//通道0的第一位
???????_nop_();
???????Clk?=?1;
???????_nop_();
???????Clk?=?0;
???????DATI?=?0;??????//通道0的第二位
???????_nop_();
???????Clk?=?1;
???????_nop_();
????}
????else
????{
???????Clk?=?0;
???????DATI?=?1;??????//通道1的第一位
???????_nop_();
???????Clk?=?1;
???????_nop_();
???????Clk?=?0;
???????DATI?=?1;??????//通道1的第二位
???????_nop_();
???????Clk?=?1;
???????_nop_();
????}
??????Clk?=?0;
??????DATI?=?1;
????for(?i?=?0;i?????{
???????_nop_();
???????adval?<<=?1;
???????Clk?=?1;
???????_nop_();
???????Clk?=?0;
???????if?(DATO)
??????????adval?|=?0x01;
??????else
??????????adval?|=?0x00;
????}
??????for?(i?=?0;?i???????{
???????????test?>>=?1;
???????????if?(DATO)
??????????????test?|=?0x80;
???????????else
??????????????test?|=?0x00;
??????????_nop_();
??????????Clk?=?1;
??????????_nop_();
??????????Clk?=?0;
??????}
??????if?(adva

評論

共有 條評論