首页下载资源行业研究土壤湿度_AD转换_工程代码.zip

ZIP土壤湿度_AD转换_工程代码.zip

2401_8270694056.58KB需要积分:1

资源文件列表:

土壤湿度_AD转换_工程代码.zip 大约有34个文件
  1. 土壤湿度_AD转换_工程代码/Buzzer.c 534B
  2. 土壤湿度_AD转换_工程代码/Buzzer.h 92B
  3. 土壤湿度_AD转换_工程代码/Delay.c 153B
  4. 土壤湿度_AD转换_工程代码/Delay.h 85B
  5. 土壤湿度_AD转换_工程代码/Key.c 572B
  6. 土壤湿度_AD转换_工程代码/Key.h 71B
  7. 土壤湿度_AD转换_工程代码/LCD1602.c 4.95KB
  8. 土壤湿度_AD转换_工程代码/LCD1602.h 655B
  9. 土壤湿度_AD转换_工程代码/Listings/
  10. 土壤湿度_AD转换_工程代码/Listings/Buzzer.lst 1.87KB
  11. 土壤湿度_AD转换_工程代码/Listings/Delay.lst 1.25KB
  12. 土壤湿度_AD转换_工程代码/Listings/Key.lst 1.64KB
  13. 土壤湿度_AD转换_工程代码/Listings/LCD1602.lst 9.93KB
  14. 土壤湿度_AD转换_工程代码/Listings/main.lst 6.74KB
  15. 土壤湿度_AD转换_工程代码/Listings/XPT2046.lst 2.27KB
  16. 土壤湿度_AD转换_工程代码/main.c 2.37KB
  17. 土壤湿度_AD转换_工程代码/Objects/
  18. 土壤湿度_AD转换_工程代码/Objects/Buzzer.obj 3.08KB
  19. 土壤湿度_AD转换_工程代码/Objects/Delay.obj 875B
  20. 土壤湿度_AD转换_工程代码/Objects/Key.obj 3.22KB
  21. 土壤湿度_AD转换_工程代码/Objects/LCD1602.obj 11.36KB
  22. 土壤湿度_AD转换_工程代码/Objects/main.obj 8.61KB
  23. 土壤湿度_AD转换_工程代码/Objects/Project.build_log.htm 1011B
  24. 土壤湿度_AD转换_工程代码/Objects/Project.hex 6.08KB
  25. 土壤湿度_AD转换_工程代码/Objects/Project.lnp 240B
  26. 土壤湿度_AD转换_工程代码/Objects/Project.plg 214B
  27. 土壤湿度_AD转换_工程代码/Objects/XPT2046.obj 3.48KB
  28. 土壤湿度_AD转换_工程代码/Project.uvgui.caozhibo 173.82KB
  29. 土壤湿度_AD转换_工程代码/Project.uvopt 60.06KB
  30. 土壤湿度_AD转换_工程代码/Project.uvproj 14.55KB
  31. 土壤湿度_AD转换_工程代码/Project_uvopt.bak 59.9KB
  32. 土壤湿度_AD转换_工程代码/Project_uvproj.bak 15.56KB
  33. 土壤湿度_AD转换_工程代码/XPT2046.c 776B
  34. 土壤湿度_AD转换_工程代码/XPT2046.h 224B

资源介绍:

