資源簡介
基于c52單片機溫度采集系統,使用傳感器18b20,串口通信,點陣lcd等,內容為主從機程序和原理圖。

代碼片段和文件信息
/***********************************************************************
*文件名稱:key.c
*說明:本文件為鍵盤掃描驅動函數文件
*功能:驅動函數實例化
*修改:無
*版本:V1.0.0
*作者:YuanDong
*時間:2009.07.03
*************************************************************************/
#define?KEY_GLOBAL??1
#include?“Key.h“
uchar?keyValueBuff;?????????????//?讀取鍵值的緩沖區?
uchar?keyValueOld;??????????????//?前一次的鍵值?
uchar?keyValueTemp;
uint??stillTimes;???????????????//?鍵按下保持次數?
uint??stillTimesMax;
uchar?get_data_1_count(uchar?number);
void?read_all_key(uchar?*buff);
/*****************************************************************************************
*?函數名稱:init_key(void)
*?功????能:鍵盤驅動初始化
*?入口參數:無
*?出口參數:無
*****************************************************************************************/
void?init_key(void)
{
????keyValueBuff?=?0x00;
????keyValueOld?=?0x00;
????keyValueTemp?=?0x00;
????stillTimes?=?0;
????stillTimesMax?=?FIRST_TIMES;
}
void?read_all_key(uchar?*buff)
{
???if(IN_PRESS_UP?==?KEY_FORCE_VALUE)
???READ_KEY(1KEY_UP*buff);
???else
?????READ_KEY(0KEY_UP*buff);
???if(IN_PRESS_DOWN??==?KEY_FORCE_VALUE)
?????READ_KEY(1KEY_DOWN?*buff);
???else
?????READ_KEY(0KEY_DOWN?*buff);
???if(IN_PRESS_START?==?KEY_FORCE_VALUE)
?????READ_KEY(1KEY_START*buff);
???else
?????READ_KEY(0KEY_START*buff);
???if(IN_PRESS_STOP?==?KEY_FORCE_VALUE)
?????READ_KEY(1KEY_STOP*buff);
???else
?????READ_KEY(0KEY_STOP*buff);
}
/*****************************************************************************************
*?函數名稱:uchar?get_key_value(void)
*?功????能:獲取鍵盤的鍵值
*?入口參數:無
*?出口參數:鍵盤的鍵值編碼(keyValueTemp)
*****************************************************************************************/
uchar?get_key_value(void)
{
????keyValueBuff?=?0x00;
????read_all_key(&keyValueBuff);
????keyValueTemp?=?keyValueBuff;
????delay_us(KEY_DELAY_TIME);
????read_all_key(&keyValueBuff);
????/*?兩次讀到的鍵盤值相同?則為有效鍵盤值?*/
????if(?keyValueTemp?==?keyValueBuff?)
????{
????????if(keyValueTemp?==?0)
????????{
????????????keyValueOld?=?0;
????????????stillTimes?=?0;
????????????stillTimesMax?=?FIRST_TIMES;
????????????return?0;
????????}
????????else?if(keyValueOld?!=?keyValueTemp)
????????{
????????????stillTimes?=?0;
????????????keyValueOld?=?keyValueTemp;
????????????#if?CAN_MORE_PRESS
????????????????return?keyValueTemp;
????????????#else
????????????????if(?1?==?get_data_1_count(keyValueTemp)?)
????????????????{
????????????????????return?keyValueTemp;
????????????????}
????????????????else
????????????????{
????????????????????return?0;
????????????????}
????????????#endif
????????}
????????else?if(keyValueOld?==?keyValueTemp)
????????{
????????????#if?CAN_MORE_PRESS?==?0
????????????????if(?1?!=?get_data_1_count(keyValueTemp)?)
????????????????{
????????????????????stillTimes?=?0;
????????????????????return?0;
????????????????}
????????????#endif
????????????#if?CAN_REPEAT
????????????????stillTimes?++;
?????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????556??2010-01-28?21:24??單片機無線多路溫度采集系統設計\code\通信控制機代碼\Include.h
?????文件???????5109??2010-01-28?21:28??單片機無線多路溫度采集系統設計\code\通信控制機代碼\key.c
?????文件???????2104??2010-01-28?21:27??單片機無線多路溫度采集系統設計\code\通信控制機代碼\key.h
?????文件???????6243??2010-01-28?21:29??單片機無線多路溫度采集系統設計\code\通信控制機代碼\lcd.c
?????文件???????1549??2010-01-28?21:28??單片機無線多路溫度采集系統設計\code\通信控制機代碼\lcd.h
?????文件???????3629??2010-01-28?21:31??單片機無線多路溫度采集系統設計\code\通信控制機代碼\main.c
?????文件???????7347??2010-01-28?21:26??單片機無線多路溫度采集系統設計\code\通信控制機代碼\nRF905.c
?????文件???????1803??2010-01-28?21:25??單片機無線多路溫度采集系統設計\code\通信控制機代碼\nRF905.h
?????文件???????2285??2010-01-28?21:29??單片機無線多路溫度采集系統設計\code\通信控制機代碼\serial.c
?????文件????????802??2010-01-28?21:29??單片機無線多路溫度采集系統設計\code\通信控制機代碼\serial.h
?????文件????????589??2010-01-28?21:30??單片機無線多路溫度采集系統設計\code\通信控制機代碼\target.c
?????文件????????845??2010-01-28?21:30??單片機無線多路溫度采集系統設計\code\通信控制機代碼\target.h
?????文件???????5975??2010-01-28?21:35??單片機無線多路溫度采集系統設計\code\采集節點代碼\ds18b20.c
?????文件????????857??2010-01-28?21:34??單片機無線多路溫度采集系統設計\code\采集節點代碼\ds18B20.h
?????文件????????591??2010-01-28?21:32??單片機無線多路溫度采集系統設計\code\采集節點代碼\include.h
?????文件???????3345??2010-01-28?21:36??單片機無線多路溫度采集系統設計\code\采集節點代碼\main.c
?????文件???????8011??2010-01-28?21:33??單片機無線多路溫度采集系統設計\code\采集節點代碼\nRF905.c
?????文件???????1804??2010-01-28?21:33??單片機無線多路溫度采集系統設計\code\采集節點代碼\nrf905.h
?????文件???????2384??2010-01-28?21:36??單片機無線多路溫度采集系統設計\code\采集節點代碼\serial.c
?????文件????????835??2010-01-28?21:35??單片機無線多路溫度采集系統設計\code\采集節點代碼\serial.h
?????文件??????34335??2010-05-19?19:28??單片機無線多路溫度采集系統設計\sch\主機.Sch
?????文件??????23023??2010-05-19?19:28??單片機無線多路溫度采集系統設計\sch\節點.Sch
?????目錄??????????0??2012-02-11?12:16??單片機無線多路溫度采集系統設計\code\通信控制機代碼
?????目錄??????????0??2012-02-11?12:16??單片機無線多路溫度采集系統設計\code\采集節點代碼
?????目錄??????????0??2012-02-11?12:16??單片機無線多路溫度采集系統設計\code
?????目錄??????????0??2012-02-11?12:16??單片機無線多路溫度采集系統設計\sch
?????目錄??????????0??2012-02-11?12:16??單片機無線多路溫度采集系統設計
-----------?---------??----------?-----??----
???????????????114021????????????????????27
............此處省略0個文件信息
- 上一篇:Bird Flock Bundle 2.4.2
- 下一篇:萊卡全站儀通訊指令.pdf
評論
共有 條評論