mcs-51單片機(jī)程序設(shè)計(jì)循環(huán)程序?qū)?100h_第1頁(yè)
已閱讀1頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第一章 8086程序設(shè)計(jì)第二章 MCS-51單片機(jī)程序設(shè)計(jì)第三章 微機(jī)基本系統(tǒng)的設(shè)計(jì)第四章 存貯器與接口第五章 并行接口第六章 計(jì)數(shù)器、定時(shí)器與接口第七章 顯示器與鍵盤接口第八章 串行通信及接口第九章 數(shù)模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器接口,,MCS-51 單片機(jī)的結(jié)構(gòu)MCS-51單片機(jī)程序設(shè)計(jì)MCS-51單片機(jī)系統(tǒng)的程序設(shè)計(jì),本章知識(shí)點(diǎn),,MCS-51 單片機(jī)的結(jié)構(gòu)MCS-51單片機(jī)程序設(shè)計(jì)MCS-51單

2、片機(jī)系統(tǒng)的程序設(shè)計(jì),本章知識(shí)點(diǎn),MCS-51 單片機(jī)的結(jié)構(gòu),MCS-51單片機(jī)采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分別尋址的方式,程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器的尋址范圍均為64K如采用外部程序存儲(chǔ)器,用信號(hào)-PSEN控制讀入程序存儲(chǔ)器中的程序或數(shù)據(jù)訪問程序存儲(chǔ)器采用的指令: MOVC A,@A+PC MOVC A,@A+DPTR。,MCS-51 單片機(jī)的結(jié)構(gòu),內(nèi)部數(shù)據(jù)存儲(chǔ)器256個(gè)字節(jié),00

3、-7FH的128個(gè)字節(jié)為通用數(shù)據(jù)存儲(chǔ)器,80-FFH的128個(gè)字節(jié)為特殊寄存器,是MCS-51單片機(jī)的累加器A,寄存器B,中斷控制,片內(nèi)外圍電路如I/O口、定時(shí)器、串行接口所用的寄存器,MCS-51 單片機(jī)的結(jié)構(gòu),內(nèi)部數(shù)據(jù)存儲(chǔ)器00-7FH的結(jié)構(gòu),MCS-51 單片機(jī)的結(jié)構(gòu),外部數(shù)據(jù)存儲(chǔ)器尋址范圍為64K,包括外部數(shù)據(jù)存儲(chǔ)器和I/O通過數(shù)據(jù)指針指定外部數(shù)據(jù)存儲(chǔ)器的地址 MOVX A,@DPTR MOVX

4、@DPTR,A采用間接地址指定外部數(shù)據(jù)存儲(chǔ)器的地址 MOVX A,@R0/R1 MOVX @R0/R1,A,MCS-51 單片機(jī)的結(jié)構(gòu),MCS-51單片機(jī)的片內(nèi)外圍電路4個(gè)并行I/O口P1、P2、P3、P4的操作通過對(duì)應(yīng)的寄存器進(jìn)行。 定時(shí)器采用TMOD、TCON、THX、TLX等寄存器。串行接口采用SCON、SBUF等寄存器。MCS-51單片機(jī)的有5個(gè)中斷源,分別是2個(gè)外部中斷、2個(gè)定時(shí)

5、器中斷和1個(gè)串行接口中斷。,,MCS-51 單片機(jī)的結(jié)構(gòu)MCS-51單片機(jī)程序設(shè)計(jì)MCS-51單片機(jī)系統(tǒng)的程序設(shè)計(jì),本章知識(shí)點(diǎn),MCS-51單片機(jī)程序設(shè)計(jì),程序設(shè)計(jì)方法 MCS-51單片機(jī)程序設(shè)計(jì),程序設(shè)計(jì)方法,1.作程序流程圖根據(jù)題意,找出最合理、簡(jiǎn)便的解決方法并作程序流程圖。流程圖分粗略和詳細(xì)兩種,粗略流程圖給出大致步驟,而詳細(xì)流程圖則給出每一步驟細(xì)節(jié)。對(duì)一些大問題,先給出粗略流程圖以得出總體概念,再作詳細(xì)流程圖對(duì)每一步驟

