1樓:爬行的山羊
既然是老師不知道任務,教師用的實驗板都有燒錄功能,或者老師可以把你解決。
ds1820是個數字溫度感測器,lcd1602是液晶顯示。這個我可以幫助你搞定的
2樓:匿名使用者
程式需要燒錄到開發板,那麼寫**時就需要按照這個開發板的電路來寫,因為關係到一些資源的分配,電路圖也沒提供……
這個問題應該問了兩次了吧,這樣問問題誰能給你**。
3樓:
這是溫度感測器的程式
#include
#include
sbit d18b20=p3^7;
#define nop() _nop_() /* 定義空指令 */
#define _nop() _nop_() /*定義空指令*/
void tempdelay (unsigned char idata us);
void init18b20 (void);
void writebyte (unsigned char idata wr); //單位元組寫入
void read_bytes (unsigned char idata j);
unsigned char crc (unsigned char j);
void gemtemp (void);
void config18b20 (void);
void readid (void);
void temperatuerresult(void);
bit flag;
unsigned int idata temperature;
unsigned char idata temp_buff[9]; //儲存讀取的位元組,read scratchpad為9位元組,read rom id為8位元組
unsigned char idata id_buff[8];
unsigned char idata *p,tim;
unsigned char idata crc_data;
unsigned char code crctable [256]=;
*function:延時處理
*parameter:
*return:
*modify:
void tempdelay (unsigned char idata us)
*function:18b20初始化
*parameter:
*return:
*modify:
void init18b20 (void)
*function:向18b20寫入一個位元組
*parameter:
*return:
*modify:
void writebyte (unsigned char idata wr) //單位元組寫入
*function:讀18b20的一個位元組
*parameter:
*return:
*modify:
unsigned char readbyte (void) //讀取單位元組
return(u);
*function:讀18b20
*parameter:
*return:
*modify:
void read_bytes (unsigned char idata j)
;byte code dis2 = ;
byte code dis3 = ;
byte code dis4 = ;
/****************延時函式************************/
delay(int ms)}}
/****************側忙函式************************/
bool lcd_bz()
/****************寫命令函式************************/
lcd_wcmd(byte cmd)
lcd_pos(byte pos)
/****************寫資料函式************************/
lcd_wdat(byte dat)
lcd_init()
/****************主函式************************/
main()
lcd_pos(0x40);//設定顯示位置為第二行第1個字元
i = 0;
while(dis2[ i ] != '\0')
delay(800);//控制停留時間
lcd_wcmd(0x01);//清除lcd的顯示內容
delay(1);
lcd_wcmd(0x04);//向左移動游標
lcd_pos(15);//設定顯示位置為第一行的第16個字元
i = 0;
while(dis3[ i ] != '\0')
lcd_pos(0x4f); //設定顯示位置為第二行的第16個字元
i = 0;
while(dis4[ i ] != '\0')
delay(800); //控制停留時間
lcd_wcmd(0x01); //清除lcd的顯示內容
delay(200); //控制兩屏轉換時間}}
報警可以很容易設計就不寫了,報警溫度都要自己慢慢設計,有了這些就很容易了,自己在努力下吧
4樓:匿名使用者
貌似樓下的回道都很到位 我只能說這個難度不大 有問題可以交流下
ds18b20溫度感測器和lcd1602液晶顯示和按鍵設定上下限溫度,超過時led及蜂鳴器報警的程式嗎 20
5樓:cindere鞡
你好:這是我用pic的**寫的ds溫度報警程式,可手動設定溫度報警上下限,隨時可設,使用lcd12864顯示,蜂鳴器提示溫度高或低。
給你參考下吧。
希望我的回答能幫助到你。
6樓:匿名使用者
只有累死的程式,沒有完全你這個要求的
使用溫度感測器ds18b20設計一溫控系統,當溫度超過35度或低於20度時,led紅燈閃爍,蜂鳴器發出報警聲。
7樓:
這是你的興趣我很願意幫助你,如果是你的任務就算了
求 微控制器控制的16路彩燈彙編源程式
位為1時亮燈 其實原理就是單i o口的移位處理,只不過是要銜接處理start mov a,80h mov p0,0 mov p1,0 rlp0 處理p0口rl a mov p0,a acall delay jnb acc.7,rlp0 mov p0,0 rlp1 處理p1口rl a mov p1,a...
51微控制器以動態顯示方式控制LED顯示器的工作原理
利用人眼的視覺暫停效應,在短時間內掃描,人眼看到的就是不閃爍的數字顯示 c51微控制器數碼管動態顯示工作原理是什麼?數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。1 數碼管如果是8位的話,一般是由靜態工作方...
51微控制器控制左右的LED燈,不知道譯碼器怎麼能控制這麼多的呢?還有地址線又是什麼呢
這個其實懂led電子顯示屏的就知道。一般用hc595或mbi5026等串轉並的晶片,通過規律的陣列方式使用,組成一個單元板模組,然後要多少塊板接多少塊板,選擇能支援的控制卡提供訊號就行了。單元板常用的半戶外的ph10是32 16個點的,共512個點,用16個595晶片 每個帶4 8陣列的led燈 1...