哇哈哈!!
終於寫到題組三了,
文章中間的過程也因為整個教學下來越寫越簡單!!
所以還是建議依造順序看比較好,
不然會不解糖果跳過的步驟喔XD....
需下載的實習檔案
請各位自行下載
單晶片認證丙級懶人包
懶人包包含所有實習用檔案。
本篇需要
2009單晶片丙級能力認證術科測試練習參考資料.pdf
basic.txt
在這之前的實習
在觀看這一篇之前
必須先完成以下文章的實習
實體電路板焊接教學
完成電路板以後,開始修改程式碼,為基本要求:
主控板功能測試,基本功能要求部分。
至少要完成基本要求部分!!
才有辦法繼續下面文章喔~
題組三條件要求
原文如下...
當連接在P3.0 接腳上的指撥開關(S4-4 最右邊的開關)撥到ON 時,程式控制P2.0 至P2.4 接腳上的五顆LED(D13-D9)同時進行五次的亮滅燈控制(一亮一滅算一次),延遲間隔時間為0.6 秒,當完成五次亮滅控制後;接下來程式控制連接在P3.4 接腳上編號B1 的BUZZER蜂嗚器,以3KHz 頻率依照BUZZER 的發聲要求進行控制,結束發聲副程式後若P3.0 指撥狀態為OFF 時,則程式執行基本功能要求的動作(二個高亮度LED 輪流交替點亮),若指撥狀態仍然保持為ON 時則繼續進行分組功能要求的動作(上述要求的動作);聲音週期的控制建議採用Timer 方式來計時。
真是廢話很多=ˇ=+
重點在此
五次的亮滅燈控制(一亮一滅算一次)
間隔時間為0.6 秒
就兩個重點....
重點很簡單
就是6000週期...
原文如下
1.頻率:3.0KHz
2.動作描述:
連續發聲6000 個週期
>停止
這樣子就把條件說完了...
只是這次不是倒數累加還是甚麼小修改,
是整個全滅全亮....
所以改的地方有點多!!
但是跟著糖果走一定都能用理解地去學會,
不必死背。
LED 的輸出動作要求修改秘訣
一樣是時間先改.....
0.6秒為600毫秒~
所以20*30=600
把它改成#30即可!!
因為事一起滅亮
MOV A,#11111110B
就改成
MOV A,#11111111B
全部一樣就好了!!
因為要一樣啊XD
接下來他說要閃爍五次
還特別說明亮算一次,代表著妳不可以單純打五...
所以明一次滅一次,才是所謂的完整一次,
所以共10次
所以要多一行參數定義
MOV R7,#10
定義R7暫存為10
還記得
MOV A,#11111111B
對吧
A被指定為統一數值1
所以接下來要取補數使用CPL指令
CPL A
讓全部的LED發亮或熄滅....
就是A全部變成0,
如果再取一次補數又全部變成1,以此類推
所以上述的
MOV R7,#10
與
CPL A
剛好加在
LEDLP: MOV P2,A
的上下排~
變成了
MOV R7,#10
LEDLP: MOV P2,A
CPL A
因為LEDLP也是個關鍵XD
等等會講~
再來把最後三行刪除
因為我們已經不需要
JNB P2.4,BUZZER
因為全部一起明滅
馬上就會觸發到P2.4,BUZZER
呼叫蜂鳴器了....
我們也不需要順時針數還是逆時針數...
RL A
等於是多餘的...
刪除XD
JMP LEDLP
如果在原本這行
JNB P2.4,BUZZER
沒有觸發到2.4的LED呼叫蜂鳴器的話,
往下執行就會觸發到
JMP LEDLP
跳回LEDLP的標記
但是這些都是非必要....
所以把
JNB P2.4,BUZZER
RL A
JMP LEDLP
最後三行全部刪除~
在最後補上一行指令使R7逐次減一,
跳回LEDLP
所以就加上
DJNZ R7,LEDLP
直到R7為0
就不會跳回LEDLP而繼續往下面的BUZZER:執行去了!!
所以知道為何
MOV R7,#10
要在
LEDLP: MOV P2,A
之上了吧~
因為-1變成9次
跳回LEDLP:時
才不會執行到
MOV R7,#10
因為執行到這行數值又變成10....
這樣永遠扣不完啊XD
CPL A
要在LEDLP:之下一行也是為了要控制明亮補數,
如果再LEDLP:之上,跳回去根本執行不到啊XD
其實理解後,
根本不需要背,
位置也只是簡單邏輯推理XD
BUZZER 的發聲要求修改秘訣
這部份講到要爛梗了....
60*100=6000
所以改上60....
再來就是
500*2000=1000000
1000000/6000=166.6...
在此四扯五入到整數
變成167
所以4個-500,
改成-167,
就大功告成啦!!
接下來就是轉換Hex在燒入到單晶片,
成果如下面影片所示,
首先還是基本功能交替發亮XD....
打開開關以後
就是明滅五次,
然後觸發蜂鳴器發聲...
總算寫完一段落了,
接下來就是教大家如何轉換產生Hex檔....
在教大家燒錄...
三題組平行實習文章,
主控板功能測試,分組功能要求題組一。
主控板功能測試,分組功能要求題組二。
主控板功能測試,分組功能要求題組三。
如果以上三個題組都可以融會貫通
請各位繼續收看
將basic.txt轉換成Hex並燒入AT89S51。
將教各位如何實際編譯Hex檔案與燒錄!!
如果所有技術都融會貫通了!!
原始程式編譯,遙控機器人robot.txt編譯、燒錄與實際把玩!!
就可以開是練習編譯遙控機器人了!!XD
但建議以上實習都要融會貫通才看得懂喔!!
0 則迴響於“單晶片能力認證丙級 - 主控板功能測試,分組功能要求題組三。”