資源簡介
采集,protues仿真,51系列單片機,顯示在1602上

代碼片段和文件信息
/********************************************************************
開發環境:Keil
單片機:AT89S52-24PU??晶振:12?MZ?
程序描述:?K型熱電偶+MAX6675,LCD1602?顯示
designed?by?YING?
2012-08-29?21:16???完成
注:本程序只供學習參考之用,,請自行驗證程序正確性及可靠性,請勿用于其它用途~~!!!
**************************定義頭文件*****************************************/
#include?
#include
/*******************************************************************/
//lcd?part
#define??LINE1?????0
#define??LINE2?????1
#define??LINE1_HEAD????0x80
#define??LINE2_HEAD????0xC0
#define??LCD_DELAY_TIME???40
#define??DATA_MODE????0x38
#define??OPEN_SCREEN????0x0C
#define??DISPLAY_ADDRESS???0x80
#define??CLEARSCREEN????LCD_en_command(0x01)
#define??HIGH???1
#define??LOW????0
#define??TRUE????1
#define??FALSE????0
#define??ZERO????0?
#define??MSB????0x80
#define??LSB????0x01
/*******************************************************************/
#define??LCDIO?????P1
sbit?LCD1602_RS=P2^0;???//設置RS?
sbit?LCD1602_RW=P2^1;???//設置RW
sbit?LCD1602_EN=P2^2;???//設置E
sbit?MAX6675_SO=P2^4;????
sbit?MAX6675_SCK=P2^5;????
sbit?MAX6675_CS=P2^6;?
unsigned?char?data?disdata[5];
unsigned?int?Value;
/********************************************************************/
void?LCD_delay(void);//LCD延時函數
void?LCD_en_command(unsigned?char?command);//LCD寫指令
void?LCD_en_dat(unsigned?char?temp);//LCD寫數據
void?LCD_set_xy(?unsigned?char?x?unsigned?char?y?);//設置LCD顯示位置
void?LCD_write_char(?unsigned?xunsigned?char?yunsigned?char?dat);//向LCD寫入一個字符
void?LCD_write_string(unsigned?char?Xunsigned?char?Yunsigned?char?*s);//向LCD寫入一串字符
void?LCD_init(void);//LCD初始化函數
/********************************************************************/
void?delay_nms(unsigned?int?n);//延時函數
/********************************************************************/
/***********************從MAX6675讀取溫度*********************************************/
unsigned?int?ReadMAX6675()???
{
?unsigned?char?count;
?MAX6675_CS=1;?//關閉MAX6675
??//_nop_();
?//??_nop_();
?MAX6675_CS=0;//置低,使能MAX6675
?//_nop_();
?MAX6675_SCK=1;
?Value=0;
?//_nop_();
?//_nop_();
?for(count=16;count>0;count--)?//獲取16位MSB
?{
??MAX6675_SCK=0;??//sck置低
??Value=Value<<1;?????//左移
????if(MAX6675_SO==1)?//取當前值
???Value|=0x0001;
??else
???Value&=0xffff;
??MAX6675_SCK=1;
?//_nop_();
??//_nop_();
??//_nop_();
?//_nop_();
?}
?MAX6675_CS=1;??//關閉MAX6675
?return?Value;
}
/***************************************************************************************/
/**************************溫度值顯示?**************************************************/
void?tempdisp()??
{?
??unsigned?int?temp;
??unsigned?int?TempValue;
??unsigned?int?testD2;
?unsigned?int?xiaoshu;
??
????TempValue=ReadMAX6675();//讀取MAX6675?轉換后的溫度數值;???
???TempValue=TempValue<<1;?????????//去掉第15位
???TempValue=TempValue>>3;//去掉第0~2位???注意:實物MAX6675,這里要要右移4位,即TempValue=TempValue>>3;
???xiaoshu=TempValue*10;
???TempValue=TempValue/4; ?????//MAX6675最大數值為1023。75,而AD精度為12位,即2的12次方為40
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1154??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\header.htm
?????文件?????388352??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.htm
?????文件??????11726??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\16.LST
?????文件??????14048??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\STARTUP.LST
?????文件???????7064??2013-05-05?13:05??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\16.c
????.......?????56188??2012-12-15?20:35??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602_uvopt.bak
????.......?????13392??2012-04-25?00:18??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602_uvproj.bak
?????文件??????11800??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\16.OBJ
?????文件????????749??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\STARTUP.OBJ
?????文件??????11094??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602
?????文件???????6376??2009-05-07?14:37??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\STARTUP.A51
?????文件??????97441??2013-05-02?22:40??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\Last?Loaded?1602.DBK
?????文件??????97441??2013-05-02?22:54??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.DSN
?????文件???????2236??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.hex
?????文件?????????39??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.lnp
?????文件??????13860??2013-05-05?13:06??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.M51
?????文件??????20480??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\oledata.mso
?????文件?????361018??2005-03-10?21:27??基于熱電偶的測溫系統設計\IC說明書\at89S52中文手冊.pdf
?????文件?????142080??2012-05-26?11:39??基于熱電偶的測溫系統設計\IC說明書\MAX6675ISA.pdf
?????文件?????261120??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\SMC1602A.pdf
?????文件????????516??2013-05-05?13:07??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.plg
?????文件????????768??2013-05-05?10:41??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.PWI
????.......?????56184??2013-05-05?13:07??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.uvopt
????.......?????13391??2012-09-01?08:41??基于熱電偶的測溫系統設計\基于熱電偶的測溫系統設計\1602.uvproj
?????文件?????150848??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\image060.wmz
?????文件???????1855??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\image062.wmz
?????文件???????1772??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\image064.wmz
?????文件???????2358??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\filelist.xm
?????文件?????????84??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\image001.gif
?????文件?????????84??2006-03-01?12:00??基于熱電偶的測溫系統設計\IC說明書\字符型液晶使用手冊.files\image002.gif
............此處省略69個文件信息
- 上一篇:8086交通燈設計原理圖和代碼
- 下一篇:干擾對齊PPT
評論
共有 條評論