91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-29
  • 語言: C/C++
  • 標簽: C語言??

資源簡介

項目名稱是簡易溫度測量C語言編程,利用C語言編寫控制程序,控制溫度傳感器檢測溫度,并在液晶屏上顯示溫度。

資源截圖

代碼片段和文件信息

???#include?
#include
sbit?RS?=?P1^2;???//定義端口?
sbit?RW?=?P1^1;
sbit?EN?=?P1^0;
sbit?DQ=P1^6;
sbit?FMQ=P1^5;
sbit?SCL=?P3^6;
sbit?SDA=?P3^7;
sbit?P22=P2^2;?//將?P14位定義為?P1.4引腳
sbit?P23=P2^3;?//將?P15位定義為?P1.5引腳
sbit?P24=P2^4;?//將?P16位定義為?P1.6引腳
sbit?P25=P2^5;?//將?P17位定義為?P1.7引腳 ???
#define?RS_CLR?RS=0?
#define?RS_SET?RS=1

#define?RW_CLR?RW=0?
#define?RW_SET?RW=1?

#define?EN_CLR?EN=0
#define?EN_SET?EN=1

#define?DataPort?P0
#define?uint?unsigned?int
#define?uchar?unsigned?char
?typedef?unsigned?int?u16; ??//對數據類型進行聲明定義

uchar?key;

uchar?data?b[8];
int?num1=50;//上限溫度定義
int?num2=20; ?//下限溫度定義
int?num3=50;//上限溫度定義
int?num4=10; ?//下限溫度定義?
??/*----------------------------------------------
??????????????延時函數
------------------------------------------------*/
void?DelayUs2x(unsigned?char?t)
{???
?while(t--);
}

void?DelayMs(unsigned?char?t)
{
??while(t--)
?{
?????//大致延時1mS
?????DelayUs2x(245);
?DelayUs2x(245);

?}
}



/*----------------------------------------------
??????????????LCD液晶顯示程序
------------------------------------------------*/
?bit?LCD_Check_Busy(void)????//判忙函數
?{?
???DataPort=?0xFF;?
???RS_CLR;?
???RW_SET;?
???EN_CLR;?
???_nop_();?
???EN_SET;
???return?(bit)(DataPort?&?0x80);
?}
/*****************寫入命令函數******************/
?void?LCD_Write_Com(unsigned?char?com)?
?{??
???while(LCD_Check_Busy());?//忙則等待
???RS_CLR;?
???RW_CLR;?
???EN_SET;?
???DataPort=?com;?
???_nop_();?
???EN_CLR;
?}
/******************寫入數據函數******************/
?void?LCD_Write_Data(unsigned?char?Data)?
?{?
???while(LCD_Check_Busy());?//忙則等待
???RS_SET;?
???RW_CLR;?
???EN_SET;?
???DataPort=?Data;?
???_nop_();
???EN_CLR;
?}

/******************清屏函數***********************/

?void?LCD_Clear(void)?
?{?
?LCD_Write_Com(0x01);?
?DelayMs(5);
?}

/************寫入字符串函數************************/

?void?LCD_Write_String(unsigned?char?xunsigned?char?yunsigned?char?*s)?
?{?????
?if?(y?==?0)?
? {?????
?LCD_Write_Com(0x80?+?x);?????//表示第一行
? }
?else?
? {??????
? LCD_Write_Com(0xC0?+?x);??????//表示第二行
? }????????
?while?(*s)?
? {?????
?LCD_Write_Data(?*s);?????
?s?++;?????
? }
?}

/*******************寫入字符函數?*******************/?

?void?LCD_Write_Char(unsigned?char?xunsigned?char?yunsigned?char?Data)?
?{?????
?if?(y?==?0)?
? {?????
? LCD_Write_Com(0x80?+?x);?????
? }????
?else?
? {?????
? LCD_Write_Com(0xC0?+?x);?????
? }????????
?LCD_Write_Data(?Data);??
?}

/**************?LCD初始化函數?**************/
??void?LCD_Init(void)?
?{
???LCD_Write_Com(0x38);????/*顯示模式設置*/?
???DelayMs(5);?
???LCD_Write_Com(0x38);?
???DelayMs(5);?
???LCD_Write_Com(0x38);?
???DelayMs(5);?
???LCD_Write_Com(0x38);??
???LCD_Write_Com(0x08);????/*顯示關閉*/?
???LCD_Write_Com(0x01);????/*顯示清屏*/?
???LCD_Write_Com(0x06);????/*顯示光標移動設置*/?
???DelayMs(5);?
???LCD_Write_Com(0x0C);????/*顯示開及光標設置*/
???}????
? ?
??/*------------------------------------------------

評論

共有 條評論