![2022年單片機(jī)課件第一章_第1頁](http://file4.renrendoc.com/view12/M06/3F/1C/wKhkGWbvuGuAcs_ZAACj3PW96Bw441.jpg)
![2022年單片機(jī)課件第一章_第2頁](http://file4.renrendoc.com/view12/M06/3F/1C/wKhkGWbvuGuAcs_ZAACj3PW96Bw4412.jpg)
![2022年單片機(jī)課件第一章_第3頁](http://file4.renrendoc.com/view12/M06/3F/1C/wKhkGWbvuGuAcs_ZAACj3PW96Bw4413.jpg)
![2022年單片機(jī)課件第一章_第4頁](http://file4.renrendoc.com/view12/M06/3F/1C/wKhkGWbvuGuAcs_ZAACj3PW96Bw4414.jpg)
![2022年單片機(jī)課件第一章_第5頁](http://file4.renrendoc.com/view12/M06/3F/1C/wKhkGWbvuGuAcs_ZAACj3PW96Bw4415.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)第一章單片機(jī)基礎(chǔ)知識(shí)1.1
8051單片機(jī)的特點(diǎn)
基本組成部件:中央處理器:CPU8位數(shù)據(jù)存儲(chǔ)器:RAM128B程序存儲(chǔ)器:ROM4KB定時(shí)器/計(jì)數(shù)器:2個(gè)16位I/O接口:8位×4(P0~P3)MCS-51INTEL1980年單片機(jī)標(biāo)志:
MCS-48,MCS-51,MCS-96(16位)8位機(jī):8051系列
教學(xué)首選8031
無ROM 8051
掩膜 8751
EPROM EPROM,FLASH低功耗基本型:
80C51,80C31,87C5180年代中期,專利互讓的形式,51系列衍生產(chǎn)品Atmel89C51,89C52,89C2051Philips80C51,80C552,87C752MAXIM(Dallas)80C390,80C400InfineonC517,C509,80C537ADIADuC812,ADuC824
TI(BB)MSC1210SILABS(Cygnal)C8051FSTCmicroSTC89C51Cypress,Winbond,SST
AT89C51AT89C52閃存4KB8KB內(nèi)存128B256B工作頻率24MHz24MHz輸入/輸出線3232定時(shí)/計(jì)數(shù)器23中斷源58串行口11AT89C2051(20引腳)AT89S511.2
8051的內(nèi)部結(jié)構(gòu)
1.2.1中央處理器CPU一、ALU
算術(shù)運(yùn)算:加,減,乘,除
邏輯運(yùn)算:與,或,異或
位操作(布爾):與,或,取反ACC=A:累加器,B:寄存器
程序狀態(tài)字:PSW8位寄存器CY:進(jìn)位標(biāo)志。有進(jìn)位/借位時(shí)置1AC:半進(jìn)位標(biāo)志。D3->D4進(jìn)位/借位時(shí)置1OV:溢出標(biāo)志。帶符號(hào)數(shù)超出-128~127置1,乘法結(jié)果超過255,除數(shù)為0P:奇偶標(biāo)志。A中的1的個(gè)數(shù)為奇數(shù)F0:用戶設(shè)置標(biāo)志RS1,RS0:通用寄存器選擇位,在存儲(chǔ)器組織部分介紹二、時(shí)鐘電路和基本時(shí)序周期
1.
8051時(shí)鐘內(nèi)部高增益放大器,引腳XTAL1和XTAL2時(shí)鐘產(chǎn)生方式:1)內(nèi)部方式:外接石英晶體(晶振)2)外部方式:外部振蕩信號(hào)作8051時(shí)鐘
2.基本時(shí)序周期
振蕩周期:1/fOSC
時(shí)鐘周期:2/fOSC
機(jī)器周期:12/fOSC=T
指令周期:1~4T1.2.2存儲(chǔ)器組織存儲(chǔ)器特點(diǎn)
程序存儲(chǔ)器分開,哈佛型
數(shù)據(jù)存儲(chǔ)器合并,普林斯頓型物理上的4個(gè)空間:
1)
片內(nèi)程序存儲(chǔ)器
2)
片外程序存儲(chǔ)器 3)
片內(nèi)數(shù)據(jù)存儲(chǔ)器 4)
片外數(shù)據(jù)存儲(chǔ)器
程序存儲(chǔ)器
ROM型(只讀):程序,表格常數(shù)當(dāng)PC超過4KB,
自動(dòng)轉(zhuǎn)1000H~FFFFH(片外)
數(shù)據(jù)存儲(chǔ)器
RAM型(讀,寫):數(shù)據(jù)暫存,
運(yùn)算結(jié)果,
標(biāo)志位,堆棧片內(nèi):256B,MOV片外:64KB,MOVX
片內(nèi)部分2塊:
00~7FH,128B,RAM區(qū)80H~FFH,128B,SFR區(qū)(特殊功能寄存器)
低128B
通用寄存器區(qū),4組,R0~R7
可位尋址區(qū),20H~2FH,16個(gè)
用戶RAM
4個(gè)組:
0區(qū)00H~07H1區(qū)08H~0FH2區(qū)10H~17H3區(qū)18H~1FH
由PSW中的RS1,RS2來決定用哪個(gè)工作區(qū)(00,01,10,11)2.可位尋址區(qū)
20~2FH,16字節(jié)
00~7FH,128位
3.用戶RAM
30H~7FH
堆棧,向上增長(zhǎng)
復(fù)位后設(shè)置SP<=07H
4.特殊功能寄存器
21個(gè)SFR(SpecialFunctionRegister)
80H~FFH,只能直接尋址除PC和4組R0~R7外,其他都是SFR,
可位尋址的SFR,其地址可被8整除與通用微機(jī)不同的特點(diǎn):·程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器嚴(yán)格分開·特殊功能寄存器和內(nèi)部數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址1.2.3片內(nèi)并行接口四個(gè)并口P0、P1、P2、P3每個(gè)口由4部分組成:端口鎖存器,輸入緩沖器,輸出驅(qū)動(dòng)器,端口引腳其中:P0可用于普通I/O、低8位地址總線A7~A0、數(shù)據(jù)總線D7~D0。 P1用于普通I/O
P2用于普通I/O和高8位地址總線A15~A8;
P3用于普通I/O,另外每根線還有第二功能注意:1、P0口作普通I/O口使用時(shí),要外接上拉電阻。2、四個(gè)口作普通I/O口輸入時(shí)應(yīng)先向端口寫1。MOVP0,#0FFH1.2.48051的內(nèi)部資源串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)
8051的芯片引腳引腳功能VCC:電源+5VVSS:接地XTAL1和XTAL2:外接晶振引腳P0口:地址/數(shù)據(jù)總線P1口:準(zhǔn)雙向通用I/O口P3口:多用途端口ALE/PROG:地址鎖存信號(hào)輸出端。RST:復(fù)位引腳SP<=07HP0~P3<=0FFHPC<=0PSW<=0
復(fù)位后,從0000H開始執(zhí)行程序EA/VPP:內(nèi)部和外部程序存儲(chǔ)器選擇。
0:外,1:內(nèi)PSEN:片外程序存儲(chǔ)器讀選通,低電平有效VccRSTVssMCS-51VccRSTVssMCS-511k1k200
(a)上電復(fù)位電路(b)按鈕復(fù)位電路1.2.6單片機(jī)工作方式一、復(fù)位方式二、程序執(zhí)行方式三、單步執(zhí)行方式用于單片機(jī)開發(fā)工具或仿真器四、低功耗操作方式 單片機(jī)設(shè)有兩種低功耗方式:掉電方式和節(jié)電方式,由電源控制寄存器PCON中的相應(yīng)位設(shè)置。(二).掉電方式當(dāng)PD位置1進(jìn)入掉電方式。這時(shí)CPU及系統(tǒng)的其它部件都停止工作,包括片內(nèi)振蕩器。只有RAM中數(shù)據(jù)不丟失。退出掉電方式的方法只有通過系統(tǒng)復(fù)位。(一).節(jié)電運(yùn)行方式當(dāng)IDL位置1進(jìn)入節(jié)電方式,節(jié)電方式,時(shí)鐘不提供給CPU,但仍提供給RAM,定時(shí)器,中斷系統(tǒng)等,同時(shí)CPU的狀態(tài)被保留。退出節(jié)電方式有兩種:激活中斷和系統(tǒng)復(fù)位。PCOND7D6D5D4D3D2D1D087HSMODGF1GF0PDIDL二、直接尋址
1)MOVA,4FH ;A<=(4FH)二字節(jié)
2)MOVA,P0
尋址空間:內(nèi)部RAM低128字節(jié),
SFR
三、寄存器間接尋址
1)MOVA,@R1 ;A<=((R1))
(R1)=40H,A<=(40H)
PUSH30H ;(SP)<=(30H)2)MOVXA,@R0 ;A<=((R0))External——MOVP2,#10HMOVXA,@DPTR ;A<=((DPTR))尋址空間:內(nèi)部RAM(@R0,@R1,@SP);
外部RAM(@R0,@R1,@DPTR)
四、立即尋址MOVA,#6FH ;A<=6FH二字節(jié)MOVDPTR,#1234H;DPTR<=1234H;三字節(jié)
尋址空間:程序存儲(chǔ)器
五、變址尋址
MOVCA,@A+DPTR;A<=((DPTR)+(A))單字節(jié)
MOVCA,@A+PC ;A<=((PC)+(A))
變址尋址方式只適用于8051的程序存儲(chǔ)器,用于讀取數(shù)據(jù)表。
六、相對(duì)尋址
SJMPrel ;PC<=PC+2+rel
尋址空間:程序存儲(chǔ)器
七、位尋址
SETBbit ;(bit)<=1尋址空間:內(nèi)部RAM可位尋址區(qū);SFR可位尋址位1.4.2指令分類說明共111條指令,分5大類:·數(shù)據(jù)傳送指令·算術(shù)運(yùn)算指令·邏輯運(yùn)算及移位指令·轉(zhuǎn)移指令·十進(jìn)制指令一、數(shù)據(jù)傳送指令
傳送指令不破壞源地址中的數(shù)據(jù)而只是把數(shù)據(jù)拷貝到目的地址,沒有寄存器到寄存器的傳送和間接/間接傳送。
(一)
內(nèi)部RAM間的數(shù)據(jù)傳送MOV(move)1.
立即尋址MOVA,#dataMOVRn,#dataMOV@Ri,#dataMOVdirect,#dataMOVDPTR,#data例如:MOVA,#30HMOVR1,#20HMOV@R1,#40HMOV32H,#50HMOVDPTR,#1000H3.
間接尋址:MOVA,@RiMOVdirect,@Ri4.
寄存器尋址:
MOVA,RnMOVRn,AMOV@Ri,AMOVdirect,AMOVdirect,Rn(二)涉外RAM傳送
MOVX——外RAM(External)MOVC——外ROM(Code)
1.
外RAM
MOVXA,@Ri
MOVX@Ri,A
MOVXA,@DPTR
MOVX@DPTR,A2.外ROMMOVCA,@A+DPTR ;遠(yuǎn)程查表MOVCA,@A+PC ;近程查表例: ADDA,#01H MOVCA,@A+PCRET DB30H ;0 DB31H ;1… DB39H ;9(三)堆棧指令PUSPdirectPOPdirect
(四)數(shù)據(jù)交換 XCHA,Rn
XCHA,@Ri
XCHA,direct
SWAPA(五)位傳送MOVC,bitMOVbit,C
二、算術(shù)運(yùn)算
1.
加法
1)
ADDA,Rn
2)
ADDA,direct
3)
ADDA,@Ri
4)
ADDA,#data
影響標(biāo)志:CY2.帶進(jìn)位加法(AddwithCarry)ADDCA,Rn3.帶借位減法(SubstrctwithBorrow)SUBBA,Rn
沒有不帶借位標(biāo)志的減法指令4.乘法
MULAB結(jié)果在累加器(低字節(jié))和B寄存器(高字節(jié))中。5.
除法
DIVAB;
結(jié)果在ACC中,余數(shù)(不是小數(shù)部分)在B中。6.
加1和減1
(Increment&Decrement)
INCA DECA
INCR2 DECR5
INC45H DEC3EH
INC@R0 DEC@R1
INCDPTR三、邏輯運(yùn)算1.
邏輯與(Logical-AND) ANL A,Rn ;A<=A^Rn ANL A,direct ANL A,@Ri ANL A,#data ANL direct,A ANL direct,#data ANL C,bit ANL C,/bit
2.
邏輯或(Logical-OR) ORL A,Rn 3.
邏輯異或(LogicalExclusive-OR) XRL A,Rn4.
取反(Complement) CPL A CPL C CPL bit
5.
清除(Clear) CLR A CLR C CLR bit6.
置位(SetBit) SETB C SETB bit7.
移位(Rotate)RLA ;RotateLeftRRA ;RotateRightRLCA ;RotateLeftthroughtheCarryflagRRCA ;RotateRightthroughtheCarryflag四、十進(jìn)制指令1.
XCHDA,@R0交換累加器和間接地址的低四位,高四位保留原值。2.
SWAPA交換累加器的高四位和低四位。3.
DA(Decimal-Adjust)
DA A五、轉(zhuǎn)移指令1.無條件轉(zhuǎn)移沒有測(cè)試條件的轉(zhuǎn)移AJMPSUBROUTINE ;必須在同一2K塊內(nèi) ;(AbsoluteJump)LJMPPOINTA;64K程序空間的任意位置 ;(LongJump)SJMPWAITING;相對(duì)轉(zhuǎn)移+127~-128 ;(ShortJump)JMP@A+DPTR ;間接轉(zhuǎn)移(JumpIndirect)2.條件轉(zhuǎn)移測(cè)試并完成短轉(zhuǎn)移或繼續(xù)下一條指令JZPOINTX ;ZeroJNZPOINTY ;NotZeroJCPOINTZ ;JumpifCarryJNCPOINTZ ;JumpifNotCarryJBP3.5,POINTA ;JumpifBitissetJNBP3.1,POINTB ;JumpifNotBitJBC22.3,POINTC ;ifBitissetandClearbit
3.CJNE(CompareandJumpifNotEqual)比較,不相等就轉(zhuǎn)移CJNEA,3EH,POINTZCJNEA,#10,POINTWCJNER5,#34,LOOPCJNE@R1,#5,GOINGON4.DJNZ(DecrementandJumpifNotZero)用于重復(fù)循環(huán)的指令,次數(shù)在循環(huán)外設(shè)置,循環(huán)減到零時(shí)退出。DJNZR3,POINTQDJNZ3FH,POINTJ5.CALL(子程序調(diào)用)ACALLROUTINE ;AbsoluteCall
LCALLDISPLAY ;LongCall ;PC<=PC+3 ;SP<=SP+1;(SP)<=PC7~0;SP<=SP+1;(SP)<=PC15~8 ;PC<=ADDR166.RET(Return)子程序返回RET ;把堆棧上的兩個(gè)字節(jié)的值放入程序計(jì)數(shù)器,在子程序完成后繼續(xù)原程序流RETI ;恢復(fù)中斷邏輯,允許同一優(yōu)先級(jí)的中斷。
7.NOP(NoOperation)沒有實(shí)質(zhì)性操作,用于延時(shí)。1.4.3偽指令1.ORG偽指令(Origin)
指令出現(xiàn)在源程序或數(shù)據(jù)塊的開始,指明語句后面的目標(biāo)程序或數(shù)據(jù)塊存放的起始地址。2.DB偽指令(DefineByte)
將項(xiàng)表中的字節(jié)數(shù)據(jù)存放到從標(biāo)號(hào)開始的連續(xù)字節(jié)單元中。3.DW偽指令(DefineWord)
功能與DB類似,用于定義16位的地址表。4.EQU(Equal)
用于給一個(gè)表達(dá)式的值或字符串起一個(gè)名字,之后的名字可以用做程序的地址、數(shù)據(jù)地址或立即數(shù)使用。5.DATA偽指令(Data)給一個(gè)8位內(nèi)部RAM單元起一個(gè)名字,同一單元地址可以有多個(gè)名字。6.XDATA偽指令(ExternalData)給一個(gè)8位外部RAM單元起一個(gè)名字7.BIT偽指令
給可位尋址的位單元起名字。8、END偽指令
指出源程序到此結(jié)束,一個(gè)源程序只在最后使用一個(gè)END
例: ORG 0100H MOV A,#23H ADD A,#34H END1.5實(shí)用程序設(shè)計(jì)一、256種分支轉(zhuǎn)移程序JMP256功能:根據(jù)入口條件轉(zhuǎn)移到256個(gè)目的地址。入口:(R3)=轉(zhuǎn)移目的地址的序號(hào)(00~FFH)出口:(PC)=為轉(zhuǎn)移子程序的入口地址。JMP256: MOV A,R3 ;取地址 MOV DPTR,#TBL ;裝轉(zhuǎn)移表基址 CLR C RLC A ;變址×2 JNC LOW128;是前128個(gè)子程序,則轉(zhuǎn)移 INC DPH ;否,基址加256LOW128: MOV SAVE,A ;暫存變址 MOVCA,@A+DPTR PUSH ACC ;子程序首址低8位進(jìn)棧 MOV A,SAVE INC A MOVCA,@A+DPTR PUSH ACC ;子程序首址高8位進(jìn)棧 RET ;子程序首址彈入PCTBL: DW ROUT0;256個(gè)子程序首址 DW ROUT1 . . . DW ROUT255說明:執(zhí)行這段程序后,棧指針SP并不受影響,仍恢復(fù)為原來的值。
二、
m×n矩陣元素查找程序MATRIX設(shè)m×n矩陣如下:X0,0X0,1…X0,j…X0,n-1X1,0X1,1…X1,j…X1,n-1............Xi,0Xi,1…Xi,j…Xi,n-1............Xm-1,0Xm-1,1…Xm-1,j…Xm-1,n-1元素在存儲(chǔ)器中逐行存放,即從低地址到高地址為X0,0X0,1…Xm-1,n-1共占m×n,各占2個(gè)單元,這樣元素Xi,j存放地址的算法應(yīng)為:元素地址=表基址+(i×n+j)×2其中i=0~(m-1);j=0~(n-1)功能:根據(jù)元素下標(biāo)查找元素值。入口:(I)=元素下標(biāo)變量i
(J)=元素下標(biāo)變量j出口:(AR3)=雙精度矩陣元素Xi,j的值MARTIX: MOV A,I MOV B,#N MUL AB ;(A)=i×n+j ADD A,JRL A;(A)=(i×n+j)×2 MOV R3,A ;保存變址 ADD A,#05 ;修改變址 MOVCA,@A+PC ;查Xi,j的低位 XCH A,R3 ;低位送R3,恢復(fù)變址 INC A ;修正變址 INC A MOVCA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)硅纖管行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)灶架行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)棉用增白劑行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年提籃包裝機(jī)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)吸氣材料行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年卷閘門槽管項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)三合一塑瓶液體包裝系統(tǒng)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年三維可視地理信息系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 2025至2030年高強(qiáng)彩色水泥瓦項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國(guó)鋁壓鑄化油器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 當(dāng)前警察職務(wù)犯罪的特征、原因及防范,司法制度論文
- 計(jì)算機(jī)文化基礎(chǔ)單元設(shè)計(jì)-windows
- 創(chuàng)建動(dòng)物保護(hù)家園-完整精講版課件
- 廣東省保安服務(wù)監(jiān)管信息系統(tǒng)用戶手冊(cè)(操作手冊(cè))
- DNA 親子鑒定手冊(cè) 模板
- DB33T 1233-2021 基坑工程地下連續(xù)墻技術(shù)規(guī)程
- 天津 建設(shè)工程委托監(jiān)理合同(示范文本)
- 廣東中小學(xué)教師職稱評(píng)審申報(bào)表初稿樣表
- 部編一年級(jí)語文下冊(cè)教材分析
- 火炬及火炬氣回收系統(tǒng)操作手冊(cè)
- 北師大七年級(jí)數(shù)學(xué)下冊(cè)教學(xué)工作計(jì)劃及教學(xué)進(jìn)表
評(píng)論
0/150
提交評(píng)論