實驗室培訓總結1
這個寒假有幸參與到了學校的實驗室培訓,真的是受益良多,也學習到了晶元的使用。
先講以下首先學習到了1602的液晶屏的使用,驅動乙個模組無非就是通過根據所給的時序圖進行一系列的編寫,下面是1602的時序圖的歷程
![在這裡插入描述](
驅動這個1602的基本**是對晶元進行寫入三條語句
lcd1602init()
上面四條指令就是1602的初始化**,對於晶元的驅動要嚴格遵守時序圖進行讀寫,否則會出現顯示亂碼和無法顯示的諸多問題,由於僅僅只是因為高低電平的延時不足導致的顯示問題,進行錯誤排查是極為困難,所以每一次驅動晶元要嚴格遵守時序圖所給的訊號週期進行高低電平的切換。
按照上面那個時序圖進行寫命令的**如下
void write_com(uint com)
上面這一小段就是就是按照所給的時序圖進行寫命令的函式,由於硬體問題,所給的寫命令所需要的延時有所差異,因為切不可以死記住如何寫命令的**,我們應該根據晶元的使用手冊進行對**的寫入。
以下函式是對1602進行寫函式
void write_data(uchar dat)
從上面兩端**我們可以看出其實寫命令和寫資料僅僅是有一行不同而已,就是寫命令的時候,rs = 0;
寫資料的時候是 rs = 1;
我們應該掌握一些**的相同點和不同點,進行深度的思考學習,同時在keil軟體中要特別注意變數的定義
我曾經定義乙個變數 為 uchar data ; 結果老是進行報錯
,原因是因為data是乙個關鍵字,但是在keil軟體中這個關鍵字又沒有變成藍色,導致編譯不能通過。因為要特別注意關鍵字的定義,我們定義變數名盡量選擇
有意義的變數名字,比如說com ,data 之類的。
其實驅動1602和12864的**相差不大,12864就是多乙個並行模式和序列模式的選擇,12864和1602最大的區別是12864可以顯示中文漢字,驅動的**驅動都差不多的。
但是經過多次使用12864和1602液晶顯示屏,12864顯示比較多那些硬體問題,比如說你要顯示中文,按照位置的偶數字置進行寫入,因為乙個漢字佔兩個位元組,如果你在第二個位元組進行漢字的寫入的話會出現亂碼,可能是晶元的內部是按照相鄰的兩個位元組進行讀取的。
以上就是分析小結,lcd1602液晶模組的作用就是顯示作用,既然是顯示,無非就是顯示什麼內容,在哪個位置進行顯示,那麼如何知道哪乙個位置呢?無非就是多看一下使用手冊
我們通過微控制器控制lcd1602液晶模組的時候,也就是兩個不同的物件進行溝通,一定要打招呼嘛,打招呼無非就是初始化設定,如何初始化呢?直接看使用手冊就行了。
以上僅僅是lcd1602簡單的使用,具體更多的功能實現還是需要看使用手冊的。如果能夠僅僅看使用手冊就可以編寫出**,那是真正掌握了器件的使用了。
LCD1602的簡單應用
此程式主要功能是液晶屏緩慢依次顯示abcd4個字母 include define uint unsigned int define uchar unsigned char sbit lcd rw p2 5 sbit lcd rs p2 6 sbit lcd en p2 7 uchar num voi...
lcd1602顯示實驗
字元從最右邊往左移動16次,最後停止在螢幕上 include define uchar unsigned char define uint unsigned int uchar code display talk is cheap uchar code display1 show me code s...
LCD1602學習筆記
lcd1602代表可以顯示16行,2列。同時他有16個介面,有vss和vdd分別是地線和5v電源介面,第三個vl是背光介面,為了顯示更清楚通常接地。許多超市上掛著的那種滾動螢幕便是lcd1602的大致功能。include define uchar unsigned char define uint ...