6、作具體描述;,程序設(shè)計(jì)方法,2.存貯單元分配根據(jù)題意合理地分配程序和數(shù)據(jù)在存貯器中地址。存貯單元分配合理,可使編程簡(jiǎn)單和避免程序出錯(cuò)。應(yīng)避免程序區(qū)與數(shù)據(jù)區(qū)相互混合、交叉。,程序設(shè)計(jì)方法,3.源程序編制將流程圖中每步所規(guī)定的操作用程序語言實(shí)現(xiàn),可選用不同指令,各人所編程序可能不同。程序質(zhì)量衡量標(biāo)準(zhǔn)為:程序短,占用存貯單元少,運(yùn)行時(shí)間短,而且程序結(jié)構(gòu)合理。,源程序標(biāo)號(hào)操作碼 操作數(shù)ORG 4000H MOV

7、A,#00H MOV30H,AINC AMOVDPTR,#4100HMOVX@DPTR,A INC A INCDPTRMOV A,R2 MOVX@DPTR,A HE:SJMP HE,把直接數(shù)00H送到內(nèi)部RAM30H單元中,把直接數(shù)01H及02H分別送到外部RAM4000H、4001H單元中。,MCS-51單片機(jī)程序設(shè)計(jì),簡(jiǎn)單程序設(shè)計(jì)MCS-51程序時(shí),需注意

8、內(nèi)部存儲(chǔ)器訪問和外部存儲(chǔ)器訪問,MCS-51單片機(jī)程序設(shè)計(jì),分支程序常用的指令,MCS-51單片機(jī)程序設(shè)計(jì),分支程序,在寄存器R2中存有數(shù)碼0~F,要求將其轉(zhuǎn)換為ASCII碼,并存于外部存貯器 4100H單元中,MCS-51單片機(jī)程序設(shè)計(jì),利用散轉(zhuǎn)指令實(shí)現(xiàn)多分支程序的方法 將直接轉(zhuǎn)移指令如AJMP、LJMP構(gòu)成轉(zhuǎn)移表,將此表的首地址裝入數(shù)據(jù)指針DPTR,把標(biāo)志單元的內(nèi)容乘以轉(zhuǎn)移指令表所采用的直接轉(zhuǎn)移指令的長(zhǎng)度(AJMP為2、L

9、JMP為3),并傳送到累加器A中,然后調(diào)用JMP@A+DPTR指令實(shí)現(xiàn)散轉(zhuǎn)。,MCS-51單片機(jī)程序設(shè)計(jì),利用地址偏移量表實(shí)現(xiàn)多分支程序,適用于各個(gè)處理程序的目的地址均在同一頁(yè)的情形 先將處理程序的目時(shí)地址減去表的首地址(應(yīng)在同一頁(yè)內(nèi),不大于256字節(jié))構(gòu)成一偏移量表,將表的首地址裝入數(shù)據(jù)指針DPTR,利用查表指令MOVC A,@A+DPTR求出偏移量,然后利用JMP@A+DPTR實(shí)現(xiàn)散轉(zhuǎn)。,MCS-51單片機(jī)程序設(shè)計(jì),利用目的地址表

10、實(shí)現(xiàn)多分支程序 將目的地址直接轉(zhuǎn)成目的地扯表,然后利用查表的方法根據(jù)標(biāo)志單元的內(nèi)容求出目的地址,將此地址裝入數(shù)據(jù)指針DPTR,將累加器A清零,再利用JMP @A+DPTR實(shí)現(xiàn)散轉(zhuǎn)利用地址偏移量表實(shí)現(xiàn)多分支程序,適用于各個(gè)處理程序的目的地址均在同一頁(yè)的情形.,循環(huán)程序?qū)?nèi)部RAM的40H ~4FH單元置為00H~0FH, 以R2作為循環(huán)計(jì)數(shù)器,MCS-51單片機(jī)程序設(shè)計(jì),循環(huán)程序把內(nèi)部RAM40H ~4FH的內(nèi)容傳送到外部數(shù)據(jù)存

