|
#include "io430.h"
#include "18B20_pei_zhi.c"
#include "18B20.h"
#include "18B20.c"
#include "1602_pei_zhi.c"
unsigned char Set[3];
unsigned int A0=0;
void zi_ding_yi()
{
unsigned char i;
for(i=0;i<8;i++)
lcd1602_write_pic(i,pic[i]);
LCD_write_com(0xc0+0X0e);
LCD_write_data(0);
}
/******************按鍵識(shí)別0/1 子函數(shù)********************/
unsigned char key_scan(void)
{ unsigned char ji;
if(!(P1IN&0x01))
{
__delay_cycles(2000);
if(!(P1IN&0x01)) ji=1;
}
if(!(P1IN&0x02))
{
__delay_cycles(2000);
if(!(P1IN&0x02)) ji=2;
}
return ji;
}
//***********************************************************************
// 液晶顯示溫度值,xx.xC格式
//***********************************************************************
void LCD_DisplayTemp(unsigned char temp1,unsigned char temp2,unsigned char temp3)
{
LCD_write_char(0x09,1,0x30+A0);
LCD_write_char(0x0a,1,0x30+A1);
LCD_write_char(0x0b,1,0x30+A2);
LCD_write_char(0x0c,1,'.');
LCD_write_char(0x0d,1,0X30+A3);
LCD_write_char(0x0f,1,'C');
}
//***********************************************************************
// 主程序
//***********************************************************************
int main( void )
{
// Stop watchdog timer to prevent time out reset
unsigned int n=27,j,ji;
WDTCTL = WDTPW + WDTHOLD;
P2DIR = 0XFF;
P6DIR = 0xff;
Clock_Init(); //系統(tǒng)時(shí)鐘設(shè)置
Port_init(); //系統(tǒng)初始化,設(shè)置IO口屬性
delay_ms(100); //延時(shí)100ms
LCD_init(); //液晶參數(shù)初始化設(shè)置
LCD_clear(); //清屏
LCD_Desk();
write_str(0x80+0x40,"Set:",4);
DS18B20_Reset(); //復(fù)位D18B20
while(1)
{
ds1820_start(); //啟動(dòng)一次轉(zhuǎn)換
ds1820_read_temp(); //讀取溫度數(shù)值
data_do(temp_value); //處理數(shù)據(jù),得到要顯示的值
LCD_DisplayTemp(A1,A2,A3);
zi_ding_yi();
Set[0] = n/10+0x30;
Set[1] = n%10+0x30;
Set[2] = 'C';
write_str(0x80+0x44,Set,3);
j=100*A0+10*A1+A2;
if(j>=n)
{
P2OUT=0X01;
P6OUT&=0xfe;
}
else
{
P2OUT=0X00;
P6OUT|=0xff;
}
ji=key_scan();
if(ji==1) n++;
if(ji==2) n--;
}
}
|
-
-
huan_jin_kong_zhi.zip
2018-1-27 19:20 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
213.77 KB, 下載次數(shù): 4, 下載積分: 黑幣 -5
|