土壤湿度_AD转换_工程代码.zip
#include //引脚配置: sbit LCD_RS=P2^6; sbit LCD_RW=P2^5; sbit LCD_EN=P2^7; #define LCD_DataPort P0 //函数定义: /** * @brief LCD1602延时函数,12MHz调用可延时1ms * @param 无 * @retval 无 */ void LCD_Delay() { unsigned char i, j; i = 2; j = 239; do { while (--j); } while (--i); } /** * @brief LCD1602写命令 * @param Command 要写入的命令 * @retval 无 */ void LCD_WriteCommand(unsigned char Command) { LCD_RS=0; LCD_RW=0; LCD_DataPort=Command; LCD_EN=1; LCD_Delay(); LCD_EN=0; LCD_Delay(); } /** * @brief LCD1602写数据 * @param Data 要写入的数据 * @retval 无 */ void LCD_WriteData(unsigned char Data) { LCD_RS=1; LCD_RW=0; LCD_DataPort=Data; LCD_EN=1; LCD_Delay(); LCD_EN=0; LCD_Delay(); } /** * @brief LCD1602设置光标位置 * @param Line 行位置,范围:1~2 * @param Column 列位置,范围:1~16 * @retval 无 */ void LCD_SetCursor(unsigned char Line,unsigned char Column) { if(Line==1) { LCD_WriteCommand(0x80|(Column-1)); } else if(Line==2) { LCD_WriteCommand(0x80|(Column-1+0x40)); } } /** * @brief LCD1602初始化函数 * @param 无 * @retval 无 */ void LCD_Init() { LCD_WriteCommand(0x38);//八位数据接口,两行显示,5*7点阵 LCD_WriteCommand(0x0c);//显示开,光标关,闪烁关 LCD_WriteCommand(0x06);//数据读写操作后,光标自动加一,画面不动 LCD_WriteCommand(0x01);//光标复位,清屏 } /** * @brief 在LCD1602指定位置上显示一个字符 * @param Line 行位置,范围:1~2 * @param Column 列位置,范围:1~16 * @param Char 要显示的字符 * @retval 无 */ void LCD_ShowChar(unsigned char Line,unsigned char Column,char Char) { LCD_SetCursor(Line,Column); LCD_WriteData(Char); } /** * @brief 在LCD1602指定位置开始显示所给字符串 * @param Line 起始行位置,范围:1~2 * @param Column 起始列位置,范围:1~16 * @param String 要显示的字符串 * @retval 无 */ void LCD_ShowString(unsigned char Line,unsigned char Column,char *String) { unsigned char i; LCD_SetCursor(Line,Column); for(i=0;String[i]!='\0';i++) { LCD_WriteData(String[i]); } } /** * @brief 返回值=X的Y次方 */ int LCD_Pow(int X,int Y) { unsigned char i; int Result=1; for(i=0;i0;i--) { LCD_WriteData(Number/LCD_Pow(10,i-1)%10+'0'); } } /** * @brief 在LCD1602指定位置开始以有符号十进制显示所给数字 * @param Line 起始行位置,范围:1~2 * @param Column 起始列位置,范围:1~16 * @param Number 要显示的数字,范围:-32768~32767 * @param Length 要显示数字的长度,范围:1~5 * @retval 无 */ void LCD_ShowSignedNum(unsigned char Line,unsigned char Column,int Number,unsigned char Length) { unsigned char i; unsigned int Number1; LCD_SetCursor(Line,Column); if(Number>=0) { LCD_WriteData('+'); Number1=Number; } else { LCD_WriteData('-'); Number1=-Number; } for(i=Length;i>0;i--) { LCD_WriteData(Number1/LCD_Pow(10,i-1)%10+'0'); } } /** * @brief 在LCD1602指定位置开始以十六进制显示所给数字 * @param Line 起始行位置,范围:1~2 * @param Column 起始列位置,范围:1~16 * @param Number 要显示的数字,范围:0~0xFFFF * @param Length 要显示数字的长度,范围:1~4 * @retval 无 */ void LCD_ShowHexNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) { unsigned char i,SingleNumber; LCD_SetCursor(Line,Column); for(i=Length;i>0;i--) { SingleNumber=Number/LCD_Pow(16,i-1)%16; if(SingleNumber<10) { LCD_WriteData(SingleNumber+'0'); } else { LCD_WriteData(SingleNumber-10+'A'); } } } /** * @brief 在LCD1602指定位置开始以二进制显示所给数字 * @param Line 起始行位置,范围:1~2 * @param Column 起始列位置,范围:1~16 * @param Number 要显示的数字,范围:0~1111 1111 1111 1111 * @param Length 要显示数字的长度,范围:1~16 * @retval 无 */ void LCD_ShowBinNum(unsigned char Line,unsigned char Column,unsigned int Number,unsigned char Length) { unsigned char i; LCD_SetCursor(Line,Column); for(i=Length;i>0;i--) { LCD_WriteData(Number/LCD_Pow(2,i-1)%2+'0'); } }
100+评论
captcha