11、儲(chǔ)器的4100H ~410FH單元內(nèi)。以R2作為循環(huán)計(jì)數(shù)器,MCS-51單片機(jī)程序設(shè)計(jì),循環(huán)程序?qū)⑼獠繑?shù)據(jù)存儲(chǔ)器中4100H ~410FH單元置為00H~0FH以內(nèi)部RAM 32H作為循環(huán)計(jì)數(shù)器,MCS-51單片機(jī)程序設(shè)計(jì),循環(huán)程序?qū)?100H ~410FH單元的內(nèi)容傳送到4200H開始的單元中。以內(nèi)部RAM 32H作為循環(huán)計(jì)數(shù)器,用30H、31H作為4200H的地址計(jì)數(shù)器,MCS-51單片機(jī)程序設(shè)計(jì),MCS-51單片機(jī)程序

12、設(shè)計(jì),查表程序,在R2寄存器存有數(shù)0~9的BCD碼,利用查表程序求其平方值,并存于4100H單元中。先將0~9平方值的BCD碼存于程序存貯器中,標(biāo)號(hào)為TABLE。,,MCS-51 單片機(jī)的結(jié)構(gòu)MCS-51單片機(jī)程序設(shè)計(jì)MCS-51單片機(jī)系統(tǒng)的程序設(shè)計(jì),本章知識(shí)點(diǎn),MCS-51單片機(jī)系統(tǒng)的程序設(shè)計(jì),專用系統(tǒng)的程序構(gòu)成 MCS-51單片機(jī)專用系統(tǒng)程序的設(shè)計(jì),專用系統(tǒng)的程序構(gòu)成,一個(gè)完整的系統(tǒng)程序的結(jié)構(gòu) 專用系統(tǒng)的系統(tǒng)程序

13、必須具備一個(gè)完整的結(jié)構(gòu),保證在系統(tǒng)上電時(shí)能自動(dòng)啟動(dòng),并根據(jù)系統(tǒng)硬件的要求執(zhí)行一定功能,,,MCS-51單片機(jī)專用系統(tǒng)程序的設(shè)計(jì),MCS-51單片機(jī)具有64K程序存儲(chǔ)器和64K數(shù)據(jù)存儲(chǔ)器的尋址能力。數(shù)據(jù)存儲(chǔ)器和I/O設(shè)備統(tǒng)一編址均在64K的范圍內(nèi)。復(fù)位后的程序指針為0000H,因此在設(shè)計(jì)系統(tǒng)硬件時(shí)必須將程序存儲(chǔ)器的地址安排在0000H開始的存儲(chǔ)器,使其與系統(tǒng)復(fù)位后的程序指針保持一致。同時(shí)在設(shè)計(jì)系統(tǒng)程序時(shí),也必須將程序的起始地址安排在0

14、000H開始的單元中。,MCS-51單片機(jī)專用系統(tǒng)程序的設(shè)計(jì),MCS-51單片機(jī)的堆棧安排在內(nèi)部RAM的00H~7FH單元。由于00H~1FH為寄存器組,20H~2FH為位操作單元,此外還需在30H以后的地址安排部分工作單元,因此堆棧通常只能安排在大于30H的內(nèi)部RAM中。MCS-51單片機(jī)的堆棧操作采用了在數(shù)據(jù)壓入堆棧時(shí),堆棧指針加大,而數(shù)據(jù)彈出堆棧時(shí),堆棧指針減小的方法,因此可將堆棧指針設(shè)置為在內(nèi)部RAM中堆棧的最小地址減1。

15、應(yīng)估計(jì)子程序和中斷程序使用的數(shù)量和數(shù)據(jù)壓入彈出堆棧的數(shù)量,以確定堆棧大小。如堆棧估計(jì)不足將導(dǎo)致程序無法執(zhí)行,形成死機(jī)。,MCS-51單片機(jī)專用系統(tǒng)程序的設(shè)計(jì),MCS-51單片機(jī)采用5個(gè)中斷:即外部中斷0、定時(shí)器T0中斷、外部中斷1、定時(shí)器T1中斷和串行口中斷,中斷服務(wù)程序入口地址分別為 0003H、000BH、0013H、001BH和0023H。如程序中使用上述中斷,就在上述地址內(nèi)存放相應(yīng)的轉(zhuǎn)移指令,在執(zhí)行中斷程序時(shí),通過這5個(gè)地址

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論