微控制器原理及應用課程設計任務書
題目:電子時鐘(lcd顯示)
1、設計要求以at89c51微控制器為核心的時鐘,在lcd顯示器上顯示當前的時間:
使用字元型lcd顯示器顯示當前時間。顯示格式為「時時:分分:秒秒」。
用3個功能鍵操作來設定當前時間。功能鍵k1~k4功能下。
k1—設定小時。
k2—設定分鐘。
k3—設定秒。
程式執行後工作指示燈led發光,表示程式開始執行,lcd顯示「23:59:00」,然後開始計時。
2、工作原理
本課題難點在於鍵盤的指令輸入,由於每個按鍵都具有相應的一種功能,程式中有較多的迴圈結構用以判斷按鍵是否按下,以及判斷按鍵是否抬起,以及lcd顯示器的初始化。
3、參考電路
硬體設計電路圖如下圖所示:
硬體電路原理圖
微控制器原理及應用課程設計任務書
題目:電子時鐘(lcd顯示)
1、設計要求以at89c51微控制器為核心的時鐘,在lcd顯示器上顯示當前的時間:
使用字元型lcd顯示器顯示當前時間。顯示格式為「時時:分分:秒秒」。
用3個功能鍵操作來設定當前時間。功能鍵k1~k4功能下。
k1—設定小時。
k2—設定分鐘。
k3—設定秒。
程式執行後工作指示燈led發光,表示程式開始執行,lcd顯示「23:59:00」,然後開始計時。
2、工作原理
本課題難點在於鍵盤的指令輸入,由於每個按鍵都具有相應的一種功能,程式中有較多的迴圈結構用以判斷按鍵是否按下,以及判斷按鍵是否抬起,以及lcd顯示器的初始化。
3、參考電路
硬體設計電路圖如下圖所示:
硬體電路原理圖
基於at89c51微控制器的電子時鐘設計報告
一、設計要求與目的
1)設計要求以at89c51微控制器為核心的時鐘,在lcd顯示器上顯示當前的時間。
2)、使用字元型lcd顯示器顯示當前時間。顯示格式為「時時:分分:秒秒」。
3)、用3個功能鍵操作來設定當前時間。
4)、熟悉掌握proteus編成軟體以及keil軟體的使用
二、本設計原理
本設計以at89c51微控制器為核心,通過時鐘程式的編寫,並在lcd顯示器上顯示出來。該程式設計的核心在於定時器中斷及迴圈往復判斷是否有按鍵操作,並對每個按鍵的操作在lcd顯示器上作出相應的反應。由於lcd顯示器每八位對應乙個字元,故把秒、分、時的個位和十位分開表示。
該課題中有三個控制開關km1、km2、km3分別控制時、分、秒的調整,時間按遞增的方式調整,每點一次按鈕則相應的時間個位加以,且時間調整不干擾其他為調整時間的顯示。
三、硬體設計原理(電路)
硬體電路原理圖
四、軟體設計(流程圖)
五、**結果與結論
5.**結果與結論
初始執行顯示效果如下 :
用按鍵調節時分秒從而設定時間:
結論:採用12mhz晶振採用方式1定時,選取50ms採用20次中斷達到一秒,採用查表方式控制lcd顯示。根據**結果可知該程式設計及硬體電路符合要求。
附錄程式設計如下:
km1 bit p1.0
km2 bit p1.1
km3 bit p1.2
rs equ p2.0
rw equ p2.1
e equ p2.2
in_0 equ p0
secl equ 40h ;秒低位
sech equ 41h ;秒高位
mh1 equ 42h ;冒號
minl equ 43h ;分低位
minh equ 44h ;分高位
mh2 equ 45h ;冒號
hourl equ 46h ;時低位
hourh equ 47h ;時高位
org 0000h
ajmp main
org 000bh
ajmp intt_0
main: mov r2,#20
acall init_lcd初始化液晶
mov r5,#00h
mov in_0,#84h寫入顯示起始位址(第一行第五個位置)
acall enable
mov th0,#3ch50ms
mov tl0,#0b0h
mov tmod,#01h
acall sjcz
setb ea
setb et0
setb tr0
lcall a1
start1: lcall wdata1
lcall wdata2
ajmp start1
;*******控制鍵
a1: lcall wdata2
lcall wdata1
jnb km1,s1
jnb km2,s2
jnb km3,s3
ajmp a1
;*****調整小時*****
s1: lcall delayl
jb km1,a1
mov a,hourh
cjne a,#02h,st1
mov a,hourl
cjne a,#03h,st2
mov hourh,#00h
mov hourl,#00h
ajmp j1
st1: mov a,hourl
cjne a,#09h,st2
inc hourh
mov hourl,#00h
ajmp j1
st2: inc hourl
ajmp j1
j1: jb km1,s1
lcall wdata1
ajmp j1
;*****調整分鐘*****
s2: lcall delayl
jb km2,a1
mov a,minh
cjne a,#05h,st3
mov a,minl
cjne a,#09h,st4
mov minh,#00h
mov minl,#00h
ajmp j2
st3: mov a,minl
cjne a,#09h,st4
inc minh
mov minl,#00h
ajmp j2
st4: inc minl
ajmp j2
j2: jb km2,s2
lcall wdata1
ajmp j2
;*****調整秒*****
s3: lcall delayl
jb km3,a1
mov a,sech
cjne a,#05h,st5
mov a,secl
cjne a,#09h,st6
mov sech,#00h
mov secl,#00h
ajmp j3
st5: mov a,secl
cjne a,#09h,st6
inc sech
mov secl,#00h
ajmp j3
st6: inc secl
ajmp j3
j3: jb km3,s3
lcall wdata1
ajmp j3
;****設定顯示初值
sjcz: mov 40h,#0顯示初值是 23:59:00
mov 41h,#0
mov 42h,#10
mov 43h,#9
mov 44h,#5
mov 45h,#10
mov 46h,#3
mov 47h,#2
retintt_0: push psw
push acct0定時器中斷
mov tl0,#0b0h送定時初值
mov th0,#3ch
djnz r2,tt
mov r2,#20
inc secl秒記數,到60s就清0
mov a,secl
cjne a,#0ah,tt
inc sech
mov secl,#00h
mov a,sech
cjne a,#06h,tt
mov sech,#00h
inc minl分記數,到60分請0
mov a,minl
cjne a,#0ah,tt
mov minl,#00h
inc minh
mov a,minh
cjne a,#06h,tt
mov minh,#00h
inc hourl時記數,到24時清0
mov a,hourl
cjne a,#04h,tt2
mov a,hourh
cjne a,#02h,tt1
mov hourl,#00h
mov hourh,#00h
ajmp tt
tt2: cjne a,#0ah,tt
mov hourl ,#00h
inc hourh
基於微控制器的電子時鐘設計
ds1302時鐘晶元具有通電自動計時的功能。向ds1302中寫入乙個初值,如寫入2011 05 01 00 00 00 星期日,在通電時,時間就會自動走 過60秒分加1 過60分時加1 過24小時天加1,星期日變成星期一 一周有7天,晶元內的周資訊每7天一迴圈 晶元能夠自動判斷每月有多少天,5月有3...
基於微控制器的電子時鐘課程設計報告
目錄一 引言 二 設計課題 三 系統總體方案 四 系統硬體設計 1.硬體電路原理圖 2.元件清單 五 系統軟體設計 1.軟體流程圖 2.程式清單 六 系統實物圖 7 課程設計體會 八 參考文獻及 九 附錄 一 引言 微控制器因將其主要組成部分整合在乙個晶元上而得名,就是把 處理器 隨機儲存器 唯讀儲...
電子裝置設計報告 基於微控制器
電子裝置設計報告 學號姓名 班級目錄 摘要1第一章緒論1 1.1 課題的意義和目的1 1.2 課題的功能概述1 1.3 該設計的基本設計思路2 第二章主要器件的介紹3 2.1 熱釋紅外感測器的原理和使用3 2.2 biss0001晶元介紹和典型電路4 2.3 at89c51微控制器簡介9 2.4 菲...