下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
單片機流水燈設計方法元件清單:名稱型號數(shù)量電阻470歐8發(fā)光二極管(普通白發(fā)紅)8電阻10K1電容10UF1晶振12MHZ1電容30PF2導線單片機(配底座)AT89S511獨立孔萬用板排針(也可選用兩針排線(配底座))流水燈原理圖流水燈程序從原理圖可以看出,如果我們想讓接在P1.0口的LED1亮起來,那么我們只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖骄涂梢?;同理,接在P1.1~P1.7口的其他7個LED的點亮和熄滅方法方法同LED1。因此,要實現(xiàn)流水燈功能,我們只要將LED2~LED8依次點亮、熄滅,依始類推,8只LED變會一亮一暗的做流水燈了。
實現(xiàn)8個LED流水燈程序用中文表示為:(P1.0低)、(延時)、(P1.0高、P1.1低)、(延時)、(P1.1高、P1.2低)、(延時)、(P1.2高、P1.3低)、(延時)、(P1.3高、P1.4低)、(延時)、(P1.4高、P1.5低)、(延時)、(P1.5高、P1.6低)、(延時)、(P1.6高、P1.7低)、(延時)、(P1.7高)、(返回到開始)、(程序結束)。我們在程序一開始就給P1口送一個數(shù),這個數(shù)本身就讓P1.0先低,其他位為高,然后讓這個數(shù)據(jù)向高位移動不就實現(xiàn)“流水”效果啦?的確如此!8051指令中沒有讓P1數(shù)據(jù)移動的指令,但有對累加器ACC中數(shù)據(jù)左移或右移的指令,ACC在指令中常寫為A,累加器A數(shù)據(jù)左移指令為"RLA",累加器數(shù)據(jù)右移指令為"RRA",累加器在數(shù)據(jù)傳輸和數(shù)據(jù)處理過程中作用十分重要,累加器ACC為8位。他可與片內(nèi)所有單字節(jié)寄存器交換數(shù)據(jù),實際上P1和其他端口在單片機中也是一個寄存器。這樣我們可以將需移動的數(shù)據(jù)先放到ACC中,讓其移動,然后將ACC移動后的數(shù)據(jù)再轉(zhuǎn)送到P1口,這樣同樣可以實現(xiàn)“流水”效果。ORG00HSTART:MOVACC,#0FEH;將數(shù)11111110賦給累加器ACC,H代表十六進制MOVP1,ACC;將ACC上的11111110給P1此時.P1.0等亮,其他燈暗MOVR0,#8;將數(shù)8賦給寄存器R0LOOP:RLA;將ACC中的數(shù)據(jù)左移一位(移動一次時11111110-->11111101)MOVP1,A;把ACC移動過的數(shù)據(jù)送p1口顯示ACALLDELAY;調(diào)用延時子程序DJNZR0,LOOP;沒有移動夠8次繼續(xù)移動(將寄存器上的數(shù)據(jù)減1不為0時執(zhí)行逗號后面LOOP,為0時執(zhí)行下條指令)AJMPSTART;移動完7次后跳到開始重來,以達到循環(huán)流動效果DELAY:;-----延時子程序-----MOVR1,#248;延時一段時間D1:MOVR2,#248DJNZR2,$DJNZR1,D1RET;子程序返回END;程序結束在上面主程序中用到了以下幾條匯編語言指令:MOV、ACALL、RL、DJNZ,AJMP、RET、END。MOV:數(shù)據(jù)傳送指令ACALL:是子程序調(diào)用指令,程序中調(diào)用了DELAY延時子程序
RL:數(shù)據(jù)左移指令為
DJNZ;減1條件轉(zhuǎn)移指令,這是把減1與條件轉(zhuǎn)移兩種功能結合在一起的指令AJMP:是無條件跳轉(zhuǎn)指令,意思是:跳轉(zhuǎn)到指定的標號處繼續(xù)運行
RET:子程序返回指令END:是程序結束的偽指令,意思是告訴編譯器,程序到此結束。偽指令只告訴編譯器此程序到此有何要求或條件,它不參與和影響程序的執(zhí)行。
在上面源程序中"ACALLDELAY"指令的作用是調(diào)用DELAY延時子程序。為什么要使用這指令呢?如果不用該指令能夠?qū)崿F(xiàn)"流水"效果嗎?答案是肯定的,一定要用該指令才能看到我們需要的"流水"效果。如果不用該指令,則由于8個LED發(fā)光與熄滅的時間都很短,我們?nèi)庋蹮o法看到LED的熄滅與點亮,憑我們?nèi)庋劭吹降氖荓ED1~LED8都同時亮(半亮),而看不到“流水”效果的!
產(chǎn)生這種現(xiàn)象主要是因為單片機執(zhí)行每條指令的時間很短,我們知道實驗板上單片機的時鐘高達12MHz,在這個時鐘信號(即晶體振蕩信號)下,一個“機器周期”僅大約1(微秒)。本程序中我們用到的指令不是單周期就是雙周期,也就是說,執(zhí)行一句用時僅1(微秒)或者2(微秒),也就是點亮和熄滅時間都為幾微秒級別,在如此高速的流水速度下,8個LED發(fā)光與熄滅的時間都很短,當然憑我們的肉眼看不到“流水”效果了!而延時程序利用多次循環(huán)執(zhí)行指令來達到目的。由于DJNZ為雙周期指令執(zhí)行一次2微秒,上面的延時程序延時間為2*248*248=123008即0.123秒這里需要說明的是,按匯編語法要求,所編制的程序(下稱源程序)之格式和書寫要求必須依下列原則:
1、源程序必須為純文本格式文件,如用Windows“附件”中的“記事本”編寫的文本文件;
2、源程序的擴展名應是*.ASM;
3、一行只能寫一條語句,以回車作為本句的結束,每一語句行長度應少于80個字符(即40個漢字)。
4、每行的格式應為:標號:命令參數(shù);注釋。即一行由四部份組成,各部份的順序不能搞錯,依實際要求可以缺省其中的一部份或幾部份,甚至全部省去,即空白行。需要使用標號時標號后面必須有“:”(冒號),而命令語句和參數(shù)之間必須用空格分開,如果命令有多個參數(shù),則參數(shù)與參數(shù)之間必須用“,”(逗號)分開,需要注釋時注釋前必須用“;”(分號),“;”后面的語句可以寫任何字符,包括漢字用于解釋前面的匯編語句,它將不參與匯編,不生成代碼。由于匯編程序?qū)ξ覀冞€不直觀,所以在編寫源程序時,應當養(yǎng)成多寫注釋的習慣,這樣有助于今后源程序的閱讀和維護。
標號是標志程序中某一行的符號名,編譯后標號的數(shù)值就是標號所在行代碼的地址。在宏匯編ASM51中標號的長度不受限制,但標號中不能包含‘:'或其它的一些特殊符號,也不能用漢字,可以用數(shù)字作標號,但必須用字母開頭。當標號作參數(shù)用(如標號作轉(zhuǎn)移地址),在命令后面出現(xiàn)時,必須舍去‘:'(如上面程序中的AJMPSTART中的START是不能再有:)。每行只能有一個標號,一個標號只能用在一處,如果有兩行用了同一個標號,則匯編時就會出錯。由于標號的長度沒有限制,可以用有意義的英文或漢語拼音來說明行,使源程序讀起來更方便。在源程序中的字母不區(qū)分大小寫,也就是說start和START是一樣的,請不要用大小寫方式去區(qū)分不同的標號。
知道了匯編語言程序的規(guī)則,就動手編輯源程序。在記事本上寫上上面的程序,啟動偉福仿真機模擬器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 適合小學生的營養(yǎng)食譜
- 健康飲食與生活習慣對疾病早期發(fā)現(xiàn)的影響
- AI時代下的創(chuàng)新思維訓練新模式
- 創(chuàng)新科技引領設計院的未來發(fā)展之路
- 兒童文學作品中的人物形象與朗讀技巧
- 學憲法講憲法活動總結
- 體育課程設計與實施中的挑戰(zhàn)與對策
- 健康醫(yī)療政策下的體育教育與思政教育協(xié)同發(fā)展
- 農(nóng)業(yè)物聯(lián)網(wǎng)技術在綠色發(fā)展中的應用
- 創(chuàng)新創(chuàng)業(yè)項目中的營銷策略與執(zhí)行
- 2024-2030年中國充血性心力衰竭(CHF)治療設備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 五年級道德與法治上冊說課稿《古代科技 耀我中華(第一課時) 》部編版
- 小學語文大單元設計論文
- Unit 6 教學教學設計 2024-2025學年人教版七年級英語上冊
- Visio商業(yè)圖表制作分析智慧樹知到期末考試答案章節(jié)答案2024年上海商學院
- 競爭性談判工作人員簽到表及競爭性談判方案
- 山東省淄博市張店區(qū)2023-2024學年九年級上學期1月期末化學試題(含解析)
- 廈門旅游課件
- 人工智能導論智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱工程大學
- 單位食堂供餐方案(2篇)
- 農(nóng)村《智慧養(yǎng)老》課件
評論
0/150
提交評論