




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、利用8255a芯片實現流水燈閃爍設計目錄摘要2第1章 利用8255a芯片實現流水燈閃爍設計的概述2第2章 三種方案的論述與最終方案的確定22.1 第一種方案的論述22.2 第二種方案的論述52.3 第三種方案(最終方案)的論證10第3章 測試結果及體會心得13第4章 致謝14第5章 參考文獻14附錄1 方案一 proteus仿真電路效果圖15附錄2 方案一 源程序代碼16附錄3 方案二 proteus仿真電路效果圖18附錄4 方案二 源程序代碼19附錄5 方案三(最終方案) proteus仿真電路效果圖20附錄6 方案三(最終方案) 源程序代碼21摘要:8255a是一種通用的可編程并行i/o接
2、口芯片(programmable peripherial interface),它是為inter系列微處理器設計的配套電路,也可用于其它微處理器系統中。通過對它進行編程,芯片可工作于不同的工作方式。此次課程設計的目的就是利用端口和8255協同工作來實現led顯示功能,對8255a芯片進行編程使流水燈左移或右移,通過延時程序使流水燈進行順序點亮。通過這次課程設計掌握8255a的功能特點、工作原理以及顯示器接口的基本原理與方法技術。關鍵詞:8086芯片 at89c51單片機 8255a芯片 led流水燈第1章 利用8255a芯片實現流水燈閃爍設計的概述流水燈在日常的生活中有著廣泛的應用,例如,許多
3、樓面上的彩燈廣告就是應用了流水燈設計。此次的課程設計的題目是利用了端口和8255a協同工作來實現led顯示功能,編寫程序,使用8255的a口和b口均為輸出,接8個或16個發光二極管,實現流水燈的顯示效果。在實驗中8255a的a和b兩個端口不能同時賦值,從而我們可以用通用寄存器bx對所需要賦值的數據進行存儲,因為bx可以分從高8位寄存器bh和低8位寄存器bl兩部分進行獨立的操作,我們用寄存器bh對a口進行賦值,用寄存器bl對b口進行賦值,通過延時一段時間再對bh和bl進行移位和輸出,實現了流水燈的效果。第2章 三種方案的論述與最終方案的確定2.1 第一種方案的論述第一種方案,我們使用了8086c
4、pu芯片與8255a芯片一起實現了流水燈閃爍的設計,同時還使用了地址鎖存器74ls373芯片。74ls373是常用的地址鎖存器芯片,它是一個是帶三態緩沖輸出的8d觸發器,在單片機系統中為了擴展外部存儲器,通常需要一塊74ls373芯片。在方案一中,當8086cpu的引腳ale(地址鎖存允許信號,輸出,高電平有效,用作地址鎖存器74ls373的鎖存控制信號)處于下降沿時將8086cpu輸出的地址信息進行鎖存,以定義8255a的工作方式。下面先對74ls373芯片進行簡介:1.地址鎖存器74ls373的內部電路與工作原理引腳功能圖注:管腳引出端功能符號:d0d7 數據輸入端 oe 三態允許控制端(
5、低電平有效)q0q7 輸出端 le 鎖存允許端74373 三態緩沖輸出的8d鎖存器(3s,鎖存允許輸入有回環特性),其輸出端 q0q7 可直接與總線相連,74ls373的le端直接與8086cpu的ale信號連接。1腳是三態允許控制端(oe),是低電平有效。當1腳是高電平時,不管輸入3(d0)、4(d1)、7(d2)、8(d3)、13(d4)、14(d5)、17(d6)、18(d7)如何,也不管11腳(le 鎖存允許端)如何,輸出2(q0)、5(q1)、6(q2)、9(q3)、12(q4)、15(q5)、16(q6)、19(q7)全部呈現高阻狀態(或者叫浮空狀態)。當1腳是低電平時,只要11腳
6、(le 鎖存允許端)上出現一個下降沿,輸出2(q0)、5(q1)、6(q2)、9(q3)、12(q4)、15(q5)、16(q6)、19(q7)立即呈現輸入腳3(d0)、4(d1)、7(d2)、8(d3)、13(d4)、14(d5)、17(d6)、18(d7)的狀態。 11腳是鎖存允許端(le),當le由高變低時,輸出端8 位信息被鎖存,直到le 端再次有效。 當三態允許控制端oe為低電平時,三態門導通,允許q0q7輸出,oe為高電平時,輸出懸空。當74ls373用作地址鎖存器時,應使oe為低電平,此時鎖存使能端c為高電平時,輸出q0q7 狀態與輸入端d1d7狀態相同;當le發生負的跳變時,輸
7、入端d0d7 數據鎖入q0q7。2.方案一的工作流程簡述電路圖硬件連接:硬件連線圖注:8086cpu芯片與74ls373芯片在方案一中視為pc總線接口模塊 8255a的引腳wr(寫選通信號)、rd(讀選通信號)分別連到pc總線接口模塊的wr端口、rd端口。 8255a的數據端(ad0ad7)、地址線(a0a1)分別連到pc總線接口模塊的數據線(d0d7)、地址線(a1a2)。 8255模塊選通線cs連到pc總線接口模塊的ioy1(cs 片選信號,低電平有效,由地址總線經i/o端口譯碼電路產生)。 8255的pa0pa7連到發光二極管的l1l8;8255的pb0pb7連到發光二極管的l9l16。
8、程序流程簡述:8255a的片選信號cs與地相連,處于低電平有效狀態,8086cpu與8255a之間始終保持通信,8086cpu對8255a進行讀/寫等操作。當8086cpu的地址鎖存信號ale處于高電平有效時,在t1狀態,8086cpu通過地址/數據總線上傳送地址信息,在ale的下降沿將地址信息鎖存到地址鎖存器74ls373中,定義了8255a的工作方式,使其a口和b口為輸出口,定義了8255a各端口地址。8086cpu先后寫a、b口的起始數據,并調用延時子程序點亮a口燈、b口燈。然后分別調用左移、右移指令將a口起始數據左移再寫入a口、b口起始數據右移再寫入b口,點亮下一站盞燈,以此循環實現流
9、水燈效果。程序框圖結論:第一種方案雖然實現了流水燈閃爍效果,但由于8086cpu芯片所需的程序無法通過kc51實現編程,不能達到本次課程設計的培訓目的,即對單片機的程序編程進行訓練掌握,要求較高,方案實現的難度較大,所以我們沒有把方案一作為最終方案。2.2 第二種方案的論述第二種方案,我們使用了at89c51單片機實現了流水燈閃爍設計。at89c51單片機是美國atmel公司生產的低電壓、高性能cmos 8位單片機,具有豐富的內部資源:4kb閃存、128bram、32根i/o口線、2個16位定時/計數器、5個向量兩級中斷結構、2個全雙工的串行口,具有4.255.50v的電壓工作范圍和024mh
10、z工作頻率,使用at89c51單片機時無須外擴存儲器。因此,方案二中設計的流水燈實際上是一個帶有八個發光二極管的單片機最小應用系統,即為由發光二極管、晶振、復位、電源等電路和必要的軟件組成的單個單片機。下面先對at89c51單片機進行簡介:1. at89c51單片機的簡介at89c51是美國atmel公司生產的低電壓,高性能cmos8位單片機,片內含4k bytes的可反復擦寫的只讀程序存儲器(perom)和128 bytes的隨機存取存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術生產,兼容標準mcs51指令系統,片內置通用8位中央處理器(cpu)和flash存儲單元,功能
11、強大at89c51單片機可以提供許多高性價比的應用場合,可靈活應用于各種控制領域。at89c51管腳分布注:管腳引出端功能符號:vcc:供電電壓。 gnd:接地。 p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內部上拉為高,可用作輸入,p1
12、口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內容。p2口在flash編程和校驗時接收高八位地址信號和控制信
13、號。 p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口。p3口同時為閃爍編程和編程校驗接收一些控制信號。p3口管腳備選功能: p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口)p3.2 / int0(外部中斷0) p3.3 / int1(外部中斷1)p3.4 t0(記時器0外部輸入) p3.5 t1(記時器1外部輸入)p3.6 / wr(外部數據存儲器寫選通) p3.7
14、/ rd(外部數據存儲器讀選通)rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可sfr8eh地址上置0。此時, ale只有在執行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ale禁止,置位
15、無效。psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次psen有效。但在訪問外部數據存儲器時,這兩次有效的psen信號將不出現。ea / vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000hffffh),不管是否有內部程序存儲器。注意加密方式1時,/ea將內部鎖定為reset;當/ea端保持高電平時,此間內部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。at89c51提供標準功能有:4k字節falsh閃存存儲器,128字節內部r
16、am,32個i/o口線,兩個16位定時、計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,at89c51可降至0hz的靜態邏輯操作,并支持兩種軟件可選的節電模式。空閑方式停止cpu的工作,但允許ram,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存ram中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。2.方案二的工作流程簡述單片機的應用系統由硬件和軟件組成,當我們完成了上述硬件原理圖搭建之后,我們還不能看到流水燈循環點亮的現象,我們還需要告訴單片機怎么來進行工作,即編寫程序控制單片機管腳電平的高低變化,來實現發光二極管的一亮一滅。軟
17、件編程是單片機應用系統中的一個重要的組成部分,也是我們這次課程設計學習的重點和難點。從電路原理圖中可以看出,如果要讓接在p1.0口的led1亮起來,那么只要把p1.0口的電平變為低電平就可以了;相反,如果要接在p1.0口的led1熄滅,就要把p1.0口的電平變為高電平;同理,接在p1.1p1.7口的其他7個led的點亮和熄滅的方法同led1。因此,要實現流水燈功能,我們只要將發光二極管led1led8依次點亮、熄滅,8只led燈便會一亮一暗的做流水燈了。在此我們還應注意一點,由于人眼的視覺暫留效應以及單片機執行每條指令的時間很短,我們在控制二極管亮滅的時候應該延時一段時間,否則我們就看不到“流
18、水”效果了。在電路原理圖中,我們還應注意的便是和at89c51單片機接在一起的晶振電路,在電路圖中為at89c51單片機提供了頻率參考作用。晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯再串聯一個電容的二端網絡。at89c51單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳xtal1和xtal2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容c1和c2構成并聯諧振電路,接在放大器的反饋回路中。晶振有一個重要的參數,那就是負載電容值,選擇與負載電容值相等的并聯電容,就可以得到晶振標稱的諧振頻率。硬件原
19、理圖結論:第二種方案也實現了流水燈閃爍效果,相對于第一種方案而言,更簡單些,這也正是單片機能廣泛應用于各種電路的原因。但由于該方案中,沒有應用到8255a芯片實現接口擴展,而我們這次的課程設計中一個主要設計目的與要求便是:通過利用端口和8255協同工作來實現led顯示功能,對8255a芯片進行編程使流水燈左移或右移,實現流水燈閃爍效果。以此來掌握8255a的功能特點、工作原理以及顯示器接口的基本原理與方法技術。所以我們沒有把方案二作為最終方案。2.3 第三種方案(最終方案)的論證第三種方案,我們使用了at89c51單片機與8255a芯片一起實現了流水燈閃爍的設計。從前兩種方案中,我們分別熟悉與
20、掌握了地址鎖存器74ls373芯片和at89c51單片機。我們了解到74ls373是常用的地址鎖存器芯片,它是一個是帶三態緩沖輸出的8d觸發器,在單片機系統中為了擴展外部存儲器,通常需要一塊74ls373芯片。而at89c51單片機是美國atmel公司生產的低電壓、高性能cmos 8位單片機,具有豐富的內部資源:4kb閃存、128bram、32根i/o口線、2個16位定時/計數器、5個向量兩級中斷結構、2個全雙工的串行口,具有4.255.50v的電壓工作范圍和024mhz工作頻率,使用at89c51單片機時無須外擴存儲器。在第三個方案中,我們將詳細地介紹8255a的內部電路、功能特點、工作原理
21、以及在電路中的功能擴展與應用,這也是我們這次課程設計中一個需要重點掌握的芯片。1.可編程外圍接口芯片8255a的簡介8255a是intel公司生產的一種通用的可編程并行i/o接口芯片,它是為inter系列微處理器設計的配套電路,也可用于其它微處理器系統中。通過對它進行編程,芯片可工作于不同的工作方式。8255a有3個8位并行i/o口,具有3個通道3種工作方式,其各口功能可由軟件選擇,使用靈活,通用性強。8255作為主機與外設的連接芯片,必須提供與主機相連的3個總線接口,即數據線、地址線、控制線接口;同時必須具有與外設連接的接口a、b、c口。由于8255可編程,所以必須具有邏輯控制部分,因而82
22、55內部結構分為3個部分:與cpu連接部分、與外設連接部分、控制部分。 8255的外部引腳和內部結構注:管腳引出端功能符號:reset:復位輸入線,當該輸入端處于高電平時,所有內部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成輸入方式。 cs:芯片選擇信號線,當這個輸入引腳為低電平時,即/cs=0時,表示芯片被選中,允許8255與cpu進行通訊;/cs=1時,8255無法與cpu做數據傳輸. rd:讀信號線,當這個輸入引腳為低電平時,即/rd=0且/cs=0時,允許8255通過數據總線向cpu發送數據或狀態信息,即cpu從8255讀取信息或數據。 wr:寫入信號,當這個輸入引腳為低電平
23、時,即/wr=0且/cs=0時,允許cpu將數據或控制字寫入8255。 d0d7:三態雙向數據總線,8255與cpu數據傳送的通道,當cpu 執行輸入輸出指令時,通過它實現8位數據的讀/寫操作,控制字和狀態信息也通過數據總線傳送。 pa0pa7:端口a輸入輸出線,一個8位的數據輸出鎖存器/緩沖器, 一個8位的數據輸入鎖存器。 pb0pb7:端口b輸入輸出線,一個8位的i/o鎖存器, 一個8位的輸入輸出緩沖器。 pc0pc7:端口c輸入輸出線,一個8位的數據輸出鎖存器/緩沖器, 一個8位的數據輸入緩沖器。端口c可以通過工作方式設定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與
24、端口a和端口b配合使用,可作為控制信號輸出或狀態信號輸入端口。 a0,a1:地址選擇線,用來選擇8255的pa口,pb口,pc口和控制寄存器. 當a0=0,a1=0時,pa口被選擇; 當a0=0,a1=1時,pb口被選擇; 當a0=1,a1=0時,pc口被選擇; 當a0=1.a1=1時,控制寄存器被選擇.8255a的工作方式:方式0:基本輸入輸出方式 適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式 適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式 適用于與雙向傳送數據的外設和查詢和中斷方式的接口電路 工作方式控制字 c口按位置位/復位控制字8255a初始化編程:8255a的
25、a,b,c三個端口的工作方式是在初始化編程時,通過向8255a的控制端口寫入控制字來設定的。8255a由編程寫入的控制字有兩個:方式控制字和置位/復位控制字。方式控制字用于設置端口a, b, c的工作方式和數據傳送方向;置位/復位控制字用于設置c口的pc7pc0中某一條口線pci(i07)的電平。兩個控制字公用一個端口地址,由控制字的最高位作為區分這兩個控制字的標志位。 2.方案三的工作流程簡述方案三中at89c51單片機的工作流程與方案一中的8086cpu的工作流程大致相同,但是相對于第一個方案而言,省略了地址鎖存器74ls373芯片,直接通過p2.0、p2.1與8255a的a0、a1端相連
26、,傳送地址信號,定義8255a的工作方式,使其a口和b口為輸出口,定義了8255a各端口地址。 8255a的片選信號cs與地相連,處于低電平有效狀態,at89c51與8255a之間始終保持通信,at89c51對8255a進行讀/寫等操作。at89c51單片機先后寫a、b口的起始數據,并調用延時子程序點亮a口燈、b口燈。然后分別調用左移、右移指令將a口起始數據左移再寫入a口、b口起始數據右移再寫入b口,點亮下一站盞燈,以此循環實現流水燈效果。與第二個方案相比較,結合了第二個方案的優點。在電路圖中和at89c51單片機接在一起的晶振電路,at89c51單片機內部有一個用于構成振蕩器的高增益反相放大
27、器。引腳xtal1和xtal2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容c1和c2構成并聯諧振電路,接在放大器的反饋回路中,在電路圖中晶振電路為at89c51單片機提供了頻率參考作用。開始設置8255a工作方式寫入pa、pb口,并分別對其數值位移延時寫入pa、pb口,并分別對其數值位移延時全部閃爍一次程序流程圖第3章 測試結果及體會心得我們把方案三確定為最終方案后,便開始在proteus軟件上繪制出了仿真效果圖,并通過keil軟件編寫出了相應的源程序匯編文件,導入到了仿真圖中的at89c51單片機上,并最終仿真成功,實
28、現了流水燈閃爍的效果。但整個實驗過程并不是一帆風順的,更不是一蹴而就的。我們通過網上查找相關資料,在圖書館里查詢與流水燈相關的書籍,搜集整理出了前面三種方案,并通過實際的仿真與比較,最終確定了方案三作為我們的最終方案。三個方案在仿真的過程中都出現了問題,不是源程序有誤就是網上搜集到的相關資料是錯誤的,把我們帶進了誤區,但我們最終通過自己討論研究和請教老師,解決了這些問題。把三個方案都通過proteus軟件仿真出來了。在這次課程設計中,我們分別熟悉掌握了地址鎖存器74ls373芯片、at89c51單片機、可編程外圍接口芯片8255a的內部電路、功能特點、工作原理以及在電路中的功能擴展與應用等,使
29、我們對這些芯片的認識更加深刻,并通過仿真電路圖等實踐操作更進一步掌握了這些芯片的實際應用效果與它們的優缺點、在提高我們理論知識水平與范圍的同時,也提高了我們實踐能力。“理論與實踐相結合”永遠使我們學習上一條不可繞過的道路,用理論指導實踐,通過實踐提高對理論知識的認知水平,這就是我們這次課程設計的一個較為深刻的體會。第4章 致謝在此,我們鄭重感謝系里給我們提供的這次珍貴的鍛煉機會以及張斌老師的熱情指導與幫助。在我們遇到困難而無法解決的時候,張斌老師給我們提供了很多有用的方案建議,并為我們提供了對我們極為有用的資料;當我們有些問題不懂疑惑時,張斌老師也耐心給了我們做了清楚的解釋,在此我們表示真摯的
30、感謝。通過課程設計,我們學到了很多東西。我們隊友之間的精密合作與默契對我們也是一個重要幫助,沒有我們的合作,不可能會有所成功。感謝所有幫過我們的老師和同學們,他們都很熱情幫助我們,為我們提供了他們力所能及的幫助,在此我們對他們表示真摯的感謝。第5章 參考文獻1 孫俊逸,盛秋林,張錚等 單片機原理及應用m。北京:清華大學出版社,2001。2 蔡美琴,mcs-51系列單片機系統及其應用m。北京:高等教育出版社,2000。3 孫育才,孫華芳,王榮興 單片機原理及應用m。北京:電子工業出版社,2003。4 李鴻,單片機原理及應用m。湖南:湖南大學出版社,2004。5 丁元杰,單片微機原理及應用第二版m
31、。北京:機械工業出版社,2001。6 潘新民,王燕芳 編著.微型計算機控制技術。北京:高等教育出版社,2004。7 馬忠梅 單片機的c語言應用程序設計m。北京:北京北航出版社,2003。8 范立南 單片微機接口與控制技術m。沈陽:遼寧大學出版社,1996。9 張友德 單片微型機原理、應用與實踐m。上海:復旦大學出版社,1992。10 李華 mcs-51系列單片機實用接口技術m。北京:北京航空航天大學出版社,1993。11 何希慶,高偉 mcs-51單片機原理、實驗、實例m.。山東:山東大學出版社,1989。12 張毅剛,彭喜元,姜守達 新編mcs-51單片機應用設計m。哈爾濱:哈爾濱工業大學出
32、版社,2003。附錄1 方案一 proteus仿真電路效果圖附錄2 方案一 源程序代碼my8255_a equ ioy0+00h*2 ;8255的a口地址my8255_b equ ioy0+01h*2 ;8255的b口地址my8255_c equ ioy0+02h*2 ;8255的c口地址my8255_mode equ ioy0+03h*2 ;8255的控制寄存器地址data segmentla db 1 duplb db 1 dupaxx dw 1 bupcxx dw 1 bupdata endscode segmentassume cs:code,ds:datastart:mov ax,d
33、atamov ds,axmov dx,my8255_mode ;定義8255工作方式mov al,80h ;工作方式0,a口和b口為輸出out dx,albegin:mov dx,my8255_a ;寫a口發出的起始數據mov al,01hout dx,almov la,almov dx,my8255_b ;寫b口發出的起始數據mov al,80hout dx,almov lb,almov cx,7loop1:call dallymov al,la ;將a口起始數據左移再寫入a口rol al,1mov la,almov dx,my8255_aout dx,almov al,lb ;將b口起始數
34、據右移再寫入b口ror al,1mov lb,almov dx,my8255_bout dx,alloop loop1mov cx,7loop2: call dallymov al,la ;將a口起始數據右移再寫入a口ror al,1mov la,almov dx,my8255_aout dx,almov al,lb ;將b口起始數據左移再寫入b口rol al,1mov lb,almov dx,my8255_bout dx,alloop loop2jmp begin ;流水燈重新開始dally proc ;軟件延時子程序mov cxx,cxmov axx,ax ;這里本應該用堆棧,我用cxx,
35、axx變量代替了mov cx,0fhd1:mov ax,0fffhd2:dec axjnz d2loop d1mov ax,axxmov cx,cxxretdally endpcode endsend start附錄3 方案二 proteus仿真電路效果圖附錄4 方案二 源程序代碼org 0000h ;單片機上電后從0000h地址執行ajmp start ;跳轉到主程序存放地址處org 0030h ;設置主程序開始地址start:mov sp,#60h ;設置堆棧起始地址為60hclr p1.0 ;p1.0輸出低電平,使led1點亮acall delay ;調用延時子程序setbp1.0 ;p1.0輸出高電平,使led1熄滅clr p1.1 ;p1.1輸出低電平,使led2點亮acalldelay ;調用延時子程序setbp1.1 ;p1.1輸出高電平,使led2熄滅clr p1.2 ;p1.2輸出低電平,使led3點亮acalldelay ;調用延時子程序setbp1.2 ;p1.2輸出高電平,使led3熄滅clr p1.3 ;p1.3輸出低電平,使led4點亮acalldelay ;調用延時子程序setbp1.3 ;p1.3輸出高電平,使led4熄滅clr p1.4 ;p1.4輸出低電平,使led5點亮acalldelay ;調用延時子程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《記承天寺夜游》板書設計
- 建筑設計電腦出圖排版標準
- 2025西交利物浦大學輔導員考試試題及答案
- 2025遼寧兵器工業職工大學輔導員考試試題及答案
- 2025濰坊科技學院輔導員考試試題及答案
- 新生兒貧血護理要點解析
- 畢業設計實訓答辯
- T/ZBH 022-2023薄膜太陽能電池用FTO導電玻璃
- 河南投資集團工程管理有限公司招聘筆試題庫2025
- 小學生健康衛生知識講座
- 少先隊的測試題及答案
- 煤炭工業礦井建設巖土工程勘察規范
- 風力發電吊裝合同協議
- 太原高考三模試題及答案
- 2024年黑龍江省三支一扶考試真題
- GA/T 2185-2024法庭科學步態信息采集通用技術規范
- 2025至2030中國聚苯并咪唑(PBI)行業供需態勢及未來發展潛力報告
- 速度輪滑講解課件
- 財務風險管理基本知識試題及答案
- DBJT45-全過程工程咨詢服務績效評價標準
- 鎂合金半固態注射成型技術的研究與發展
評論
0/150
提交評論