51微控制器1602 這兩個函式看不懂!問題在具體看不懂的那行註釋裡面! 10

時間 2025-01-30 00:10:20

51微控制器1602 這兩個函式看不懂!問題在具體看不懂的那行註釋裡面!

1樓:網友

我好像是一年之前看了下1602模組,其實你該多看看模組使用手冊啊,應該有講解的,前面if、else裡面的問題該去查模組使用手冊,0x80/0xc0這兩個值應該是相應的控制字,用於確定顯示字元的位置,那麼我先給你說說後面的問題:

看清楚,*s代表的意思是取指標s所指向位址的值,那麼,你傳進來的是個字串對吧?字串的最後乙個結束符是0知道吧?while迴圈到字串最後乙個結束符是*s值為0就跳出迴圈知道吧?

s)不知道指標怎麼用嗎?將指標所指向的字元列印到1602上,這很難理解麼?

還是那句話,不知道指標怎麼用麼?指標s指向下乙個需要列印的字元,很難理解麼?

data);

你就是光看函式名字void lcd_write_char也知道這是用於單個字元列印的函式吧?那麼本來它只列印單個字元到1602上,為什麼需要用指標?

如果你還是大一大二的學生,剛接觸程式設計,以上問題不清楚還情有可原,好好學,不懂就問就對了,若是已經畢業參加工作了,那還是換個職業吧。

如果你還是學生,if-else裡面的問題還是沒找到答案,那麼再回復,我去看看資料給你答案。

2樓:做而論道

lcd_write_com(0x80 + x);/這個裡面用乙個十六進位的整數和字元變數相加幹什麼?*/

lcd_write_com(0xc0 + x);/問題同上乙個。

80、c0,用來區分液晶屏上面的「行」,x是「列」。

具體解釋,樓主應該去看lcd1602的說明書。

while (*s) /這個指標怎麼能用作真值條件?它不是乙個記憶體位址嗎?不是永遠為真?

沒有到字串的末尾,就迴圈。

lcd_write_data(*s); 完全不知用意 --寫入乙個字元。

s++;完全不知用意 --指標加一。

lcd_write_data( data); 為什麼這裡沒有用指標而直接用了變數本身?

本函式就是寫入乙個字元的,用指標就多餘了。

3樓:網友

0x80和0xc0是1602的行列的起始位址,說明書裡有;下面的問題我要看看 lcd_write_data()函式才知道·怎麼。

微控制器,1602顯示問題,關於字元

4樓:網友

1602液晶模組內部的字元發生儲存器(cgrom)已經儲存了160個不同的點陣字元圖形,這些字元有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每乙個字元都有乙個固定的**,比如大寫的英文字母「a」的**是01000001b(41h),顯示時模組把位址41h中的點陣字元圖形顯示出來,我們就能看到字母「a」。

5樓:我是個禍害

你把lcd_write()程式附上面給我看看?

51微控制器連線1602液晶顯示屏是不是一定要有電位器啊?電位器的作用是什麼

h小浩子 51微控制器連線1602液晶顯示屏一定需要有電位器。一 電位器在電路中的主要作用如下 1 用作電流控制器 當電位計用作電流控制器時,所選電流輸出之一必須是滑動接觸導線。2 用作分壓器 電位計是一個連續可調電阻器,調節電位器手柄或滑動手柄時,動觸頭在電阻體上移動,此時,在電位器的輸出端可以得...

兩個51微控制器如何通過i2c通訊

兩個51微控制器 通訊 可以通過 串列埠進行通訊 也可以多機通訊 如果要用到 i2c 晶片可另外用2個io 埠擴充套件,至於各種功能 通過硬體 及 軟體 完全可以完成 必須是iic嗎。兩個微控制器通訊通過串列埠通訊要好點吧。個人觀點。 要看你們用的是什麼型號的51微控制器 如果沒有硬體i2c,那麼你...

51微控制器c語言延時函式 void delay 1ms un

杜哥是個小天才 c程式中可使用不同型別的變數來進行延時設計。經實驗測試,使用unsigned char型別具有比unsigned int更優化的 在使用時應該使用unsigned char作為延時變數。以某晶振為12mhz的微控制器為例,晶振為12mhz即一個機器週期為1us。void delay ...