微控制器 LCD1602 顯示時鐘並讓他走起來

2021-10-25 08:10:22 字數 2031 閱讀 9418

這次實驗是上乙個實驗在的基礎上,新增了中斷模組,顯示時鐘

一、實驗目的:

(一)進一步熟悉 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 使能訊號輸入端 讀操作時,高電平有效 寫操作...