

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章 8086程序設(shè)計第二章 MCS-51單片機程序設(shè)計第三章 微機基本系統(tǒng)的設(shè)計第四章 存貯器與接口第五章 并行接口第六章 計數(shù)器、定時器與接口第七章 顯示器與鍵盤接口第八章 串行通信及接口第九章 數(shù)模轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器接口,,MCS-51 單片機的結(jié)構(gòu)MCS-51單片機程序設(shè)計MCS-51單片機系統(tǒng)的程序設(shè)計,本章知識點,,MCS-51 單片機的結(jié)構(gòu)MCS-51單片機程序設(shè)計MCS-51單
2、片機系統(tǒng)的程序設(shè)計,本章知識點,MCS-51 單片機的結(jié)構(gòu),MCS-51單片機采用程序存儲器和數(shù)據(jù)存儲器分別尋址的方式,程序存儲器和外部數(shù)據(jù)存儲器的尋址范圍均為64K如采用外部程序存儲器,用信號-PSEN控制讀入程序存儲器中的程序或數(shù)據(jù)訪問程序存儲器采用的指令: MOVC A,@A+PC MOVC A,@A+DPTR。,MCS-51 單片機的結(jié)構(gòu),內(nèi)部數(shù)據(jù)存儲器256個字節(jié),00
3、-7FH的128個字節(jié)為通用數(shù)據(jù)存儲器,80-FFH的128個字節(jié)為特殊寄存器,是MCS-51單片機的累加器A,寄存器B,中斷控制,片內(nèi)外圍電路如I/O口、定時器、串行接口所用的寄存器,MCS-51 單片機的結(jié)構(gòu),內(nèi)部數(shù)據(jù)存儲器00-7FH的結(jié)構(gòu),MCS-51 單片機的結(jié)構(gòu),外部數(shù)據(jù)存儲器尋址范圍為64K,包括外部數(shù)據(jù)存儲器和I/O通過數(shù)據(jù)指針指定外部數(shù)據(jù)存儲器的地址 MOVX A,@DPTR MOVX
4、@DPTR,A采用間接地址指定外部數(shù)據(jù)存儲器的地址 MOVX A,@R0/R1 MOVX @R0/R1,A,MCS-51 單片機的結(jié)構(gòu),MCS-51單片機的片內(nèi)外圍電路4個并行I/O口P1、P2、P3、P4的操作通過對應的寄存器進行。 定時器采用TMOD、TCON、THX、TLX等寄存器。串行接口采用SCON、SBUF等寄存器。MCS-51單片機的有5個中斷源,分別是2個外部中斷、2個定時
5、器中斷和1個串行接口中斷。,,MCS-51 單片機的結(jié)構(gòu)MCS-51單片機程序設(shè)計MCS-51單片機系統(tǒng)的程序設(shè)計,本章知識點,MCS-51單片機程序設(shè)計,程序設(shè)計方法 MCS-51單片機程序設(shè)計,程序設(shè)計方法,1.作程序流程圖根據(jù)題意,找出最合理、簡便的解決方法并作程序流程圖。流程圖分粗略和詳細兩種,粗略流程圖給出大致步驟,而詳細流程圖則給出每一步驟細節(jié)。對一些大問題,先給出粗略流程圖以得出總體概念,再作詳細流程圖對每一步驟
6、作具體描述;,程序設(shè)計方法,2.存貯單元分配根據(jù)題意合理地分配程序和數(shù)據(jù)在存貯器中地址。存貯單元分配合理,可使編程簡單和避免程序出錯。應避免程序區(qū)與數(shù)據(jù)區(qū)相互混合、交叉。,程序設(shè)計方法,3.源程序編制將流程圖中每步所規(guī)定的操作用程序語言實現(xiàn),可選用不同指令,各人所編程序可能不同。程序質(zhì)量衡量標準為:程序短,占用存貯單元少,運行時間短,而且程序結(jié)構(gòu)合理。,源程序標號操作碼 操作數(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單片機程序設(shè)計,簡單程序設(shè)計MCS-51程序時,需注意
8、內(nèi)部存儲器訪問和外部存儲器訪問,MCS-51單片機程序設(shè)計,分支程序常用的指令,MCS-51單片機程序設(shè)計,分支程序,在寄存器R2中存有數(shù)碼0~F,要求將其轉(zhuǎn)換為ASCII碼,并存于外部存貯器 4100H單元中,MCS-51單片機程序設(shè)計,利用散轉(zhuǎn)指令實現(xiàn)多分支程序的方法 將直接轉(zhuǎn)移指令如AJMP、LJMP構(gòu)成轉(zhuǎn)移表,將此表的首地址裝入數(shù)據(jù)指針DPTR,把標志單元的內(nèi)容乘以轉(zhuǎn)移指令表所采用的直接轉(zhuǎn)移指令的長度(AJMP為2、L
9、JMP為3),并傳送到累加器A中,然后調(diào)用JMP@A+DPTR指令實現(xiàn)散轉(zhuǎn)。,MCS-51單片機程序設(shè)計,利用地址偏移量表實現(xiàn)多分支程序,適用于各個處理程序的目的地址均在同一頁的情形 先將處理程序的目時地址減去表的首地址(應在同一頁內(nèi),不大于256字節(jié))構(gòu)成一偏移量表,將表的首地址裝入數(shù)據(jù)指針DPTR,利用查表指令MOVC A,@A+DPTR求出偏移量,然后利用JMP@A+DPTR實現(xiàn)散轉(zhuǎn)。,MCS-51單片機程序設(shè)計,利用目的地址表
10、實現(xiàn)多分支程序 將目的地址直接轉(zhuǎn)成目的地扯表,然后利用查表的方法根據(jù)標志單元的內(nèi)容求出目的地址,將此地址裝入數(shù)據(jù)指針DPTR,將累加器A清零,再利用JMP @A+DPTR實現(xiàn)散轉(zhuǎn)利用地址偏移量表實現(xiàn)多分支程序,適用于各個處理程序的目的地址均在同一頁的情形.,循環(huán)程序?qū)?nèi)部RAM的40H ~4FH單元置為00H~0FH, 以R2作為循環(huán)計數(shù)器,MCS-51單片機程序設(shè)計,循環(huán)程序把內(nèi)部RAM40H ~4FH的內(nèi)容傳送到外部數(shù)據(jù)存
11、儲器的4100H ~410FH單元內(nèi)。以R2作為循環(huán)計數(shù)器,MCS-51單片機程序設(shè)計,循環(huán)程序?qū)⑼獠繑?shù)據(jù)存儲器中4100H ~410FH單元置為00H~0FH以內(nèi)部RAM 32H作為循環(huán)計數(shù)器,MCS-51單片機程序設(shè)計,循環(huán)程序?qū)?100H ~410FH單元的內(nèi)容傳送到4200H開始的單元中。以內(nèi)部RAM 32H作為循環(huán)計數(shù)器,用30H、31H作為4200H的地址計數(shù)器,MCS-51單片機程序設(shè)計,MCS-51單片機程序
12、設(shè)計,查表程序,在R2寄存器存有數(shù)0~9的BCD碼,利用查表程序求其平方值,并存于4100H單元中。先將0~9平方值的BCD碼存于程序存貯器中,標號為TABLE。,,MCS-51 單片機的結(jié)構(gòu)MCS-51單片機程序設(shè)計MCS-51單片機系統(tǒng)的程序設(shè)計,本章知識點,MCS-51單片機系統(tǒng)的程序設(shè)計,專用系統(tǒng)的程序構(gòu)成 MCS-51單片機專用系統(tǒng)程序的設(shè)計,專用系統(tǒng)的程序構(gòu)成,一個完整的系統(tǒng)程序的結(jié)構(gòu) 專用系統(tǒng)的系統(tǒng)程序
13、必須具備一個完整的結(jié)構(gòu),保證在系統(tǒng)上電時能自動啟動,并根據(jù)系統(tǒng)硬件的要求執(zhí)行一定功能,,,MCS-51單片機專用系統(tǒng)程序的設(shè)計,MCS-51單片機具有64K程序存儲器和64K數(shù)據(jù)存儲器的尋址能力。數(shù)據(jù)存儲器和I/O設(shè)備統(tǒng)一編址均在64K的范圍內(nèi)。復位后的程序指針為0000H,因此在設(shè)計系統(tǒng)硬件時必須將程序存儲器的地址安排在0000H開始的存儲器,使其與系統(tǒng)復位后的程序指針保持一致。同時在設(shè)計系統(tǒng)程序時,也必須將程序的起始地址安排在0
14、000H開始的單元中。,MCS-51單片機專用系統(tǒng)程序的設(shè)計,MCS-51單片機的堆棧安排在內(nèi)部RAM的00H~7FH單元。由于00H~1FH為寄存器組,20H~2FH為位操作單元,此外還需在30H以后的地址安排部分工作單元,因此堆棧通常只能安排在大于30H的內(nèi)部RAM中。MCS-51單片機的堆棧操作采用了在數(shù)據(jù)壓入堆棧時,堆棧指針加大,而數(shù)據(jù)彈出堆棧時,堆棧指針減小的方法,因此可將堆棧指針設(shè)置為在內(nèi)部RAM中堆棧的最小地址減1。
15、應估計子程序和中斷程序使用的數(shù)量和數(shù)據(jù)壓入彈出堆棧的數(shù)量,以確定堆棧大小。如堆棧估計不足將導致程序無法執(zhí)行,形成死機。,MCS-51單片機專用系統(tǒng)程序的設(shè)計,MCS-51單片機采用5個中斷:即外部中斷0、定時器T0中斷、外部中斷1、定時器T1中斷和串行口中斷,中斷服務(wù)程序入口地址分別為 0003H、000BH、0013H、001BH和0023H。如程序中使用上述中斷,就在上述地址內(nèi)存放相應的轉(zhuǎn)移指令,在執(zhí)行中斷程序時,通過這5個地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- MCS-51單片機匯編語言程序IDE設(shè)計與實現(xiàn).pdf
- mcs-51單片機結(jié)構(gòu)介紹
- mcs-51單片機串行接口
- mcs-51系列單片機課程設(shè)計
- 51單片機脈沖產(chǎn)生程序設(shè)計
- mcs-51單片機結(jié)構(gòu)和原理
- 51單片機100例程序設(shè)計
- mcs-51單片機存儲器結(jié)構(gòu)
- mcs-51單片機的串行通信口
- mcs-51單片機溫度控制系統(tǒng)
- mcs-51單片機結(jié)構(gòu)及原理題解
- mcs-51單片機匯編指令集
- 51單片機課程設(shè)計--鬧鐘程序設(shè)計
- 單片機課程設(shè)計--基于mcs-51單片機的溫度采集系統(tǒng)
- 51單片機c語言程序設(shè)計源代碼
- 畢業(yè)設(shè)計---mcs-51單片機測溫系統(tǒng)的設(shè)計
- MCS-51單片機溫度控制系統(tǒng).doc
- MCS-51單片機溫度控制系統(tǒng).doc
- 基于_mcs-51單片機的洗衣機課程設(shè)計
- 課程設(shè)計---mcs-51單片機溫度控制系統(tǒng)
評論
0/150
提交評論