7月20日,最後一門考試考完之後,在家休息兩天,修好電腦,就開始了計畫好的微控制器深入學習計畫。
鑑於本人小白有一定的基礎,因此並沒有從入門開始,而是從這學期的微控制器課程設計入手。當時因為時間問題,計畫的功能並沒有全部實現,只是簡單的實現了課程設計的最基本的要求。因此,我打算先將已經完成的從彙編換成c語言,然後再完成自己之前設計的功能。
一、設計內容
設計乙個交通燈控制系統,一般情況下正常顯示(數碼管顯示和發光二極體指示),有急救車到達時,兩個方向四個交通訊號燈全紅,以便讓急救車通過。急救車通過時的交通燈顯示情況由外部開關控制。夜間道路無車輛時,四個方向的交通燈黃燈閃爍。畫出硬體連線電路圖,說明各個控制訊號的作用。
二、工作原理
通過延時和外中斷控制交通燈的亮滅和工作狀態
三、電路圖
四、源程式
org 0000h
ljmp main
;org 0003h
;ljmp allred
org 000bh
ljmp tosub
org 0200h
second data 30h
rgy data 37h
time data 38h
dtime1 data 39h
dtime2 data 3ah
dtime3 data 3bh
main:
mov tmod,#01h
mov th0,#3ch
mov tl0,#0b0h;賦上定時50ms的初值;
movr5,#25
movr4,#20
;mov p0,#0ffh
mov second,#25
setb ea
setb et0
setb tr0
mov p1,#10000100b
mov dptr,#tab
;allred:mov p1,#10010000;急救車模式,全紅
disp:
mov a,second
mov b,#10
div ab
mov20h,a
mov21h,b
mov a,20h
movc a,@a+dptr
mov p2,a ;送出十位數字
clr p0.3
lcall delay
setb p0.3
mov a,21h
movc a,@a+dptr
mov p2,a ;個位
clr p0.2
lcall delay
setb p0.2
jb p3.2,ni
sjmp alarm
ni: jb p3.7,disp
sjmp night
sjmp disp
alarm:
clr tr0
mov rgy,p1
mov p1,#10010000b;急救車模式,全紅
movr6,#0ffh
loop: lcall delay
djnz r6,loop
setb tr0
mov p1,rgy
sjmp disp
tosub:
mov th0,#3ch
mov tl0,#0b0h
djnz r4,rei
movr4,#20
djnz second,rei
cjne r5,#25,cwe
movr5,#5
mov second,#5
jnb p1.2,we
clr p1.4
setb p1.3
clr p1.2
reti
we:clr p1.7
setb p1.6
clr p1.5
reti
cwe:
movr5,#25
mov second,#25
jnb p1.3,we2
mov p1,#00110000b
reti
we2:
mov p1,#10000100b
reti
rei:
reti
night:
mov time,#4;夜間模式
loopl:
mov p1,#01001000b
lcall delay1
mov p1,#00h
lcall delay1
djnz time,loopl
ljmp main
delay:
movr7,#100
djnz r7,$
reti
delay1:
mov dtime1,#6
loop3:
mov dtime2,#200
loop1:
mov dtime3,#200
loop2: djnz dtime3,loop2
djnz dtime2,loop1
djnz dtime1,loop3
reti
tab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end
以上是我之前的完成的課程設計的電路圖和源程式
接下來是我之前設計的功能:
以上!下一期就上部分改造後的**。
51微控制器學習之路(2)
指令編碼格式及分類 一條指令表示計算機所完成的某種操作。它通常由操作碼和運算元兩部分組成。例如 mov a,r1 本系統有下列三種指令編碼格式 1 單位元組指令 49條 2 雙位元組指令 46條 3 三位元組指令 16條 例如 一位元組指令空操作nop的編碼格式為 兩位元組指令mov a,40h的編...
微控制器入門學習二 51微控制器學習一
本篇將對51微控制器一些概念進行一下記錄,本次針對 手把手教你學51微控制器 的前7章的硬體知識做乙個總結,軟體程式設計就不記錄了,可以看教程,裡面講解的很詳細。微控制器最小系統的三要素 電源 晶振 復位電路。最小系統是指用最少的原件組成微控制器可以工作的系統 下圖中晶振旁邊的20pf的電容的作用是...
微控制器學習
微控制器學習 宗旨 技術的學習是有限的,分享的精神是無限的。學習使用微控制器就是理解微控制器硬體結構,在彙編或c語言中學會各種功能的初始化設定,以及實現各種功能的程式編制。第一步 數字 i o的使用 使用按鈕輸入訊號,發光二極體顯示輸出電平,就可以學習引腳的數字i o功能,在按下某個按鈕後,某發光二...