這次實驗是上乙個實驗在的基礎上,新增了中斷模組,顯示時鐘
一、實驗目的:
(一)進一步熟悉 lcd1602 與微控制器的電路連線;
(二)進一步熟悉 lcd1602 的引腳功能;
(三)進一步掌握 lcd1602 的時序;
(四)進一步掌握微控制器對 lcd1602 的控制方法;
(五)進一步掌握定時器的工作原理及各種暫存器的應用。
二、主要儀器裝置及耗材:
(一)電腦一台;
(二)微控制器開發板一套。
三、實驗原理
-----利用所學的微控制器知識lcd1602的知識及電路知識程式設計實現微控制器i/o 口控制 lcd1602 的顯示時鐘。
四、實驗內容及步驟
(一)實驗內容 程式設計實現 lcd1602 顯示時鐘,顯示格式為:00:00:00,並讓時間走 起來。
(二)實驗步驟 1.根據實驗七 lcd1602 的電路原理圖編寫 c 程式,除錯並燒寫入微控制器
#include
/*
1.基本操作時序
(1) 讀狀態:輸入:rs=l, rw=h, e=h 輸出:d0~d7=狀態字
(2) 寫指令:輸入:rs=l, rw=l,d0d7=指令碼, e=高脈衝 輸出:無
(3) 讀資料:輸入:rs=h, rw=h, e=h 輸出:d0~d7=資料
(4) 寫資料:輸入:rs=h, rw=l, d0~d7=資料, e=高脈衝 輸出:無
*/#define db p0
sbit rs=p2^6;
sbit rw=p2^5;
sbit en=p2^7;
int t=
0,h=
23,m=
59,s=50;
//初始化顯示的時間h,m,s
char number=
"0123456789"
;//用於顯示時鐘的時分秒的數
void
delay
(unsigned
int ms)
void
write_com
(char data_)
//寫指令
void
write_data
(char data_)
void
init_com()
void
init_timer()
void
time0
() interrupt 1
//先判斷是否到達24小時,到達則清零,然後在顯示
write_com
(0x80
+0x04);
write_data
(number[h/10]
);write_com
(0x80
+0x05);
write_data
(number[h%10]
);}//先判斷是否到達60分,到達則時進一,分清零,然後在顯示
write_com
(0x80
+0x07);
write_data
(number[m/10]
);write_com
(0x80
+0x08);
write_data
(number[m%10]
);}//先判斷是否到達60秒,到達則分進一,秒清零,然後在顯示
write_com
(0x80
+0x0a);
write_data
(number[s/10]
);write_com
(0x80
+0x0b);
write_data
(number[s%10]
);}}
void
init_display()
//初始化顯示時鐘的時間
intmain()
微控制器 LCD1602
lcd1602為工業字元型液晶,lcd表示liquidcrystal display。能夠同時顯示16 x 2 16列2行 即32個字元。1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號等的點陣型液晶模組。它由若干個5x7或者5x11等點陣字元位組成,每個點陣字元位都可以顯示...
基於51微控制器LCD1602顯示
要在1602上顯示字元,要大概明白1602液晶顯示屏工作原理。一般的液晶顯示器 liquid crystal display,lcd 的主要原理是以電流刺激液晶分子產生點 線 面並配合背部燈管構成畫面。1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號等的點陣型液晶模組。160...
51微控制器LCD1602程式詳解
lcd1602 工業字元型液晶。1602是指lcd顯示的內容為16x2,即可以顯示兩行,每行16個字元.特殊介面說明 rs 暫存器選擇輸入端 rs 1 指向資料暫存器 rs 0 指向指令暫存器 rw 讀寫控制輸入端 rw 0 寫操作 rw 1 讀操作 e 使能訊號輸入端 讀操作時,高電平有效 寫操作...