




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
任務(wù)1跑馬燈任務(wù)2花樣燈
任務(wù)3
鍵控彩燈
任務(wù)4數(shù)顯搶答器任務(wù)5簡易數(shù)字秒表任務(wù)1跑馬燈
1.了解跑馬燈的工作過程及控制原理。2.掌握單片機I/O口控制外部負(fù)載的合理設(shè)計方法。3.掌握移位和延時程序的設(shè)計方法。4.能夠設(shè)計并制作跑馬燈控制系統(tǒng)。本任務(wù)選用單片機P0口控制8只發(fā)光二極管(D1~D8),使D1~D8由低位到高位依次點亮,時間間隔為1s,如此往復(fù)循環(huán),完成跑馬燈控制系統(tǒng)的設(shè)計與制作。一、延時程序軟件延時程序的主要設(shè)計思想是利用循環(huán)體為空操作或無循環(huán)體的循環(huán)程序,只占用CPU的時間,而不進(jìn)行任何實質(zhì)性操作,來實現(xiàn)延時功能。在51系列單片機中通常用寄存器Rn減1不為0則轉(zhuǎn)移指令(DJNZRn,rel)來實現(xiàn)循環(huán)變量改變及循環(huán)結(jié)束控制。1.單重循環(huán)程序MOVR1,#250;K1:NOP;NOP;DJNZR1,K1;2.兩重循環(huán)程序要實現(xiàn)較長時間的延時,需要多重循環(huán)3.三重循環(huán)程序延時1s的延時程序二、延時時間計算計算延時時間有兩種方法:精確計算法和估算法。以1s延時程序的延時時間為例:1.精確計算法第一重循環(huán)一次的機器周期數(shù):1+1+2=4第一重循環(huán)總的機器周期數(shù):4×250=1000第二重循環(huán)一次的機器周期數(shù):1+1000+2=1003第二重循環(huán)總的機器周期數(shù):1003×250=250750第三重循環(huán)一次的機器周期數(shù):1+250750+2=250753第三重循環(huán)總的機器周期數(shù):250753×4=1003012總的機器周期數(shù):1+1003012=1003013延時時間:1003013×1μs=1003013μs=1.003013s
2.估算法估算延時時間=估算機器周期數(shù)×機器周期估算機器周期數(shù)=第一重循環(huán)一次的機器周期×第一重循環(huán)次數(shù)×第二重循環(huán)次數(shù)×第三重循環(huán)次數(shù)即估算延時時間=4×250×250×4×1μs=1000000μs=1s
本延時程序的延時時間只是近似1s,而非標(biāo)準(zhǔn)的1s時間,因此只能用于對延時時間要求不是很準(zhǔn)確的場合,若要實現(xiàn)標(biāo)準(zhǔn)的1s延時,可采用定時器定時法來完成。三、子程序的調(diào)用使用子程序的過程稱為子程序的調(diào)用,由子程序調(diào)用指令實現(xiàn),如ACALL或LCALL。子程序執(zhí)行完后返回到原來程序的過程稱為子程序返回,由子程序返回指令實現(xiàn),如RET或RETI。能供調(diào)用的子程序必須具有以下兩個特點:1.子程序的第一條指令地址稱為子程序首地址或入口地址,必須用標(biāo)號標(biāo)明,以便調(diào)用指令正確調(diào)用。2.子程序末尾用RET返回指令結(jié)束,以便正確返回主程序或調(diào)用子程序繼續(xù)執(zhí)行。[例]……DELAY:MOVR6,#4K3:MOVR4,#250K2:MOVR5,#250K1:NOPNOPDJNZR5,K1DJNZR4,K2DJNZR6,K3RET……一、電路設(shè)計單片機對LED控制的連接電路有兩種方式,如下圖所示。相應(yīng)地,硬件上的不同連接方式也決定了軟件上的不同控制邏輯,見下表:端口控制邏輯電平端口LED狀態(tài)邏輯電平P0.0亮0滅1P2.0亮1滅0在Proteus中根據(jù)上述分析繪制跑馬燈電路原理圖:AT89S51的I/O口在外接負(fù)載時,要注意其負(fù)載能力。P0每位可驅(qū)動8個TTL負(fù)載,每一位最大的吸收電流為26mA,P1~P3口每位可驅(qū)動4個TTL負(fù)載,每一位最大的吸收電流為15mA。輸出端口說明P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0D8D7D6D5D4D3D2D111111110D1亮11111101D2亮11111011D3亮11110111D4亮11101111D5亮11011111D6亮10111111D7亮01111111D8亮二、程序設(shè)計亮燈情況示意圖:跑馬燈的程序設(shè)計流程圖:2.程序編譯與仿真1.根據(jù)上述設(shè)計思路編寫程序并輸入WAVE軟件。跑馬燈.ASM三、制作硬件電路并調(diào)試步驟說明示范圖片1.焊接前材料準(zhǔn)備參照元器件清單表步驟說明示范圖片2.硬件焊接電路板正面電路板背面步驟說明示范圖片3.程序燒入、調(diào)試并運行跑馬燈運行圖單擊此處返回目錄任務(wù)2花樣燈
1.了解花樣燈的工作過程。2.掌握查表程序的設(shè)計方法。3.能夠設(shè)計并制作花樣燈控制系統(tǒng)?;訜羰前磿r間依次讓燈呈現(xiàn)出規(guī)定的花樣,相對跑馬燈來說,控制的顯示數(shù)據(jù)之間沒有規(guī)律,顯示上具有多變性和復(fù)雜性,如下圖所示。本任務(wù)使用單片機的P2口控制8只LED循環(huán)顯示,實現(xiàn)下圖所示四種花樣的顯示?;覦8D7D6D5D4D3D2D1數(shù)據(jù)編碼一☆☆☆☆☆☆☆☆0FFH★☆☆☆☆☆☆★7EH★★☆☆☆☆★★3CH★★★☆☆★★★18H★★★★★★★★00H★★★☆☆★★★18H★★☆☆☆☆★★3CH★☆☆☆☆☆☆★7EH注:★燈亮☆燈滅花樣D8D7D6D5D4D3D2D1數(shù)據(jù)編碼二☆☆☆☆☆☆☆☆0FFH★☆☆☆☆☆☆☆7FH★★☆☆☆☆☆☆3FH★★★☆☆☆☆☆1FH★★★★☆☆☆☆0FH★★★★★☆☆☆07H★★★★★★☆☆03H★★★★★★★☆01H★★★★★★★★00H花樣D8D7D6D5D4D3D2D1數(shù)據(jù)編碼三☆☆☆☆☆☆☆☆0FFH☆★☆★☆★☆★0AAH★☆★☆★☆★☆55H☆★☆★☆★☆★0AAH★☆★☆★☆★☆55H四☆☆☆☆☆☆☆☆0FFH☆☆☆☆★★★★0F0H★★★★☆☆☆☆0FH☆☆☆☆★★★★0F0H★★★★☆☆☆☆0FH☆☆☆☆☆☆☆☆0FFH一、相關(guān)指令指令格式如下:標(biāo)號:DB字節(jié)常數(shù)或ASCII碼字符功能:從指定的地址單元開始定義若干個字節(jié)的數(shù)值或ASCII碼字符,各數(shù)據(jù)之間用逗號分隔,常用于定義數(shù)據(jù)常數(shù)表。在表示ASCII碼字符時需要在字符上加單引號,標(biāo)號表示數(shù)據(jù)表的首地址。
1.定義字節(jié)偽指令DB[例]
從0100H單元開始定義一個10個字節(jié)的數(shù)據(jù)表:ORG0100HTAB:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHDB定義的數(shù)據(jù)表一行可以寫多個數(shù)據(jù),當(dāng)一行寫不完要分行時,在下一行也必須用DB偽指令開頭。2.以寄存器間接地址為目的操作數(shù)的數(shù)據(jù)傳送指令MOV @Ri,A;(Ri)
AMOV @Ri,#data;(Ri)
dataMOV @Ri,direct;(Ri)(direct)功能:將源操作數(shù)所指定的內(nèi)容送入以R0或R1為地址指針的內(nèi)部數(shù)據(jù)存儲器的存儲單元中。源操作數(shù)有A、立即尋址和直接尋址3種尋址方式。注意:沒有MOV@Ri,Rn和MOV@Ri1,@Ri2指令。3.16位數(shù)據(jù)傳送指令MOV DPTR,#data16
;DPTR
data16功能:將16位立即數(shù)送入數(shù)據(jù)指針DPTR。4.程序存儲器傳送指令MOVCA,@A+PC
;PC
PC+1,A
(A+PC)MOVCA,@A+DPTR;A
(A+DPTR)功能:主要用于查表,其數(shù)據(jù)表格放在程序存儲器中。第1條指令以PC作為基址寄存器,第2條指令以DPTR作為基址寄存器。兩條指令中A均作為變址寄存器,通常A的值為要取得數(shù)據(jù)的索引值(即要取得數(shù)據(jù)在數(shù)據(jù)表中的序號)。將索引值送入累加器A一般有以下3種情況:(1)當(dāng)要查數(shù)據(jù)的值等于索引值時,直接將要查數(shù)據(jù)送入A中。(2)當(dāng)要查數(shù)據(jù)的值與其索引值不相等時,應(yīng)將要查數(shù)據(jù)變換為索引值再送入A中。(3)當(dāng)僅僅是為了取出存于數(shù)據(jù)表中的數(shù)據(jù)時,直接將其索引值送入A中即可。在MOVCA,@A+PC指令中,數(shù)據(jù)表只能存放在該指令之后的256字節(jié)范圍內(nèi)。而MOVCA,@A+DPTR指令中,數(shù)據(jù)表可以存放在64K程序存儲器的任何位置,并且數(shù)據(jù)表的長度可超過256個字節(jié)。5.比較轉(zhuǎn)移指令CJNEA,#data,rel
;若A
data,則轉(zhuǎn)移;若A=data,順序執(zhí)行下一條指令
;若A≥data,C清0
;若A<data,C置1CJNEA,direct,rel
;若A(direct),則轉(zhuǎn)移;若A=(direct),順序執(zhí)行下一條指令;若A≥(direct),C清0;若A<(direct),C置1CJNERn,#data,rel;若Rndata,則轉(zhuǎn)移 ;若Rn=data,順序執(zhí)行下一條指令 ;若Rn≥data,C清0;若Rn<data,C置1CJNE@Ri,#data,rel;若(Ri)data,則轉(zhuǎn)移 ;若(Ri)=data,順序執(zhí)行下一條指令 ;若(Ri)≥data,C清0;若(Ri)<data,C置1功能:比較兩個操作數(shù)的大小,如果它們的值不相等,則轉(zhuǎn)移到目標(biāo)地址。如果第一個操作數(shù)小于第二個操作數(shù),則進(jìn)位標(biāo)志CY置“1”,否則清“0”。指令執(zhí)行不影響任何一個操作數(shù)。
二、查表法[例]下面查表程序中有一BCD碼對應(yīng)的七段碼數(shù)據(jù)表,一個BCD碼存于R0中,運行查表程序,取出其對應(yīng)的七段碼并存于R1中,試分析程序的執(zhí)行過程。地址源程序
ORG0000H0000H:MOVA,R00001H:MOVDPTR,#TAB0004H:MOVCA,@A+DPTR0005H:MOVR1,A0006H:SJMP$0008H:TAB:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEND分析:用MOVCA,@A+DPTR指令查表的3個步驟為:③執(zhí)行查表指令取得所需數(shù)據(jù)。②將數(shù)據(jù)表首地址送入DPTR中,該數(shù)據(jù)表首地址為0008H。①將要查數(shù)據(jù)變換為其對應(yīng)的索引值送入A中。在C51程序設(shè)計中,DPTR和PC均為基址寄存器,指示表格首地址。但兩者的區(qū)別是:選用DPTR作表首地址指針,表域可設(shè)置在程序存儲器64KB范圍內(nèi)的任何區(qū)域;采用PC作表首地址指針,表域必須緊跟在該查表指令之后,這使表域設(shè)置受到限制。因此,一般只用于單表格,且編程較難,但可節(jié)省存儲空間。一、電路設(shè)計
注意:在實際應(yīng)用電路中,若接節(jié)日彩燈或廣告霓虹燈,一般還需外加隔離電路(光電耦合器)和驅(qū)動電路(如晶閘管或繼電器等)?;訜綦娐吩韴D二、程序設(shè)計花樣燈程序設(shè)計流程圖2.程序編譯與仿真1.根據(jù)上述設(shè)計思路編寫程序并輸入WAVE軟件?;訜?ASM三、制作硬件電路并調(diào)試步驟說明示范圖片1.焊接前材料準(zhǔn)備參照元器件清單表步驟說明示范圖片2.硬件焊接電路板正面電路板背面步驟說明示范圖片3.程序燒入、調(diào)試并運行花樣燈運行圖單擊此處返回目錄任務(wù)3鍵控彩燈
1.了解按鍵的特性及其與單片機端口的連接方法。2.掌握獨立式按鍵掃描及軟件消抖的編程原理。3.能夠設(shè)計并制作鍵控彩燈控制系統(tǒng)。本任務(wù)在單片機P0口連接8只彩色LED,按照綠、黃、紅順序依次排開。使用三個按鍵,分別連接在單片機的P2.0、P2.1和P2.2口,實現(xiàn)下表所述的功能。按鍵編號連接端口按鍵功能說明K1P2.0啟動按鍵,發(fā)光二極管D1點亮K2P2.1左移按鍵,彩燈右移一位點亮K3P2.2右移按鍵,彩燈左移一位點亮一、鍵盤及其接口矩陣式鍵盤獨立式鍵盤獨立式鍵盤的各個按鍵之間相互獨立,每個按鍵獨立地與一根數(shù)據(jù)輸入線(單片機并行I/O口或其他接口芯片的并行接口)相連。常見的接口電路如下圖所示。獨立式鍵盤配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根接口線,在按鍵數(shù)量較多時,將占用較多接口線,因此,獨立式按鍵常用于按鍵數(shù)量不多的場合。二、按鍵的機械特性為了保證每按下一次按鍵,單片機僅作一次鍵輸入處理,就需要消除因按鍵抖動現(xiàn)象而引起的錯誤動作,常用的去除抖動的方法有硬件消抖和軟件消抖兩種。在實際應(yīng)用中,當(dāng)所接按鍵較多時,為了減少外圍電路,通常利用軟件延時的方法來消除抖動。三、硬件消抖電路一、電路設(shè)計鍵控彩燈電路原理圖二、程序設(shè)計鍵控彩燈程序設(shè)計流程圖軟件消抖流程圖2.程序編譯與仿真1.根據(jù)上述設(shè)計思路編寫程序并輸入WAVE軟件。鍵控彩燈.ASM步驟說明示范圖片1.焊接前材料準(zhǔn)備參照元器件清單表三、制作硬件電路并調(diào)試步驟說明示范圖片2.硬件焊接電路板正面電路板背面步驟說明示范圖片3.程序燒入、調(diào)試并運行鍵控彩燈左移運行圖單擊此處返回目錄任務(wù)4數(shù)顯搶答器1.了解數(shù)碼管的結(jié)構(gòu)及顯示原理。2.掌握對獨立式鍵盤掃描、處理的編程方法。3.掌握單片機控制LED數(shù)碼管靜態(tài)顯示方法。4.能夠設(shè)計并制作數(shù)顯搶答器控制系統(tǒng)。搶答器是一種廣泛應(yīng)用于各種競賽活動、搶答現(xiàn)場中的重要設(shè)備,如下圖所示,它能迅速、準(zhǔn)確、公正、客觀地分辨出最先獲得發(fā)言權(quán)的選手,保證比賽的順利有效進(jìn)行,同時增加比賽的刺激性和娛樂性。
1.每個參賽選手控制一個按鈕,按動按鍵發(fā)出搶答信號。2.競賽主持人控制兩個功能按鈕,一個為搶答開始按鈕,另一個為搶答結(jié)束后的復(fù)位按鈕。3.競賽開始后,先由主持人按下?lián)尨痖_始按鈕,8位參賽選手通過按下各自的搶答按鈕進(jìn)行搶答。哪位選手最先按下?lián)尨鸢粹o,數(shù)碼管就顯示其對應(yīng)的號碼,表示該名選手搶答成功并且鎖定,其他參賽選手再搶答無效。4.競賽結(jié)束時,再由主持人按下復(fù)位按鈕,本輪搶答結(jié)束,為下一輪搶答做準(zhǔn)備。本任務(wù)主要完成一個簡易的8路搶答器,通過獨立鍵盤輸入搶答信號,一位數(shù)碼管顯示出搶答者的號碼,具體控制要求:一、LED數(shù)碼管的結(jié)構(gòu)
數(shù)碼管是由幾個發(fā)光二極管組合在一起而形成的顯示裝置,組成數(shù)碼管的每一個發(fā)光二極管稱為數(shù)碼管的“段”。以一位8段LED數(shù)碼管為例,共有7段組成一個“日”字形,分別定義為數(shù)碼管的a、b、c、d、e、f、g段,另外再加上一個用于小數(shù)顯示的小數(shù)點dp(或h)段。數(shù)碼管根據(jù)不同碼段之間的組合,來顯示數(shù)字0~9或簡單的字符信息。由于組成數(shù)碼管的發(fā)光二極管自身具有極性,所以組成的數(shù)碼管也有共陰極和共陽極之分。共陽極共陰極二、單片機與數(shù)碼管之間的連接共陽數(shù)碼管共陰數(shù)碼管當(dāng)使用單片機的I/O口控制一位顯示輸出時,最好選擇共陽極數(shù)碼管,這樣電路采用灌電流方式,數(shù)碼管直接受控于I/O端口,否則,當(dāng)連接的是共陰極數(shù)碼管時,需在I/O口上添加上拉電阻來驅(qū)動數(shù)碼管。三、數(shù)碼管字符顯示原理a)共陰數(shù)碼管顯示以單片機I/O口輸出顯示“5”的字形數(shù)據(jù)為例:b)共陽數(shù)碼管顯示四、數(shù)碼管靜態(tài)顯示方式靜態(tài)顯示即當(dāng)數(shù)碼管顯示某一字符時,相應(yīng)碼段的發(fā)光二極管恒定的導(dǎo)通或截止,只要通過改變數(shù)碼管各碼段引腳的高低電平,就能達(dá)到顯示不同字符的目的。優(yōu)點:數(shù)碼管顯示穩(wěn)定無閃爍,亮度高,軟件控制比較容易;缺點:占用單片機較多的I/O口資源,且硬件接線復(fù)雜。五、一位數(shù)碼管循環(huán)顯示“0~9”1.電路原理圖2.“0~9循環(huán)顯示”程序0~9循環(huán)顯示.ASM一、電路設(shè)計8路數(shù)顯搶答器電路原理圖二、程序設(shè)計8路數(shù)顯搶答器程序設(shè)計流程圖2.程序編譯與仿真1.根據(jù)上述設(shè)計思路編寫程序并輸入WAVE軟件。8路數(shù)顯搶答器.ASM三、制作硬件電路并調(diào)試步驟說明示范圖片1.焊接前材料準(zhǔn)備參照元器件清單表步驟說明示范圖片2.硬件焊接電路板元件布局圖電路板背面DIP底座步驟說明示范圖片3.程序燒入、調(diào)試并運行2號搶答成功運行圖單擊此處返回目錄任務(wù)5簡易數(shù)字秒表1.了解秒表的工作過程。2.掌握單片機控制LED數(shù)碼管動態(tài)顯示字符方法。3.能夠設(shè)計并制作簡易數(shù)字秒表。本任務(wù)利用軟件延時計數(shù)法,通過四位一體數(shù)碼管輸出顯示,實現(xiàn)簡易秒表的計時功能,具體控制要求如下:1.單片機的P0口控制四位一體LED共陰數(shù)碼管的各碼段端;2.單片機的P2.0~P2.3引腳外接驅(qū)動電路控制數(shù)碼管的四個位選端;3.四位數(shù)碼管分別用來顯示一位分計時和兩位秒計時,中間用“—”隔開。動態(tài)顯示是將所有數(shù)碼管的8個段碼端的同名端并聯(lián)在一起,由一個8位的輸出口控制,每位數(shù)碼管的公共端(稱位線)由各自獨立的輸出口線控制,如圖所示。它解決了數(shù)碼管靜態(tài)顯示時占用較多的I/O口資源的問題。
一、動態(tài)顯示工作原理在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間一般要控制在1~2ms,這樣由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,顯示的效果和靜態(tài)顯示一樣。但由于CPU需要不斷掃描刷新數(shù)據(jù),因此會占用CPU較多的時間。采用動態(tài)顯示方式時,為了保證數(shù)碼管的亮度,一般需在數(shù)碼管的段輸出或位輸出端加驅(qū)動電路。如使用三極管9012、74HC573或74LS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)綜合體儲藏室所有權(quán)轉(zhuǎn)移協(xié)議
- 民營企業(yè)廠房租賃安全生產(chǎn)協(xié)議范本
- 涉及租賃房屋周邊商業(yè)配套的退房協(xié)議
- 房屋委托租房協(xié)議書范本
- 農(nóng)產(chǎn)品集中采購合作協(xié)議
- 無人振搗機軌跡規(guī)劃
- 下肢深靜脈血栓治療與護(hù)理
- 2024年高考語文復(fù)習(xí):宮苑類題材古代詩歌閱讀練習(xí)題(含答案解析)
- 制造客戶需求培訓(xùn)
- 四有好老師教師培訓(xùn)講座
- 《統(tǒng)計學(xué)》 課件 廖穎文 1. 緒 論
- QCC品管圈活動表格匯編
- 幼兒園零星改造工程施工完整方案
- 城市軌道交通服務(wù)禮儀PPT完整全套教學(xué)課件
- 第四講 堅持以人民為中心PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 《世界遺產(chǎn)背景下的影響評估指南和工具包》
- DolphinScheduler體系架構(gòu)突破
- 探究食育課程對小班幼兒良好飲食習(xí)慣形成的作用 論文
- 電力安全規(guī)程(變電)
- 南通鋼筋加工裝備項目可行性研究報告
評論
0/150
提交評論