導航:首頁 > 操作系統 > 單片機顯示函數理解

單片機顯示函數理解

發布時間:2023-08-19 17:28:08

⑴ 這兩個單片機用液晶屏程序(函數)如何理解

大致看了看,應該挺簡單的。但是符號"<<="忘記什麼意思了。我再看看,呵呵.......
//////////////////////////////////////////////////////////////////
void LCD_WrDat(U8 data) //該函數功能應該是寫一位元組數據到存儲器或者說是到液晶屏吧
{
U8 i=8;
LCD_Data_Out &= ~LCD_CS; //LCD_CS=0
LCD_Data_Out |= LCD_CD; //LCD_CD=1
LCD_Data_Out&=~LCD_SCL; //LCD_SCL=0
//以上是各控制信號滿足寫數據的條件
//asm("nop");
while(i--) //(i=8)以下循環8次
{
if(data&0x80) //如果所傳送的數據第八位為1
{LCD_Data_Out|=LCD_SDA;} //則LCD_SDA=0
else{LCD_Data_Out&=~LCD_SDA;} //否則LCD_SDA=1
//以上是判斷第八位是否為1後SDA信號的輸出情況
LCD_Data_Out|=LCD_SCL; //LCD_SCL=1
asm("nop"); //nop
//asm("nop");
LCD_Data_Out&=~LCD_SCL; //LCD_SCL=0
data<<=1; //執行數據傳輸操作(個人認為數據傳輸完畢後有一位左移功能,函數循環了八次剛好是傳輸了一位元組,傳輸方式是先從最高位傳起)
}
LCD_Data_Out |= LCD_CS; //數據傳輸完畢後 LCD_CS=1
}

void LCD_WrCmd(U8 cmd) //該函數功能應該是寫一位元組數據到CMD
{
U8 i=8; //以下的說明和上一函數沒有太大區別,主要是一些控制信號的取值不一樣

LCD_Data_Out &= ~LCD_CS;
LCD_Data_Out &= ~LCD_CD;
LCD_Data_Out&=~LCD_SCL;
//asm("nop");
while(i--)
{
if(cmd&0x80){LCD_Data_Out|=LCD_SDA;}
else{LCD_Data_Out&=~LCD_SDA;}
LCD_Data_Out|=LCD_SCL;
asm("nop");
//asm("nop");
LCD_Data_Out&=~LCD_SCL;
cmd<<=1;
}
LCD_Data_Out |= LCD_CS;
}
總的來講以上函數不是很難,主要是一些控制信號SDA CS SCL等等的取值問題,這在LCD說明書上應該有說明。在滿足各個數據傳輸信號要求的情況下進行數據傳輸,每一個函數都是進行一個位元組的傳輸操作。水平有限,難免錯誤。

⑵ 怎麼理解這個單片機延遲函數

這個單片機延遲函數,其實就是 空操作 加 計數循環,至於延時時間 就要看用的單片機 指令周期而定,12T指令周期的約40uS左右,1T指令周期的約為5~6uS吧,單片機延遲函數可以有很多方法編寫,看行程需要而定,有得較長時間的延時最好不要用延時函數寫(因為延時函數是佔用CPU時間資源的)。

⑶ 單片機中什麼是函數

一般來說,實現某個功能的功能塊,程序中會以子函數的形式出現,在main函數中調用實現想要的功能。對於復雜的處理器來說,各公司可能提供庫函數,方便用戶開發,比如STM32,DSP。。。

需要注意,單片機程序和PC機程序有些區別,比如:死循環的處理

閱讀全文

與單片機顯示函數理解相關的資料

熱點內容
什麼app可以查到裝修 瀏覽:652
什麼魚的按摩app 瀏覽:501
雲電腦的伺服器網站 瀏覽:439
木工專用空氣壓縮機 瀏覽:179
synfloodlinux 瀏覽:85
linux卸載openssl 瀏覽:100
python爬蟲網址要求 瀏覽:966
什麼是金稅盤伺服器 瀏覽:437
phpsocket開發 瀏覽:509
caj文檔轉pdf 瀏覽:553
eclipsemaven命令配置 瀏覽:337
雅安視監控app叫什麼名字 瀏覽:731
東方財富app籌碼藍色和紅色是什麼 瀏覽:566
pr安裝文件夾圖標變白 瀏覽:179
如何用伺服器建設網站 瀏覽:349
定時鬧鍾單片機課程設計 瀏覽:537
腰椎壓縮性骨折症狀 瀏覽:466
絕地求生全軍出擊的伺服器什麼時候開 瀏覽:493
怎麼入侵游戲伺服器篡改數據 瀏覽:736
線性壓縮機原理 瀏覽:543