資源簡介
大二參加的TI杯的完整程序拿來共享,LDC1000金屬探測,代碼絕對完整。

代碼片段和文件信息
#include“lcd.h“
/*******************************************************************************
*?函?數?名?????????:?Lcd1602_Delay1ms
*?函數功能 ???:?延時函數,延時1ms
*?輸????入?????????:?c
*?輸????出?????????:?無
*?說????名?????????:?該函數是在12MHZ晶振下,12分頻單片機的延時。
*******************************************************************************/
void?Lcd1602_Delay1ms(uint?c)???//誤差?0us
{
????uchar?ab;
for?(;?c>0;?c--)
{
?for?(b=199;b>0;b--)
?{
?? for(a=1;a>0;a--);
?}??????
}
????
}
/*******************************************************************************
*?函?數?名?????????:?LcdWriteCom
*?函數功能 ???:?向LCD寫入一個字節的命令
*?輸????入?????????:?com
*?輸????出?????????:?無
*******************************************************************************/
#ifndef? LCD1602_4PINS ?//當沒有定義這個LCD1602_4PINS時
void?LcdWriteCom(uchar?com) ??//寫入命令
{
LCD1602_E?=?0;?????//使能
LCD1602_RS?=?0; ???//選擇發送命令
LCD1602_RW?=?0; ???//選擇寫入
LCD1602_DATAPINS?=?com;?????//放入命令
Lcd1602_Delay1ms(1); //等待數據穩定
LCD1602_E?=?1; ??????????//寫入時序
Lcd1602_Delay1ms(5); ??//保持時間
LCD1602_E?=?0;
}
#else?
void?LcdWriteCom(uchar?com) ??//寫入命令
{
LCD1602_E?=?0; ?//使能清零
LCD1602_RS?=?0; ?//選擇寫入命令
LCD1602_RW?=?0; ?//選擇寫入
LCD1602_DATAPINS?=?com; //由于4位的接線是接到P0口的高四位,所以傳送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ?//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
// Lcd1602_Delay1ms(1);
LCD1602_DATAPINS?=?com?<4;?//發送低四位
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ?//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
}
#endif
/*******************************************************************************
*?函?數?名?????????:?LcdWriteData
*?函數功能 ???:?向LCD寫入一個字節的數據
*?輸????入?????????:?dat
*?輸????出?????????:?無
*******************************************************************************/ ???
#ifndef? LCD1602_4PINS ???
void?LcdWriteData(uchar?dat) //寫入數據
{
LCD1602_E?=?0; //使能清零
LCD1602_RS?=?1; //選擇輸入數據
LCD1602_RW?=?0; //選擇寫入
LCD1602_DATAPINS?=?dat;?//寫入數據
Lcd1602_Delay1ms(1);
LCD1602_E?=?1;???//寫入時序
Lcd1602_Delay1ms(5);???//保持時間
LCD1602_E?=?0;
}
#else
void?LcdWriteData(uchar?dat) //寫入數據
{
LCD1602_E?=?0; ??//使能清零
LCD1602_RS?=?1; ??//選擇寫入數據
LCD1602_RW?=?0; ??//選擇寫入
LCD1602_DATAPINS?=?dat; //由于4位的接線是接到P0口的高四位,所以傳送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ??//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
LCD1602_DATAPINS?=?dat?<4;?//寫入低四位
Lcd1602_Delay1ms(1);
LCD1602_E?=?1; ??//寫入時序
Lcd1602_Delay1ms(5);
LCD1602_E?=?0;
}
#endif
/*******************************************************************************
*?函?數?名???????:?LcdInit()
*?函數功能 ?:?初始化LCD屏
*?輸????入???????:?無
*?輸????出???????:?無
*******************************************************************************/ ???
#ifndef LCD1602_4PINS
void?LcdInit() ??//LCD初始化子程序
{
? LcdWriteCom(0x38);??//開顯示
LcdWriteCom(0x0c);??//開顯示不顯示光標
LcdWriteCom(0x06);??//寫一個指針加1
LcdWriteCom(0x01);??//清屏
LcdWriteCom(0x80);??//設置數據
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-08-01?10:14??金屬位置探測器\
?????文件????????3627??2015-05-09?01:59??金屬位置探測器\lcd.c
?????文件?????????965??2015-05-09?01:59??金屬位置探測器\lcd.h
?????文件????????7182??2015-08-01?10:14??金屬位置探測器\lcd.LST
?????文件????????4072??2015-08-01?10:14??金屬位置探測器\lcd.OBJ
?????文件????????3453??2015-04-11?22:35??金屬位置探測器\ldc1000.c
?????文件????????2714??2015-04-11?22:32??金屬位置探測器\ldc1000.h
?????文件???????12530??2015-05-03?14:58??金屬位置探測器\ldc1000.LST
?????文件???????12241??2015-08-01?10:14??金屬位置探測器\main.c
?????文件???????10563??2015-05-09?04:41??金屬位置探測器\main.hex
?????文件??????????65??2015-08-01?10:14??金屬位置探測器\main.lnp
?????文件???????27039??2015-08-01?10:14??金屬位置探測器\main.LST
?????文件???????37075??2015-08-01?10:14??金屬位置探測器\main.M51
?????文件???????25354??2015-08-01?10:14??金屬位置探測器\main.OBJ
?????文件????????3117??2015-08-01?10:14??金屬位置探測器\main.plg
?????文件???????67531??2015-08-01?10:14??金屬位置探測器\main.uvopt
?????文件???????13547??2015-05-09?05:30??金屬位置探測器\main.uvproj
?????文件???????67529??2015-08-01?10:03??金屬位置探測器\main_uvopt.bak
?????文件???????13719??2015-05-07?04:28??金屬位置探測器\main_uvproj.bak
?????文件????????6376??2009-05-07?14:37??金屬位置探測器\STARTUP.A51
?????文件???????14043??2015-05-09?02:01??金屬位置探測器\STARTUP.LST
?????文件?????????749??2015-05-09?02:01??金屬位置探測器\STARTUP.OBJ
?????文件????????6001??2015-05-09?01:50??金屬位置探測器\temp.c
?????文件?????????337??2015-05-07?03:10??金屬位置探測器\temp.h
?????文件???????11438??2015-08-01?10:14??金屬位置探測器\temp.LST
?????文件????????8945??2015-08-01?10:14??金屬位置探測器\temp.OBJ
?????目錄???????????0??2015-06-23?11:54??金屬位置探測器\test\
?????文件????????9337??2015-04-11?17:58??金屬位置探測器\test\1
?????文件?????????931??2015-04-11?17:58??金屬位置探測器\test\1.hex
?????文件??????????53??2015-04-11?17:58??金屬位置探測器\test\1.lnp
?????文件???????10614??2015-04-11?17:58??金屬位置探測器\test\1.M51
............此處省略11個文件信息
- 上一篇:伺服電機(電流環速度環位置環)
- 下一篇:CINRAD雷達產品顯示系統
評論
共有 條評論