两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

盡管部分初學(xué)者對(duì)液晶屏的全部代碼的理解存在困難,不過(guò)沒(méi)關(guān)系,只要我們懂得如何運(yùn)用它們各個(gè)函數(shù)的功能即可,大家下載進(jìn)開(kāi)發(fā)板之后觀察實(shí)驗(yàn)現(xiàn)象再結(jié)合代碼與注釋慢慢細(xì)讀掌握吧。

1.測(cè)試代碼

#include <reg52.h> 
#include <function.h>//詳見(jiàn)第六章第8講
#include <lcd.h>

void main()
{  
    char x;//取值范圍-128~127
    u8 str1[] = "Good Good Study";
    u8 str2[] = "Day Day Up!";

    InitLcd1602();//初始化液晶屏

    while (1)
    {
        LcdSetCursor(0,0);//把光標(biāo)移到第一行第1格,準(zhǔn)備寫入內(nèi)容
        LcdWriteDat(87);  //寫入字符“W”的ASCII碼值,讓其顯示字符W
        delay_ms(2000);   //延時(shí)一段時(shí)間

        LcdSetCursor(0,1);//把光標(biāo)移到第二行第1格,準(zhǔn)備寫入內(nèi)容
        LcdWriteDat('X'); //字符'X'的ASCII碼值為88,此種表達(dá)寫法更加直觀明白要顯示的內(nèi)容 
        delay_ms(2000);   //延時(shí)一段時(shí)間

        LcdFullClear();   //全部?jī)?nèi)容清除顯示
        delay_ms(2000);   //延時(shí)一段時(shí)間

        LcdShowStr(1, 0, str1);//第一行顯示"Good Good Study"
        LcdShowStr(3, 1, str2);//第二行顯示"Day Day Up"  
        delay_ms(2000);//延時(shí)一段時(shí)間

        LcdFullClear();//全部?jī)?nèi)容清除顯示
        delay_ms(2000);//延時(shí)一段時(shí)間

        LcdShowStr_len(0, 0, "CALL TO 10086", 7);//只能顯示字符串的前面7個(gè)字符,也就是只能顯示“CALL TO”
        LcdShowStr_len(0, 1, str1, 11);          //只能顯示“Good Good S”
        delay_ms(2000);//延時(shí)一段時(shí)間

        for(x=10;x>=0;x--)
        {
            LcdAreaClear(x, 1, 1);//間隔1秒,依次清除“S”、“ ”、“d”、“o”、“o”、“G”······
            delay_ms(1000);   
        }

        for(x=6;x>=0;x--)
        {
            LcdAreaClear(x, 0, 1);//間隔1秒,依次清除“O”、“T”、“ ”、“L”、“L”、“A”、“C”
            delay_ms(1000);   
        }
    }
}

有了這段代碼,觀察實(shí)驗(yàn)現(xiàn)象就能更加明白掌握各功能函數(shù)的用法了。


2.回顧printf函數(shù)

此時(shí)我們回到第十章第4節(jié)的printf_str函數(shù)觀察下面這兩段代碼

while(*str != '\0')  //連續(xù)發(fā)送字符串?dāng)?shù)據(jù),直到檢測(cè)到結(jié)束符
{
    SBUF=*str++;
    while(!TI);
    TI = 0;
}


while(i>=0) //剩余低位都如實(shí)發(fā)送出去
{   
    SBUF='0'+buf[i];//如果此時(shí)的buf[i]的值是1,那么電腦端窗口在“文本模式”下要想顯示字符“1”,只需'0'+1,因?yàn)椤?’就是ASCII碼值48
    while(!TI);
    TI = 0;  
    i--;   
}

學(xué)過(guò)了液晶屏代碼的寫法技巧,現(xiàn)在再閱讀當(dāng)初的這兩段代碼就能明白“SBUF=*str++;”是發(fā)送一個(gè)數(shù)組或者一個(gè)字符串的所有數(shù)據(jù)。

而“SBUF='0'+buf[i];”發(fā)送的就是字符’0’~’9’其中一個(gè)數(shù)據(jù),因?yàn)閎uf[i]在前面的執(zhí)行內(nèi)容中規(guī)定了數(shù)值范圍為0~9,

所以“ '0'+buf[i] ”本質(zhì)就是“ '0'~'9' ”。

需要注意的是,‘0’代表的是ASCII碼值,跟ASCII碼值為0不一樣。

ASCII碼值為0時(shí)的字符是:‘\0’(也就是結(jié)束符)

ASCII碼值為48時(shí)的字符是:‘0’

點(diǎn)贊(0)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫出一個(gè)爬蟲(chóng)的Python編程課程

只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)