版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)應(yīng)用技術(shù)1單片機(jī)應(yīng)用技術(shù)1緒論單片機(jī)系統(tǒng)開(kāi)發(fā)板簡(jiǎn)介上一頁(yè)下一頁(yè)單片機(jī)芯片電源模塊開(kāi)關(guān)輸入音樂(lè)輸出LED顯示數(shù)碼管顯示下載接口紅外遙控繼電控制串行模塊2緒論單片機(jī)系統(tǒng)開(kāi)發(fā)板簡(jiǎn)介上一頁(yè)下一頁(yè)單片機(jī)電源模塊開(kāi)關(guān)輸緒論主要內(nèi)容主要內(nèi)容MCS-51單片機(jī)結(jié)構(gòu)和原理MCS-51系列單片機(jī)指令系統(tǒng)匯編語(yǔ)言程序設(shè)計(jì)定時(shí)/計(jì)數(shù)、中斷和串行口上一頁(yè)下一頁(yè)3緒論主要內(nèi)容主要MCS-51單片機(jī)結(jié)構(gòu)和原理MCS-51緒論主要內(nèi)容本章首頁(yè)上一頁(yè)下一頁(yè)1.單片機(jī)指令的形式,意義和應(yīng)用2.單片機(jī)內(nèi)部各存儲(chǔ)器3.單片機(jī)程序設(shè)計(jì)4.單片機(jī)的中斷結(jié)構(gòu)及應(yīng)用本書(shū)重點(diǎn)內(nèi)容本書(shū)難點(diǎn)內(nèi)容1.指令多且雜,需要多加記憶和練習(xí)2.程序設(shè)計(jì)思路和具體實(shí)施,需要多讀,多看,多想,多做。4緒論主要內(nèi)容本章首頁(yè)上一頁(yè)下一頁(yè)1.單片機(jī)指令的形式,意緒論上一頁(yè)下一頁(yè)主要內(nèi)容1.1單片機(jī)概述1.251單片機(jī)結(jié)構(gòu)和引腳1.351單片機(jī)存儲(chǔ)器結(jié)構(gòu)1.4并行I/O、時(shí)序、復(fù)位第一章MCS-51單片機(jī)結(jié)構(gòu)和原理5緒論上一頁(yè)下一頁(yè)主要1.1單片機(jī)概述1.251單片機(jī)緒論上一頁(yè)下一頁(yè)1.單片機(jī)引腳結(jié)構(gòu)2.單片機(jī)CPU結(jié)構(gòu)3.I/O端口的作用本章重點(diǎn)內(nèi)容本章難點(diǎn)內(nèi)容1.單片機(jī)引腳排列2.單片機(jī)CPU存儲(chǔ)器第一章MCS-51單片機(jī)結(jié)構(gòu)和原理6緒論上一頁(yè)下一頁(yè)1.單片機(jī)引腳結(jié)構(gòu)本章重點(diǎn)內(nèi)容本章難點(diǎn)內(nèi)容1本章首頁(yè)上一頁(yè)下一頁(yè)1.1單片機(jī)概述本節(jié)學(xué)習(xí)重點(diǎn)1.單片機(jī)的組成2.單片機(jī)的概念3.MCS-51系列單片機(jī)的型號(hào)及特點(diǎn)7本章首頁(yè)上一頁(yè)下一頁(yè)1.1單片機(jī)概述本節(jié)學(xué)習(xí)重點(diǎn)71)中央處理器CPU2)存儲(chǔ)器3)多輸入/輸出(I/O)接口電路1)性?xún)r(jià)比高2)控制功能強(qiáng)3)集成度高、體積小、可靠性高4位--8位--16位--32位本章首頁(yè)上一頁(yè)下一頁(yè)1.1單片機(jī)概述1.1.1單片機(jī)概念
把組成微型計(jì)算機(jī)的各功能部件等制作在一塊集成芯片中,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。相關(guān)概念1.組成2.特點(diǎn)3.發(fā)展81)中央處理器CPU1)性?xún)r(jià)比高2)控制功能強(qiáng)4位--本章首頁(yè)上一頁(yè)下一頁(yè)1.1單片機(jī)概述1.1.2單片機(jī)的應(yīng)用數(shù)控線(xiàn)切割機(jī)床數(shù)控車(chē)床醫(yī)用呼吸機(jī)位移傳感器數(shù)據(jù)采集工業(yè)智能儀器醫(yī)用生活數(shù)字式測(cè)角儀9本章首頁(yè)上一頁(yè)下一頁(yè)1.1單片機(jī)概述1.1.2單片機(jī)的工業(yè)控制中智能家用電器、智能儀器設(shè)備、數(shù)控機(jī)床、自動(dòng)生產(chǎn)線(xiàn)、智能玩具、相關(guān)的數(shù)據(jù)采集處理顯示等等。日常生活中常見(jiàn)的霓虹燈顯示、比賽搶答器、報(bào)警器、電子時(shí)鐘、點(diǎn)陣和液晶顯示屏等等。應(yīng)用實(shí)例1.1單片機(jī)概述本章首頁(yè)上一頁(yè)下一頁(yè)10工業(yè)控制中智能家用電器、智能儀器設(shè)備、數(shù)控機(jī)床1.1單片機(jī)概述1.1.3.MCS-51單片機(jī)系列產(chǎn)品型號(hào)AT89C51AT89C52AT89C1051AT89S8252Flash(KB)4818片內(nèi)RAM(B)12825664256I/O(條)32321532定時(shí)器(個(gè))2313中斷源(個(gè))6839串行接口(個(gè))1111AT89系列單片機(jī)介紹本章首頁(yè)上一頁(yè)下一頁(yè)111.1單片機(jī)概述1.1.3.MCS-51單片機(jī)系列產(chǎn)品1.251單片機(jī)結(jié)構(gòu)和引腳本節(jié)學(xué)習(xí)重點(diǎn)1.單片機(jī)的引腳及邏輯符號(hào)2.單片機(jī)的引腳說(shuō)明3.單片機(jī)的CPU本節(jié)學(xué)習(xí)難點(diǎn)1.引腳圖位置記憶本章首頁(yè)上一頁(yè)下一頁(yè)121.251單片機(jī)結(jié)構(gòu)和引腳本節(jié)學(xué)習(xí)重點(diǎn)本章首頁(yè)上一頁(yè)下一1.2.1MCS-51的引腳及功能說(shuō)明1.251單片機(jī)結(jié)構(gòu)和引腳本章首頁(yè)上一頁(yè)下一頁(yè)131.2.1MCS-51的引腳及功能說(shuō)明1.251單片MCS-51系列單片機(jī)外部引腳說(shuō)明
1.主電源引腳Vcc(40):接+5V端。Vss(20):接+5V電源地端。2.外接晶體引腳XTAL1(19腳):接外部石英晶體的一端。XTAL2(18腳):接外部石英晶體的另一端。1.251單片機(jī)結(jié)構(gòu)和引腳本章首頁(yè)上一頁(yè)下一頁(yè)14MCS-51系列單片機(jī)外部引腳說(shuō)明1.主電源引腳3.控制線(xiàn)
(1)ALE/PROG(30腳)
(2)PSEN(29腳)(3)RST/VPD引腳(9腳)(4)EA/Vpp(31腳)1.251單片機(jī)結(jié)構(gòu)和引腳本章首頁(yè)上一頁(yè)下一頁(yè)MCS-51系列單片機(jī)外部引腳說(shuō)明
153.控制線(xiàn)1.251單片機(jī)結(jié)構(gòu)和引腳本章首頁(yè)上一頁(yè)下一4.輸入/輸出引腳P0、P1、P2、P31.251單片機(jī)結(jié)構(gòu)和引腳本章首頁(yè)上一頁(yè)下一頁(yè)MCS-51系列單片機(jī)外部引腳說(shuō)明
164.輸入/輸出引腳1.251單片機(jī)結(jié)構(gòu)和引腳本章首頁(yè)上1.2.2MCS-51單片機(jī)內(nèi)部組成1.251單片機(jī)結(jié)構(gòu)和引腳本章首頁(yè)上一頁(yè)下一頁(yè)171.2.2MCS-51單片機(jī)內(nèi)部組成1.251單片機(jī)1.251單片機(jī)結(jié)構(gòu)和引腳1.2.3MCS-51的CPU相關(guān)內(nèi)容介紹運(yùn)算器CPU1.累加器ACC控制器1.指令寄存器和譯碼2.B寄存器3.程序狀態(tài)字PSWCyOVP2.程序計(jì)數(shù)器PC3.定時(shí)與控制電路本章首頁(yè)上一頁(yè)下一頁(yè)181.251單片機(jī)結(jié)構(gòu)和引腳1.2.3MCS-51的C1.351單片機(jī)存儲(chǔ)器結(jié)構(gòu)本章首頁(yè)上一頁(yè)下一頁(yè)本節(jié)學(xué)習(xí)重點(diǎn)1.單片機(jī)存儲(chǔ)器的編址2.數(shù)據(jù)存儲(chǔ)器工作存儲(chǔ)器、位尋址空間、堆棧和數(shù)據(jù)緩沖區(qū)191.351單片機(jī)存儲(chǔ)器結(jié)構(gòu)本章首頁(yè)上一頁(yè)下一頁(yè)本節(jié)學(xué)習(xí)重1.351單片機(jī)存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器是存放數(shù)據(jù)的地方。實(shí)際上是電平的高低。內(nèi)部程序存儲(chǔ)器ROM內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM片內(nèi)有4KB的ROM地址范圍0000H-0FFFH片內(nèi)有128B的ROM地址范圍00H-7FH1.工作寄存器區(qū)00H-1FH2.位尋址區(qū)20H-2FH3.堆棧區(qū)30H-7FH本章首頁(yè)上一頁(yè)下一頁(yè)201.351單片機(jī)存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器是存放數(shù)據(jù)的地方1.4并行I/O、時(shí)序、復(fù)位本節(jié)學(xué)習(xí)重點(diǎn)1.I/O端口的特點(diǎn)和功能2.時(shí)鐘、機(jī)器周期3.單片機(jī)復(fù)位的實(shí)現(xiàn)方法,復(fù)位后各存儲(chǔ)器的狀態(tài)。本節(jié)了解內(nèi)容:I/O端口的結(jié)構(gòu)單片機(jī)掉電處理和低功耗方式本章首頁(yè)上一頁(yè)下一頁(yè)211.4并行I/O、時(shí)序、復(fù)位本節(jié)學(xué)習(xí)重點(diǎn)本章首頁(yè)上一頁(yè)下1.4并行I/O、時(shí)序、復(fù)位問(wèn)題:如何使實(shí)現(xiàn)單片機(jī)與外部硬件之間的數(shù)據(jù)傳輸?通過(guò)單片機(jī)的I/O口本章首頁(yè)上一頁(yè)下一頁(yè)221.4并行I/O、時(shí)序、復(fù)位問(wèn)題:如何使實(shí)現(xiàn)單片機(jī)與外部1.4并行I/O、時(shí)序、復(fù)位1.4.1并行輸入/輸出口(I/O)1、I/O口的特點(diǎn)●4個(gè)并行I/O端口都是雙向的。P0口為漏極開(kāi)路驅(qū)動(dòng);P1,P2,P3口均具有內(nèi)部上拉電阻驅(qū)動(dòng),它們有時(shí)被稱(chēng)為準(zhǔn)雙向口。
●所有32條并行I/O線(xiàn)都能獨(dú)立地用做輸入或輸出,還可以進(jìn)行位操作。
●注意:當(dāng)P0-P3做輸入使用,P3口做第二功能使用是,相應(yīng)鎖存器要置1。本章首頁(yè)上一頁(yè)下一頁(yè)231.4并行I/O、時(shí)序、復(fù)位1.4.1并行輸入/輸出口1.4并行I/O、時(shí)序、復(fù)位1.4.2時(shí)鐘和CPU時(shí)序
基本時(shí)序單位:?jiǎn)纹瑱C(jī)以晶體振蕩器的振蕩周期為最小的時(shí)序單位,片內(nèi)的各種微操作都以此周期為時(shí)序基準(zhǔn)。振蕩頻率foscl2分頻后形成機(jī)器周期MC。所以,1個(gè)機(jī)器周期包含有12個(gè)振蕩周期。振蕩周期和機(jī)器周期是單片機(jī)內(nèi)計(jì)算其它時(shí)間值(例如,波特率、定時(shí)器的定時(shí)時(shí)間等)的基本時(shí)序單位。下面是單片機(jī)外接晶振頻率12MHZ時(shí)的各種時(shí)序單位的大?。?/p>
振蕩周期=1/fosc=1/12MHZ=0.0833us機(jī)器周期=1/(fosc/12)=1μs本章首頁(yè)上一頁(yè)下一頁(yè)241.4并行I/O、時(shí)序、復(fù)位1.4.2時(shí)鐘和CPU時(shí)序1.4并行I/O、時(shí)序、復(fù)位1.4.3復(fù)位、掉電處理部分特殊功能寄存器的復(fù)位狀態(tài)
說(shuō)明:表中符號(hào)×狀為隨機(jī)態(tài)。本章首頁(yè)上一頁(yè)下一頁(yè)251.4并行I/O、時(shí)序、復(fù)位1.4.3復(fù)位、掉電處理部本章重點(diǎn)內(nèi)容小結(jié)1.單片機(jī)引腳:四組,共40個(gè)2.CPU存儲(chǔ)器:ACC,B,PSW3.單片機(jī)存儲(chǔ)器分成程序和數(shù)據(jù)存儲(chǔ)器.程序存儲(chǔ)器的地址范圍從0000H-0FFFH,共4KB個(gè);數(shù)據(jù)存儲(chǔ)器共128B,分成工作寄存器區(qū),位地址區(qū)和堆棧區(qū)。第一章MCS-51單片機(jī)結(jié)構(gòu)和原理本章首頁(yè)上一頁(yè)下一頁(yè)26本章重點(diǎn)內(nèi)容小結(jié)1.單片機(jī)引腳:四組,共40個(gè)第一章M緒論上一頁(yè)下一頁(yè)主要內(nèi)容2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)2.3算術(shù)運(yùn)算類(lèi)指令
2.6布爾變量操作指令2.4邏輯運(yùn)算及移位指令2.2數(shù)據(jù)傳送類(lèi)指令2.5控制轉(zhuǎn)移指令第二章MCS-51單片機(jī)結(jié)構(gòu)和原理27緒論上一頁(yè)下一頁(yè)主要2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)2.31.單片機(jī)尋址方式2.單片機(jī)指令系統(tǒng)3.單片機(jī)指令應(yīng)用本章重點(diǎn)內(nèi)容本章難點(diǎn)內(nèi)容單片機(jī)指令系統(tǒng)多且雜,需要多看,多背,多練,熟練掌握,為程序設(shè)計(jì)打下良好基礎(chǔ)第二章MCS-51單片機(jī)結(jié)構(gòu)和原理281.單片機(jī)尋址方式本章重點(diǎn)內(nèi)容本章難點(diǎn)內(nèi)容單片機(jī)指令系統(tǒng)多且本章首頁(yè)上一頁(yè)下一頁(yè)問(wèn)題:如何使P1口所連接的8個(gè)發(fā)光二極管點(diǎn)亮?通過(guò)單片機(jī)的指令系統(tǒng)編程實(shí)現(xiàn)。第二章MCS-51單片機(jī)結(jié)構(gòu)和原理29本章首頁(yè)上一頁(yè)下一頁(yè)問(wèn)題:如何使P1口所連接的8個(gè)發(fā)光二極管本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)本節(jié)學(xué)習(xí)重點(diǎn)1.單片機(jī)指令格式2.七種尋址方式的名稱(chēng)及標(biāo)志3.單片機(jī)內(nèi)部常用符號(hào)30本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)本節(jié)學(xué)習(xí)重本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)2.1.1單片機(jī)匯編語(yǔ)言指令格式[標(biāo)號(hào):]操作碼助記符[目的操作數(shù)][,源操作數(shù)][;注釋]標(biāo)號(hào):指令的符號(hào)地址操作碼:表示指令進(jìn)行何種操作操作數(shù):指令的操作對(duì)象注釋?zhuān)簩?duì)指令功能的說(shuō)明31本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)2.1.1本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)2.1.2單片機(jī)的常用符號(hào)
Rn選定當(dāng)前工作寄存器區(qū)的寄存器,n=0~7@Ri@:間接尋址前綴符號(hào)i=0,1
direct直接地址(8位二進(jìn)制數(shù))
#data#:立即數(shù)前綴標(biāo)志,8位或16位立即數(shù)
ADDr1616位目的地址
ADDr1111位目的地址
rel8位帶符號(hào)偏移量
bit位操作
/該位內(nèi)容取反MOVA,#00HMOVA,00H注意:直接地址與立即數(shù)之間的區(qū)別32本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)2.1.2本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)
(X)表示以X為地址單元中的內(nèi)容
((X))表示以X地址單元中的內(nèi)容為地址的單元中的內(nèi)容。
$當(dāng)前指令的地址
←數(shù)據(jù)傳輸方向,用于指向目的操作數(shù);注釋?zhuān)?0H)((30H))30H31H32H36H35H33H34H35H33H30H34H32H31H36H=35H=(35H)=32H33本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)(X)本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)單片機(jī)的尋址方式例如:1000H:JC,93H分析:當(dāng)CY=1時(shí),轉(zhuǎn)移,過(guò)程如右圖所示:尋址方式標(biāo)志位立即尋址#data寄存器尋址Rn間接尋址@Ri/@DPTR直接尋址Direct基址加變址尋址@A+PC
@A+DPTR相對(duì)尋址rel特定寄存器尋址A/DPTR34本章首頁(yè)上一頁(yè)下一頁(yè)2.1單片機(jī)的指令系統(tǒng)基礎(chǔ)單片機(jī)的尋本章首頁(yè)上一頁(yè)下一頁(yè)本節(jié)學(xué)習(xí)重點(diǎn)1.指令的格式2.指令的形式(目的操作數(shù),源操作數(shù))3.指令的注意事項(xiàng)2.2數(shù)據(jù)傳送類(lèi)指令35本章首頁(yè)上一頁(yè)下一頁(yè)本節(jié)學(xué)習(xí)重點(diǎn)2.2數(shù)據(jù)傳送類(lèi)指令35本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令2.2.1內(nèi)部RAM數(shù)據(jù)傳送指令
1.指令格式
指令格式: MOV[目的操作數(shù)],[源操作數(shù)]
功能:把源操作數(shù)傳送到目的操作數(shù)中,源操作數(shù)內(nèi)容不變。
2.操作數(shù)
[目的操作數(shù)],[源操作數(shù)]
注意:沒(méi)有MOVRn,@Ri、MOVRn,Rn和MOV@Ri,@Ri指令
36本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令2.2.1內(nèi)部本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令A(yù)cc累加器Direct直接尋址@Ri間接尋址Rn寄存器#data立即數(shù)DPTR37本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令A(yù)cc累加器D本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令vccORG0000H;開(kāi)始偽指令MOVP1,#0FEHMOVP1,#0FDHMOVP1,#0FBHMOVP1,#00HEND;結(jié)束尾指令P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7指令效果演示38本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令vccORG本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令2.2.2數(shù)據(jù)交換指令1.整字節(jié)交換:
XCHA,Rn ;(A)←→(Rn) XCHA,direct ;(A)←→(direct) XCHA,@Ri ;(A)←→((Ri))2.半字節(jié)交換:
XCHDA,@Ri;(A)0-3←→((Ri))0-3
3.累加器自身高低4位交換
SWAPA;(A)7-4←→(A)3-039本章首頁(yè)上一頁(yè)下一頁(yè)2.2數(shù)據(jù)傳送類(lèi)指令2.2.2數(shù)據(jù)2.2數(shù)據(jù)傳送類(lèi)指令例:(A)=01101101B,執(zhí)行:SWAPA本章首頁(yè)上一頁(yè)下一頁(yè)402.2數(shù)據(jù)傳送類(lèi)指令例:(A)=01101101B,執(zhí)行本節(jié)學(xué)習(xí)重點(diǎn)1.指令的格式,類(lèi)似記憶2.指令的形式3.指令的注意事項(xiàng)本節(jié)學(xué)習(xí)難點(diǎn)1.注意運(yùn)算標(biāo)志位的變化2.乘除指令的應(yīng)用2.3算術(shù)運(yùn)算類(lèi)指令本章首頁(yè)上一頁(yè)下一頁(yè)41本節(jié)學(xué)習(xí)重點(diǎn)2.3算術(shù)運(yùn)算類(lèi)指令本章首頁(yè)上一頁(yè)下一頁(yè)42.3算術(shù)運(yùn)算類(lèi)指令2.3.1加減指令1.加法ADD:2.帶進(jìn)位加法指令A(yù)DDC:3.帶進(jìn)位加法指令SUBB:ADD A,Rn ;A←(A)+(Rn)ADDC A,Rn
;A←(A)+(Rn)+(C)SUBB A,Rn ;A←(A)-(Rn)-(C)注意:減法只有帶進(jìn)位的減法指令。計(jì)算兩數(shù)相減,先令(C)=0,再執(zhí)行SUBB
目的操作數(shù):A源操作數(shù):Rn/@Ri/direct/#data
本章首頁(yè)上一頁(yè)下一頁(yè)422.3算術(shù)運(yùn)算類(lèi)指令2.3.1加減指令1.加法ADD2.3算術(shù)運(yùn)算類(lèi)指令2.3.2加/減1指令I(lǐng)NC/DEC<byte>
1.助記符:
INC DEC 2.操作數(shù): A,direct,@Ri,Rn,[DPTR只用于INC] 3.指令描述: 不影響PSW,即使有進(jìn)位或借位,CY也不變,除A影響P標(biāo)志本章首頁(yè)上一頁(yè)下一頁(yè)432.3算術(shù)運(yùn)算類(lèi)指令2.3.2加/減1指令I(lǐng)NP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.72.3算術(shù)運(yùn)算類(lèi)指令vccORG0000H;開(kāi)始偽指令MOVP1,#0FEHDECP1MOVA,P1ADDA,#3MOVP1,AEND;結(jié)束尾指令指令效果演示本章首頁(yè)上一頁(yè)下一頁(yè)44P1.02.3算術(shù)運(yùn)算類(lèi)指令vccORG0000H2.3算術(shù)運(yùn)算類(lèi)指令2.3.4.乘除指令
1.8位無(wú)符號(hào)數(shù)乘法指令
MUL AB;(B15-8)(A7-0)←(A)(B) PSW:1)若乘積大于256,OV=12)CY總是清“0”。 例如:(A)=50H,(B)=A0H,執(zhí)行MULAB后 結(jié)果:(B)=32H,(A)=00H,(OV)=12.8位無(wú)符號(hào)除法指令
DIV AB;(A)←(A/B)的(商) (B)←(A/B)的(余數(shù)) PSW:1)CY、OV,清“0”2)若(B)=0,OV=1。 例如:(A)=2AH,(B)=05H,執(zhí)行DIVAB后 結(jié)果:(A)=08H,(B)=02H,(OV)=0本章首頁(yè)上一頁(yè)下一頁(yè)452.3算術(shù)運(yùn)算類(lèi)指令2.3.4.乘除指令本章首頁(yè)本節(jié)學(xué)習(xí)重點(diǎn)1.指令的格式2.指令的形式,注意目的操作數(shù)3.指令的注意事項(xiàng)本節(jié)學(xué)習(xí)難點(diǎn)1.注意很多指令的目的操作數(shù)只能是A2.與、或和異或指令的應(yīng)用2.4邏輯運(yùn)算及移位指令本章首頁(yè)上一頁(yè)下一頁(yè)46本節(jié)學(xué)習(xí)重點(diǎn)2.4邏輯運(yùn)算及移位指令本章首頁(yè)上一頁(yè)下一頁(yè)2.4邏輯運(yùn)算及移位指令2.4.1累加器的邏輯操作指令1.累加器清零、取反指令累加器清零指令1條,它是將A的內(nèi)容清“0”。
CLR A
;A←0
累加器取反指令1條,它是將A的內(nèi)容按位取反。
CPL A
;A←(A)
例如(A)=27H。(A)=00100111BCPLA(A)=11011000BCLRA(A)=00000000B本章首頁(yè)上一頁(yè)下一頁(yè)472.4邏輯運(yùn)算及移位指令2.4.1累加器的邏輯操作指令2.4邏輯運(yùn)算及移位指令2.累加器移位操作:(RL,RLC,RR,RRC——4條)RLA
左環(huán)移累加器A累加器ACyRRCA
帶進(jìn)位位右環(huán)移累加器ARRA
右環(huán)移累加器ACyRLCA
帶進(jìn)位位左環(huán)移本章首頁(yè)上一頁(yè)下一頁(yè)482.4邏輯運(yùn)算及移位指令2.累加器移位操作:(RL,RL2.4.2邏輯運(yùn)算指令
包括邏輯與、或、異或運(yùn)算指令
目的操作數(shù)為A/direct,源操作數(shù)為A/Rn/@Ri/direct/#data
2.4邏輯運(yùn)算及移位指令本章首頁(yè)上一頁(yè)下一頁(yè)492.4.2邏輯運(yùn)算指令2.4邏輯運(yùn)算及移位指令本章2.4邏輯運(yùn)算及移位指令P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vccORG0000H;開(kāi)始偽指令MOVP1,#00HORLP1,#0FFHORLP1,#00HANLP1,#00HANLP1,#0FFHXRLP1,#00HXRLP1,#0FFHEND;結(jié)束尾指令指令效果演示本章首頁(yè)上一頁(yè)下一頁(yè)502.4邏輯運(yùn)算及移位指令P1.0vccORG0000本節(jié)學(xué)習(xí)重點(diǎn)1.指令的格式2.指令的形式3.指令的注意事項(xiàng)4.下一條指令的執(zhí)行位置本節(jié)學(xué)習(xí)難點(diǎn):1.CJNEDJNZ指令用法2.指令轉(zhuǎn)移方向2.5控制轉(zhuǎn)移指令本章首頁(yè)上一頁(yè)下一頁(yè)51本節(jié)學(xué)習(xí)重點(diǎn)2.5控制轉(zhuǎn)移指令本章首頁(yè)上一頁(yè)下一頁(yè)512.5控制轉(zhuǎn)移指令2.5.1無(wú)條件轉(zhuǎn)移:LJMP,AJMP,SJMP,JMP——4條LJMPaddr16長(zhǎng)跳轉(zhuǎn)指令——可在64K范圍內(nèi)跳轉(zhuǎn)AJMPaddr11絕對(duì)跳轉(zhuǎn)指令——可在指令所在的2K范圍內(nèi)跳轉(zhuǎn)SJMPrel相對(duì)跳轉(zhuǎn)指令——可在當(dāng)前PC-128與+127范圍內(nèi)跳轉(zhuǎn)本章首頁(yè)上一頁(yè)下一頁(yè)522.5控制轉(zhuǎn)移指令2.5.1無(wú)條件轉(zhuǎn)移:LJMP,A1.短調(diào)用指令
ACALLaddr112.長(zhǎng)調(diào)用指令
LCALLaddr16編程時(shí),可用標(biāo)號(hào)代替轉(zhuǎn)移目的地址,addr11,addr16交給編譯程序計(jì)算。注意:調(diào)用指令A(yù)CALLLCALL必須與RET相對(duì)應(yīng)。3.返回指令RET和中斷返回指令RETI4.空操作指令NOP2.5控制轉(zhuǎn)移指令2.5.2調(diào)用指令斷點(diǎn)主程序主程序調(diào)用子程序返回本章首頁(yè)上一頁(yè)下一頁(yè)531.短調(diào)用指令2.5控制轉(zhuǎn)移指令2.5.2調(diào)用指令斷點(diǎn)2.5控制轉(zhuǎn)移指令例分析下列程序的執(zhí)行過(guò)程,并說(shuō)明程序執(zhí)行后P1中的值。MOVA,#0FFHA1:CPLAJZA0A2:ADDA,#0FHRETJNZA0A0:MOVP1,AJNBACC.7,A2CALLA1本章首頁(yè)上一頁(yè)下一頁(yè)542.5控制轉(zhuǎn)移指令例分析下列程序的執(zhí)行過(guò)程,并說(shuō)明程2.5控制轉(zhuǎn)移指令
條件不滿(mǎn)足時(shí),順序執(zhí)行;條件滿(mǎn)足時(shí),轉(zhuǎn)移執(zhí)行。1.判A轉(zhuǎn)移,2字節(jié)
JZ rel;條件:(A)=0
JNZ rel;條件:(A)≠02.判Bit轉(zhuǎn)移,3字節(jié)
JBbit,rel;條件:(bit)=1
JNBbit,rel;條件:(bit)=0
JBCbit,rel;條件:(bit)=1轉(zhuǎn)移,并清bit位3.判C轉(zhuǎn)移,2字節(jié)
JC rel;條件:(C)=1
JNC rel;條件:(C)=02.5.3條件轉(zhuǎn)移指令本章首頁(yè)上一頁(yè)下一頁(yè)552.5控制轉(zhuǎn)移指令 條件不滿(mǎn)足時(shí),順序執(zhí)行;條件滿(mǎn)足時(shí),2.5控制轉(zhuǎn)移指令2.5.3、條件轉(zhuǎn)移指令4.比較不相等轉(zhuǎn)移指令CJNEA,#data,relCJNEA,direct,relCJNERn,#data,relCJNE@Ri,#data,rel(A)=#data,繼續(xù)C←0(A)>#data,轉(zhuǎn)C←0(A)<#data,轉(zhuǎn)C←1本章首頁(yè)上一頁(yè)下一頁(yè)562.5控制轉(zhuǎn)移指令2.5.3、條件轉(zhuǎn)移指令(A)=#da2.5控制轉(zhuǎn)移指令
5.減“1”不為0轉(zhuǎn)移指令DJNZ 又稱(chēng)循環(huán)轉(zhuǎn)移指令,主要用來(lái)構(gòu)成循環(huán)結(jié)構(gòu),有2條:
DJNZ Rn, rel ;2字節(jié)指令,2周期指令 DJNZ direct,rel ;3字節(jié)指令,2周期指令 目的地址:(PC)=(PC)+指令字節(jié)數(shù)2或3+rel分析下面程序的執(zhí)行過(guò)程:MOVR7,#3MOVA,#00HLOOP:INCADJNZR7,LOOPENDLOOP執(zhí)行次數(shù)(A)DJNZ執(zhí)行后(R7)DJNZ執(zhí)行前(R7)112221330321本章首頁(yè)上一頁(yè)下一頁(yè)572.5控制轉(zhuǎn)移指令5.減“1”不為0轉(zhuǎn)移指令DJNZ本節(jié)學(xué)習(xí)重點(diǎn)1.指令的格式2.指令的形式3.指令的注意事項(xiàng)本節(jié)學(xué)習(xí)難點(diǎn)1.區(qū)分位與字節(jié)的含義及用法2.6布爾變量操作指令本章首頁(yè)上一頁(yè)下一頁(yè)58本節(jié)學(xué)習(xí)重點(diǎn)2.6布爾變量操作指令本章首頁(yè)上一頁(yè)下一頁(yè)52.6.1概述1.布爾處理器C:可尋址內(nèi)部RAM中的可尋址位: bit=00~FFH,和SFR中的可尋址位。2.位地址的描述形式:
1)直接位地址,如MOVC,70H2)字節(jié)地址+位地址,如20H.1,ACC.4,PSW.4等3)位寄存器名稱(chēng),如F0,C,RS1,RS0等4)偽指令定義過(guò)的位名稱(chēng)2.6布爾變量操作指令本章首頁(yè)上一頁(yè)下一頁(yè)592.6.1概述2.6布爾變量操作指令本章首頁(yè)上一頁(yè)下一2.6布爾變量操作指令位指令參考字節(jié)指令本章首頁(yè)上一頁(yè)下一頁(yè)602.6布爾變量操作指令位指令參考字節(jié)指令本章首頁(yè)上一頁(yè)下2.6布爾變量操作指令P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vccORG0000H;開(kāi)始偽指令CLRP1.0CPLP1.0CLRP1.1SETBP1.1END;結(jié)束尾指令指令效果演示本章首頁(yè)上一頁(yè)下一頁(yè)612.6布爾變量操作指令P1.0vccORG0000H本章重點(diǎn)內(nèi)容小結(jié)1.匯編指令2.指令格式[標(biāo)號(hào):]操作碼助記符[目的操作數(shù)][,源操作數(shù)][;注釋]3.7種尋址方式立即尋址、寄存器尋址、間接尋址、直接尋址、變址尋址、相對(duì)尋址和特定寄存器尋址。4.51單片機(jī)指令系統(tǒng)數(shù)據(jù)傳送類(lèi)指令:(29條)算術(shù)運(yùn)算類(lèi)指令:(24條)邏輯運(yùn)算及移位類(lèi)指令:(24條)控制轉(zhuǎn)移類(lèi)指令:(17條)位操作(布爾操作)類(lèi)指令:(17條)第二章MCS-51單片機(jī)結(jié)構(gòu)和原理本章首頁(yè)上一頁(yè)下一頁(yè)62本章重點(diǎn)內(nèi)容小結(jié)第二章MCS-51單片機(jī)結(jié)構(gòu)和原理本章1)指令系統(tǒng)總結(jié)1本章首頁(yè)上一頁(yè)下一頁(yè)第二章MCS-51單片機(jī)結(jié)構(gòu)和原理631)指令系統(tǒng)總結(jié)1本章首頁(yè)上一頁(yè)下一頁(yè)第二章MCS-51)指令系統(tǒng)總結(jié)2本章首頁(yè)上一頁(yè)下一頁(yè)第二章MCS-51單片機(jī)結(jié)構(gòu)和原理641)指令系統(tǒng)總結(jié)2本章首頁(yè)上一頁(yè)下一頁(yè)第二章MCS-5本章首頁(yè)上一頁(yè)下一頁(yè)固定用法:SWAPAMOVCA,@A+DPTRMOVCA,@A+PCMOVXA,@DPTRMOVXA,@RiMOVX@DPTR,AMOVX@Ri,AMULABDIVABDAACPLACLRARLARRCARRARRCALJMPaddr16AJMPaddr11SJMPrelLCALLaddr16ACALLaddr11JZrelJNZrelCLRC/BITSETBC/BITCPLC/BITJCRELJNCRELJBBIT,RELJNBBIT,RELJBCBIT,REL指令系統(tǒng)總結(jié)3第二章MCS-51單片機(jī)結(jié)構(gòu)和原理65本章首頁(yè)上一頁(yè)下一頁(yè)固定用法:CLRC/BIT指令系第三章匯編語(yǔ)言程序設(shè)計(jì)主要內(nèi)容3.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)3.2發(fā)光二極管的程序設(shè)計(jì)3.3七段碼顯示器的程序設(shè)計(jì)3.4鍵盤(pán)程序設(shè)計(jì)緒論上一頁(yè)下一頁(yè)66第三章匯編語(yǔ)言程序設(shè)計(jì)主要3.1程序設(shè)計(jì)一般過(guò)程和本章首頁(yè)上一頁(yè)下一頁(yè)1.單片機(jī)程序設(shè)計(jì)方法2.硬件電路分析本章重點(diǎn)內(nèi)容本章難點(diǎn)內(nèi)容1.單片機(jī)指令系統(tǒng)是程序設(shè)計(jì)的基礎(chǔ),要熟記2.硬件電路與軟件設(shè)計(jì)相結(jié)合進(jìn)行程序設(shè)計(jì)第三章匯編語(yǔ)言程序設(shè)計(jì)67本章首頁(yè)上一頁(yè)下一頁(yè)1.單片機(jī)程序設(shè)計(jì)方法本章重點(diǎn)內(nèi)容本章難本章首頁(yè)上一頁(yè)下一頁(yè)3.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)本節(jié)學(xué)習(xí)重點(diǎn)1.偽指令的含義及用法2.流程圖的形式68本章首頁(yè)上一頁(yè)下一頁(yè)3.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)本節(jié)3.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)3.1.1匯編語(yǔ)言設(shè)計(jì)步驟設(shè)計(jì)步驟編程前多思考設(shè)計(jì)課題設(shè)計(jì)規(guī)劃模型算法繪制流程程序設(shè)計(jì)調(diào)試修正編程中多檢查本章首頁(yè)上一頁(yè)下一頁(yè)693.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)3.1.1匯編語(yǔ)言設(shè)3.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)3.1.2編制程序的流程圖開(kāi)始起點(diǎn)處理框判斷框處理框結(jié)束子程序框本章首頁(yè)上一頁(yè)下一頁(yè)703.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)3.1.2編制程序的3.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)流程圖練習(xí)例:要使內(nèi)部RAM的R0-R3的內(nèi)容為05H,畫(huà)出流程圖。開(kāi)始R0變?yōu)?5HR1變?yōu)?5H結(jié)束R2變?yōu)?5HR3變?yōu)?5H本章首頁(yè)上一頁(yè)下一頁(yè)713.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)流程圖練習(xí)例:要使內(nèi)部R3.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)3.1.3單片機(jī)51系列的偽指令
偽指令是指令系統(tǒng)之外的,是程序源發(fā)給匯編程序的指令。不執(zhí)行也不占用字節(jié)。下面介紹MCS-51匯編語(yǔ)言程序中常用的偽指令。
1.ORG匯編起始地址命令[標(biāo)號(hào):]ORG地址
2.END匯編終止命令
END[表達(dá)式]
3.DB定義字節(jié)命令[標(biāo)號(hào):]DB數(shù)據(jù)表4.DW定義字命令[標(biāo)號(hào):]DW字?jǐn)?shù)據(jù)表本章首頁(yè)上一頁(yè)下一頁(yè)723.1程序設(shè)計(jì)一般過(guò)程和注意事項(xiàng)3.1.3單片機(jī)513.2發(fā)光二極管的程序設(shè)計(jì)本節(jié)學(xué)習(xí)重點(diǎn)1.掌握順序程序的設(shè)計(jì)方法2.可以通過(guò)硬件連接轉(zhuǎn)化成單片機(jī)的輸入輸出值3.掌握循環(huán)程序的設(shè)計(jì)方法本節(jié)學(xué)習(xí)難點(diǎn)1.延時(shí)程序的分析2.循環(huán)程序中的初始化,控制轉(zhuǎn)移本章首頁(yè)上一頁(yè)下一頁(yè)733.2發(fā)光二極管的程序設(shè)計(jì)本節(jié)學(xué)習(xí)重點(diǎn)本章首頁(yè)上一頁(yè)下一3.2發(fā)光二極管的程序設(shè)計(jì)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vcc1.根據(jù)硬件連接判定LED的連接方式2.將設(shè)計(jì)要求轉(zhuǎn)化成單片機(jī)I/O口輸出的高低電平的變化3.將高低電平的變化用程序設(shè)計(jì)出來(lái)。設(shè)計(jì)步驟1.LED共陽(yáng)和共陰的接法2.信號(hào)的變化要通過(guò)單片機(jī)的I/O口輸出3.注意A中存的值,是否需要暫存4.信號(hào)的變化需要加延時(shí)程序注意事項(xiàng)本章首頁(yè)上一頁(yè)下一頁(yè)743.2發(fā)光二極管的程序設(shè)計(jì)P1.0vcc1.根據(jù)硬件連接3.2發(fā)光二極管的程序設(shè)計(jì)3.2.1編程實(shí)現(xiàn)P0.0所連接的燈閃爍,間隔為1S。設(shè)計(jì)思路:1.燈亮一秒,滅一秒,再重復(fù)上述過(guò)程。2.亮一秒,滅一秒可用順序程序設(shè)計(jì)方法3.重復(fù)的過(guò)程可用無(wú)條件轉(zhuǎn)移指令完成P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vcc動(dòng)畫(huà)播放動(dòng)畫(huà)播放本章首頁(yè)上一頁(yè)下一頁(yè)753.2發(fā)光二極管的程序設(shè)計(jì)3.2.1編程實(shí)現(xiàn)P0.0所3.2發(fā)光二極管的程序設(shè)計(jì)程序設(shè)計(jì)流程圖開(kāi)始燈亮一秒燈滅一秒結(jié)束ORG0000HLOOP:CLRP0.0;燈亮LCALLDELL;延時(shí)1秒SETBP0.0LCALLDELLAJMPLOOPDELL:MOVR7,#0DEL1:MOVR6,#0DEL2:MOVR5,#2DEL3:DJNZR5,DEL3DJNZR6,DEL2DJNZR7,DEL1RETEND位指令CPLP0.0LCALLDELL本章首頁(yè)上一頁(yè)下一頁(yè)763.2發(fā)光二極管的程序設(shè)計(jì)程序設(shè)計(jì)流程圖開(kāi)始燈亮一秒燈滅3.2發(fā)光二極管的程序設(shè)計(jì)程序設(shè)計(jì)流程圖開(kāi)始燈亮一秒燈滅一秒結(jié)束ORG0000HLOOP:MOVP0,#0FEH;燈亮LCALLDELL;延時(shí)1秒MOVP0,#0FFH;燈滅LCALLDELLAJMPLOOPDELL:MOVR7,#0DEL1:MOVR6,#0DEL2:MOVR5,#2DEL3:DJNZR5,DEL3DJNZR6,DEL2DJNZR7,DEL1RETEND字節(jié)指令MOVP0,#0FEHLOOP:LCALLDELL;延時(shí)1秒XRLP0,#01H;燈變換狀態(tài)同一程序可以用多種不同的方法實(shí)現(xiàn),需要多加練習(xí)本章首頁(yè)上一頁(yè)下一頁(yè)773.2發(fā)光二極管的程序設(shè)計(jì)程序設(shè)計(jì)流程圖開(kāi)始燈亮一秒燈滅3.2發(fā)光二極管的程序設(shè)計(jì)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vcc3.2.2編程實(shí)現(xiàn)P1所連接的燈一個(gè)一個(gè)的循環(huán)點(diǎn)亮,時(shí)間間隔為1S。動(dòng)畫(huà)播放動(dòng)畫(huà)播放本章首頁(yè)上一頁(yè)下一頁(yè)783.2發(fā)光二極管的程序設(shè)計(jì)P1.0vcc3.2.2編程3.2發(fā)光二極管的程序設(shè)計(jì)設(shè)計(jì)思路:1.燈每次亮一個(gè),數(shù)值分別為11111110B,11111101B,11111011B,11110111B,11101111B,11011111B,10111111B,01111111B。從上面的數(shù)值分析,可以直接用賦值的方法也可以用數(shù)據(jù)移位的方法。2.從第一個(gè)燈到最后一個(gè)燈,可用順序程序設(shè)計(jì)方法3.重復(fù)的過(guò)程可用無(wú)條件轉(zhuǎn)移指令完成3.2.2編程實(shí)現(xiàn)P1所連接的燈一個(gè)一個(gè)的循環(huán)點(diǎn)亮,時(shí)間間隔為1S。本章首頁(yè)上一頁(yè)下一頁(yè)793.2發(fā)光二極管的程序設(shè)計(jì)設(shè)計(jì)思路:3.2.2編程實(shí)現(xiàn)3.2發(fā)光二極管的程序設(shè)計(jì)3.2.2編程實(shí)現(xiàn)P1所連接的燈一個(gè)一個(gè)的循環(huán)點(diǎn)亮,時(shí)間間隔為1S。方法1程序設(shè)計(jì)流程圖開(kāi)始第一個(gè)燈亮一秒第二個(gè)燈亮一秒結(jié)束第八個(gè)燈亮一秒ORG0000HLOOP:MOVP1,#0FEH;燈1亮LCALLDELL;延時(shí)1秒MOVP1,#0FDH;燈2亮LCALLDELL..........MOVP1,#07FH;燈8亮LCALLDELLAJMPLOOPDELL:MOVR7,#0;延時(shí)1秒子程序..........RETEND賦值法本章首頁(yè)上一頁(yè)下一頁(yè)803.2發(fā)光二極管的程序設(shè)計(jì)3.2.2編程實(shí)現(xiàn)P1所連接3.2發(fā)光二極管的程序設(shè)計(jì)開(kāi)始燈亮的初值相應(yīng)燈亮一秒結(jié)束燈亮數(shù)值移位3.2.2編程實(shí)現(xiàn)P1所連接的燈一個(gè)一個(gè)的循環(huán)點(diǎn)亮,時(shí)間間隔為1S。方法2程序設(shè)計(jì)流程圖ORG0000HMOVA,#0FEH;初值LOOP:MOVP0,ARLA;間接移位LCALLDELLAJMPLOOPDELL:MOVR7,#0DEL1:MOVR6,#0DEL2:MOVR5,#2DEL3:DJNZR5,DEL3DJNZR6,DEL2DJNZR7,DEL1RETEND移位法單片機(jī)指令系統(tǒng)中有很多指令只依靠累加器A才能完成,因此很多程序需要借助A進(jìn)行數(shù)據(jù)處理,即間接本章首頁(yè)上一頁(yè)下一頁(yè)813.2發(fā)光二極管的程序設(shè)計(jì)開(kāi)始燈亮的初值相應(yīng)燈亮一秒結(jié)束3.2發(fā)光二極管的程序設(shè)計(jì)3.2.3編程實(shí)現(xiàn)P0所連接的8個(gè)燈以下表的形式循環(huán)點(diǎn)亮。本章首頁(yè)上一頁(yè)下一頁(yè)823.2發(fā)光二極管的程序設(shè)計(jì)3.2.3編程實(shí)現(xiàn)P0所連接3.2發(fā)光二極管的程序設(shè)計(jì)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vcc動(dòng)畫(huà)播放動(dòng)畫(huà)播放3.2.3編程實(shí)現(xiàn)P0所連接的8個(gè)燈以下表的形式循環(huán)點(diǎn)亮。本章首頁(yè)上一頁(yè)下一頁(yè)833.2發(fā)光二極管的程序設(shè)計(jì)P1.0vcc動(dòng)畫(huà)播放動(dòng)畫(huà)播放3.2發(fā)光二極管的程序設(shè)計(jì)設(shè)計(jì)思路:1.燈每次亮一個(gè),數(shù)值分別為11111110B,11111100B,11111000B,11110000B,11100000B,11000000B,10000000B,00000000B.從上面的數(shù)值分析,可以直接用賦值的方法也可以用數(shù)據(jù)移位的方法。2.從第一個(gè)燈到最后一個(gè)燈,可用順序程序設(shè)計(jì)方法3.重復(fù)的過(guò)程可用無(wú)條件轉(zhuǎn)移指令無(wú)法完成循環(huán)程序設(shè)計(jì)方法3.2.3編程實(shí)現(xiàn)P0所連接的8個(gè)燈以下表的形式循環(huán)點(diǎn)亮。本章首頁(yè)上一頁(yè)下一頁(yè)843.2發(fā)光二極管的程序設(shè)計(jì)設(shè)計(jì)思路:循環(huán)程序發(fā)光二極管的程序設(shè)計(jì)循環(huán)結(jié)構(gòu)地址指針計(jì)數(shù)初值循環(huán)保障單次循環(huán)的順序程序設(shè)計(jì)修改地址指針修改變量循環(huán)結(jié)束條件結(jié)果分析、處理和存放1.初始化2.循環(huán)處理3.循環(huán)控制4.循環(huán)結(jié)束*循環(huán)主體部分本章首頁(yè)上一頁(yè)下一頁(yè)853.2發(fā)光二極管的程序設(shè)計(jì)循環(huán)結(jié)構(gòu)地址指針循環(huán)保障單次移位法3.2發(fā)光二極管的程序設(shè)計(jì)開(kāi)始燈亮的初值,循環(huán)次數(shù)相應(yīng)燈亮一秒結(jié)束燈亮數(shù)值帶進(jìn)位移位程序設(shè)計(jì)流程圖ORG0000HLOP0:MOVA,#0FEH;初值MOVR0,#8LOOP:MOVP0,ACLRCRLCA;間接移位LCALLDELLDJNZR0,LOOPAJMPLOP0DELL:MOVR7,#0........RETEND循環(huán)是否結(jié)束是否注意:循環(huán)程序設(shè)計(jì)中循環(huán)次數(shù)寄存器不要與延時(shí)程序中的寄存器復(fù)用,否則會(huì)造成循環(huán)無(wú)法停止3.2.3編程實(shí)現(xiàn)P0所連接的8個(gè)燈以下表的形式循環(huán)點(diǎn)亮。本章首頁(yè)上一頁(yè)下一頁(yè)86移位法3.2發(fā)光二極管的程序設(shè)計(jì)開(kāi)始燈亮的初值,循環(huán)次數(shù)3.3七段碼顯示器的程序設(shè)計(jì)本節(jié)學(xué)習(xí)重點(diǎn)1.掌握查表程序的設(shè)計(jì)方法2.可以通過(guò)硬件連接轉(zhuǎn)化成單片機(jī)的輸入輸出值3.掌握循環(huán)程序的設(shè)計(jì)方法本節(jié)學(xué)習(xí)難點(diǎn)1.查表程序設(shè)計(jì)方法2.循環(huán)程序中的控制轉(zhuǎn)移本章首頁(yè)上一頁(yè)下一頁(yè)873.3七段碼顯示器的程序設(shè)計(jì)本節(jié)學(xué)習(xí)重點(diǎn)本章首頁(yè)上一頁(yè)下
COM:顯示器位選線(xiàn)a~dp:顯示器段選線(xiàn)3.3七段碼顯示器的程序設(shè)計(jì)3.3.1七段碼顯示數(shù)碼管結(jié)構(gòu)本章首頁(yè)上一頁(yè)下一頁(yè)88 COM:顯示器位選線(xiàn)a~dp:顯示器3.3七段碼顯示器的程序設(shè)計(jì)P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vcc動(dòng)畫(huà)播放動(dòng)畫(huà)播放3.3.2七段碼顯示器從0-9循環(huán)點(diǎn)亮。本章首頁(yè)上一頁(yè)下一頁(yè)893.3七段碼顯示器的程序設(shè)計(jì)P1.0vcc動(dòng)畫(huà)播放動(dòng)畫(huà)播3.3七段碼顯示器的程序設(shè)計(jì)設(shè)計(jì)思路:燈亮0-9,數(shù)值分別為共陽(yáng)順序段碼:C0H,F(xiàn)9H,A4H,B0H,99H,92H,82H,F(xiàn)8H,80H,90H共陰順序段碼:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH(Dp→a)從上面的數(shù)值分析,可以直接用賦值的方法也可以用查表的方法。3.3.2七段碼顯示器從0-9循環(huán)點(diǎn)亮。本章首頁(yè)上一頁(yè)下一頁(yè)903.3七段碼顯示器的程序設(shè)計(jì)設(shè)計(jì)思路:3.3.2七段3.3七段碼顯示器的程序設(shè)計(jì)3.3.3查表指令匯編指令格式MOVCA,@A+DPTR
A←((A)+(DPTR))MOVCA,@A+PC
PC←(PC)+1,
A←((A)+(PC))
A@A+DPTR變址遠(yuǎn)程查表ROM64KB@A+PC變址近程查表ROM指令附近256B本章首頁(yè)上一頁(yè)下一頁(yè)913.3七段碼顯示器的程序設(shè)計(jì)3.3.3查表指令A(yù)@A3.3七段碼顯示器的程序設(shè)計(jì)0200H0201H0202H0203H0204H0205H0206H0207H0208H0209H020AH020BHC0HF9HA4HB0H99H92H82HF8H80H90H00H00HTAB:3.3.4查表程序設(shè)計(jì)MOVDPTR,#TABMOVA,#0MOVCA,@A+DPTRMOVP1,ATAB:DB0C0H,0F9H,0A4H
DB0B0H,99H,92H,82HDB0F8H,80H,90HMOVA,#1DPTRTAB:(A)=((dptr)+(A))C0HF9H本章首頁(yè)上一頁(yè)下一頁(yè)923.3七段碼顯示器的程序設(shè)計(jì)0200H0201H02023.3七段碼顯示器的程序設(shè)計(jì)3.3.4查表程序設(shè)計(jì)具體程序設(shè)計(jì)ORG0000HMOVDPTR,#TABLOOP0:MOVR4,#10MOVR3,#0LOOP1:MOVA,R3MOVCA,@A+DPTRMOVP0,AINCR3LCALLDELLDJNZR4,LOOP1AJMPLOOP0TAB:DB0C0H,0F9H,0A4HDB0B0H,99H,92H,82HDB0F8H,80H,90HDELL:MOVR7,#0DEL1:MOVR6,#0DEL2:MOVR5,#2DEL3:DJNZR5,DEL3DJNZR6,DEL2DJNZR7,DEL1RETEND本章首頁(yè)上一頁(yè)下一頁(yè)933.3七段碼顯示器的程序設(shè)計(jì)3.3.4查表程序設(shè)計(jì)具體3.4鍵盤(pán)程序設(shè)計(jì)本節(jié)學(xué)習(xí)重點(diǎn)1.單片機(jī)I/O口做為數(shù)據(jù)輸入時(shí)的方法2.矩陣式鍵盤(pán)的工作原理3.理解鍵盤(pán)程序設(shè)計(jì)方法本節(jié)學(xué)習(xí)難點(diǎn)1.矩陣式鍵盤(pán)的工作原理2.鍵盤(pán)程序設(shè)計(jì)方法本章首頁(yè)上一頁(yè)下一頁(yè)943.4鍵盤(pán)程序設(shè)計(jì)本節(jié)學(xué)習(xí)重點(diǎn)本章首頁(yè)上一頁(yè)下一頁(yè)941.按鍵開(kāi)關(guān)抖動(dòng)問(wèn)題 按鍵開(kāi)關(guān)在電路中的連接如圖所示:3.4鍵盤(pán)程序設(shè)計(jì)3.4.1鍵盤(pán)工作原理由于按鍵是機(jī)械的彈性開(kāi)關(guān),在按下和斷開(kāi)時(shí),觸點(diǎn)在閉合和斷開(kāi)時(shí),會(huì)引起A點(diǎn)電位的不穩(wěn)定,一般有5~10ms的抖動(dòng),導(dǎo)致誤信號(hào),使CPU產(chǎn)生錯(cuò)誤的處理。本章首頁(yè)上一頁(yè)下一頁(yè)951.按鍵開(kāi)關(guān)抖動(dòng)問(wèn)題3.4鍵盤(pán)程序設(shè)計(jì)3.4.1鍵盤(pán)工3.4鍵盤(pán)程序設(shè)計(jì)3.4.2獨(dú)立式按鍵及其接口特點(diǎn):每個(gè)按鍵占用一根I/O線(xiàn),相互之間沒(méi)有影響。鍵1按下子程序是否有鍵按下是否判斷鍵值鍵盤(pán)程序設(shè)計(jì)的一般思路鍵2按下子程序鍵n按下子程序本章首頁(yè)上一頁(yè)下一頁(yè)963.4鍵盤(pán)程序設(shè)計(jì)3.4.2獨(dú)立式按鍵及其接口特點(diǎn):每3.4鍵盤(pán)程序設(shè)計(jì)KEY:MOVP1,#07H
MOVA,P1
CPLA
ANLA,#07H
JZGRET
JBACC.0,KEY1
JBACC.1,KEY2
JBACC.2,KEY3
GRET:RETKEY1:LCALLWORK1KEY2:LCALLWORK2KEY3:LCALLWORK3 RET本章首頁(yè)上一頁(yè)下一頁(yè)973.4鍵盤(pán)程序設(shè)計(jì)KEY:MOVP1,#07H本章首頁(yè)3.4鍵盤(pán)程序設(shè)計(jì)3.4.2矩陣式按鍵及其接口特點(diǎn):也稱(chēng)行列式鍵盤(pán)。4×4行列結(jié)構(gòu),可安裝16個(gè)按鍵,形成一個(gè)鍵盤(pán)。本章首頁(yè)上一頁(yè)下一頁(yè)983.4鍵盤(pán)程序設(shè)計(jì)3.4.2矩陣式按鍵及其接口特點(diǎn):也
匯編語(yǔ)言程序具有順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、分支結(jié)構(gòu)和子程序結(jié)構(gòu)四種結(jié)構(gòu)形式。實(shí)際的應(yīng)用程序一般都由一個(gè)主程序和多個(gè)子程序構(gòu)成,即采用模塊化的程序設(shè)計(jì)方法。
程序設(shè)計(jì)的原則是盡可能使程序簡(jiǎn)短和縮短運(yùn)行時(shí)間,設(shè)計(jì)的關(guān)鍵首先是根據(jù)實(shí)際問(wèn)題和所選用的單片機(jī)的特點(diǎn)來(lái)合理地確定解決問(wèn)題的算法,然后是將工作任務(wù)細(xì)分成易于理解和實(shí)現(xiàn)的小模塊。
在程序設(shè)計(jì)時(shí),要注意順序程序、循環(huán)程序、分支程序、查表程序和子程序的特點(diǎn)和設(shè)計(jì)方法。要設(shè)計(jì)出高質(zhì)量的程序還需要掌握一定的技巧,通過(guò)多讀、多看一些實(shí)用程序可以積累一定的設(shè)計(jì)經(jīng)驗(yàn)。
第三章匯編語(yǔ)言程序設(shè)計(jì)本章首頁(yè)上一頁(yè)下一頁(yè)99匯編語(yǔ)言程序具有順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、第四章單片機(jī)定時(shí)器/計(jì)數(shù)器、中斷和串行口主要內(nèi)容4.1MCS-51的定時(shí)器/計(jì)數(shù)器4.2單片機(jī)中斷系統(tǒng)4.3單片機(jī)串行口緒論上一頁(yè)下一頁(yè)100第四章單片機(jī)定時(shí)器/計(jì)數(shù)器、中斷和串行口主要4.11.中斷系統(tǒng)組成與結(jié)構(gòu)2.中斷相關(guān)存儲(chǔ)器3.中斷程序設(shè)計(jì)本章重點(diǎn)內(nèi)容本章難點(diǎn)內(nèi)容中斷程序的設(shè)計(jì)相對(duì)復(fù)雜,但有一些固定的格式可以參考。第四章單片機(jī)定時(shí)器/計(jì)數(shù)器、中斷和串行口本章首頁(yè)上一頁(yè)下一頁(yè)1011.中斷系統(tǒng)組成與結(jié)構(gòu)本章重點(diǎn)內(nèi)容本章難點(diǎn)內(nèi)容中斷程序的設(shè)計(jì)4.1MCS-51的定時(shí)器/計(jì)數(shù)器本節(jié)學(xué)習(xí)重點(diǎn)1.單片機(jī)定時(shí)器/計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)2.單片機(jī)定時(shí)器/計(jì)數(shù)器的相關(guān)存儲(chǔ)器3.輸出方波程序的設(shè)計(jì)方法本節(jié)學(xué)習(xí)難點(diǎn)1.定時(shí)器/計(jì)數(shù)器初值的設(shè)定方法2.輸出方波程序的控制轉(zhuǎn)移部分分析方法本章首頁(yè)上一頁(yè)下一頁(yè)1024.1MCS-51的定時(shí)器/計(jì)數(shù)器本節(jié)學(xué)習(xí)重點(diǎn)本章首頁(yè)上4.1MCS-51的定時(shí)器/計(jì)數(shù)器4.1.1定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)
51子系列單片機(jī)共有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,分別用T0和T1表示。定時(shí)功能計(jì)數(shù)功能計(jì)數(shù)外部信號(hào)下降沿的個(gè)數(shù)。計(jì)數(shù)內(nèi)部機(jī)器周期的個(gè)數(shù)。計(jì)數(shù)初值=2
-Nx定時(shí)時(shí)間=(2
-N)T機(jī)x在不同的工作方式下,X可取8,13,16本章首頁(yè)上一頁(yè)下一頁(yè)1034.1MCS-51的定時(shí)器/計(jì)數(shù)器4.1.1定時(shí)器/M1M04.1MCS-51的定時(shí)器/計(jì)數(shù)器4.1.2定時(shí)器/計(jì)數(shù)器的內(nèi)部寄存器1.方式控制寄存器TMOD
定時(shí)器1C/TGATEGATE:門(mén)控位GATE=0直接控制定時(shí)器啟動(dòng)。GATE=1外中斷請(qǐng)求信號(hào)和運(yùn)行控制位TR0(TR1)同時(shí)控制定時(shí)器啟動(dòng)。C/T:定時(shí)方式或計(jì)數(shù)方式選擇位。
C/T=0定時(shí)工作方式。
C/T=1計(jì)數(shù)工作方式。M1M0:工作方式選擇
M1M0=00方式0—13位定時(shí)器/計(jì)數(shù)器。
M1M0=01方式1—16位定時(shí)器/計(jì)數(shù)器。
M1M0=10方式2—自動(dòng)重計(jì)數(shù)初值的8位定時(shí)器/計(jì)數(shù)器。
M1M0=11方式3—定時(shí)器0為兩個(gè)獨(dú)立的8位定時(shí)器/計(jì)數(shù)器。定時(shí)器0本章首頁(yè)上一頁(yè)下一頁(yè)104M1M04.1MCS-51的定時(shí)器/計(jì)數(shù)器MCS-51的定時(shí)器/計(jì)數(shù)器2.
定時(shí)器/計(jì)數(shù)器控制寄存器TCON
TF1
TF0
IE1
IT1
IE0
IT0TCON88HT1溢出中斷標(biāo)志(TCON.7):T1啟動(dòng)計(jì)數(shù)后,計(jì)滿(mǎn)溢出由硬件置位TF1=1,向CPU請(qǐng)求中斷,此標(biāo)志一直保持到CPU響應(yīng)中斷后,才由硬件自動(dòng)清0。也可用軟件查詢(xún)?cè)摌?biāo)志,并由軟件清0。外部中斷INT1中斷標(biāo)志位(TCON.3):IE1=1,外部中斷1向CPU申請(qǐng)中斷外部中斷INT1觸發(fā)方式控制位(TCON.2):
IT1=0,電平觸發(fā)方式
IT1=1,下降沿觸發(fā)方式本章首頁(yè)上一頁(yè)下一頁(yè)1054.1MCS-51的定時(shí)器/計(jì)數(shù)器2.定時(shí)器/計(jì)數(shù)器控4.1MCS-51的定時(shí)器/計(jì)數(shù)器P1.0示波器4.1.3定時(shí)器/計(jì)數(shù)器的應(yīng)用動(dòng)畫(huà)播放動(dòng)畫(huà)播放本章首頁(yè)上一頁(yè)下一頁(yè)1064.1MCS-51的定時(shí)器/計(jì)數(shù)器P1.0示波器MCS-51的定時(shí)器/計(jì)數(shù)器4.1.3定時(shí)器/計(jì)數(shù)器的應(yīng)用
設(shè)單片機(jī)晶振頻率fosc=6MHz,選用定時(shí)器1以方式0產(chǎn)生周期為1ms的方波,并由P1.0輸出。1.計(jì)算計(jì)數(shù)初值:產(chǎn)生周期為1ms寬的方波,只需在P1.0端以500μs為周期交替輸出高低電平即可實(shí)現(xiàn)設(shè)待求的計(jì)數(shù)初值為X,得(TH1)=F8H,(TL1)=06H。2.TMOD寄存器的初始化:方式0,M1M0=00;定時(shí),C/T=0;運(yùn)行控制,則GATE=0。定時(shí)器0不用,有關(guān)位設(shè)定為0。因此(TMOD)=00H。3.TR1=1啟動(dòng)。本章首頁(yè)上一頁(yè)下一頁(yè)1074.1MCS-51的定時(shí)器/計(jì)數(shù)器4.1.3定時(shí)器/4.1MCS-51的定時(shí)器/計(jì)數(shù)器具體程序設(shè)計(jì)ORG 0000HMOV TMOD,#00H
;設(shè)置T1工作方式MOV TH1,#0F8H
;設(shè)置計(jì)數(shù)初值MOV TL1,#06H
SETB TR1 ;啟動(dòng)定時(shí)LOOP:JBC TF1,LOOP1 ;查詢(xún)計(jì)數(shù)溢出,溢出位清0AJMP LOOPLOOP1:MOV TH1,#0F8H ;重新設(shè)置計(jì)數(shù)初值
MOV TL1,#06H
CPL P1.0 ;輸出取反AJMP LOOP ;重復(fù)循環(huán)END本章首頁(yè)上一頁(yè)下一頁(yè)1084.1MCS-51的定時(shí)器/計(jì)數(shù)器具體程序設(shè)計(jì)ORG 本節(jié)學(xué)習(xí)重點(diǎn)1.中斷的相關(guān)存儲(chǔ)器2.中斷的工作過(guò)程3.中斷程序的設(shè)計(jì)方法本節(jié)學(xué)習(xí)難點(diǎn)1.中斷初始化2.中斷子程序設(shè)計(jì)4.2單片機(jī)中斷系統(tǒng)本章首頁(yè)上一頁(yè)下一頁(yè)109本節(jié)學(xué)習(xí)重點(diǎn)4.2單片機(jī)中斷系統(tǒng)本章首頁(yè)上一頁(yè)下一頁(yè)104.2單片機(jī)中斷系統(tǒng)4.2.1中斷的基本概念當(dāng)CPU在執(zhí)行程序時(shí),由某些原因使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)向執(zhí)行隨機(jī)事件,處理完后又返回被中止的程序斷點(diǎn)處繼續(xù)執(zhí)行,這一過(guò)程就稱(chēng)為中斷。
單片機(jī)處理中斷的4個(gè)步驟:中斷請(qǐng)求、中斷響應(yīng)、中斷處理和中斷返回。本章首頁(yè)上一頁(yè)下一頁(yè)1104.2單片機(jī)中斷系統(tǒng)4.2.1中斷的基本概念4.2單片機(jī)中斷系統(tǒng)4.2.1中斷的相關(guān)寄存器
IE
EA
ESET1EX1ET0EX01.
中斷允許控制IEEA:總中斷允許控制位。ES:串行口中斷允許位。ET1:定時(shí)器1中斷允許位。EX1:外部中斷1中斷允許位。ET0:定時(shí)器0中斷允許位。EX0:
外部中斷0中斷允許位。當(dāng)相應(yīng)位設(shè)為1時(shí),相應(yīng)位中斷允許。本章首頁(yè)上一頁(yè)下一頁(yè)1114.2單片機(jī)中斷系統(tǒng)4.2.1中斷的相關(guān)寄存器4.2單片機(jī)中斷系統(tǒng)4.2.2中斷處理過(guò)程程序存儲(chǔ)器ROM0023H:串行口中斷入口0003H:外部中斷0入口000BH:定時(shí)器0溢出中斷入口0013H:外部中斷1入口001BH:定時(shí)器1溢出中斷入口002AH使用時(shí),通常在這些入口地址處存放一條跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶(hù)安排的中斷服務(wù)程序起始地址上去!本章首頁(yè)上一頁(yè)下一頁(yè)1124.2單片機(jī)中斷系統(tǒng)4.2.2中斷處理過(guò)程程序存儲(chǔ)器4.2單片機(jī)中斷系統(tǒng)4.2.2中斷處理過(guò)程中斷源發(fā)中斷請(qǐng)求中斷響應(yīng)條件是否滿(mǎn)足?中斷是否受阻?
把PC斷點(diǎn)地址壓入堆棧相應(yīng)中斷源的中斷入口地址送入PC,轉(zhuǎn)向中斷服務(wù)程序NYYN由硬件自動(dòng)完成本章首頁(yè)上一頁(yè)下一頁(yè)1134.2單片機(jī)中斷系統(tǒng)4.2.2中斷處理過(guò)程中斷源發(fā)中4.2單片機(jī)中斷系統(tǒng)4.2.2中斷處理過(guò)程關(guān)中斷保護(hù)現(xiàn)場(chǎng)中斷服務(wù)開(kāi)中斷關(guān)中斷恢復(fù)現(xiàn)場(chǎng)開(kāi)中斷中斷返回?cái)帱c(diǎn)地址由堆棧彈入PC保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)的過(guò)程中不允許中斷,以免現(xiàn)場(chǎng)遭到破壞。保護(hù)和恢復(fù)現(xiàn)場(chǎng)之后的開(kāi)中斷是為了允許有更高級(jí)中斷打斷此中斷服務(wù)程序。硬件自動(dòng)完成本章首頁(yè)上一頁(yè)下一頁(yè)1144.2單片機(jī)中斷系統(tǒng)4.2.2中斷處理過(guò)程關(guān)中斷4.2.3中斷程序設(shè)計(jì)實(shí)例P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7vcc動(dòng)畫(huà)播放動(dòng)畫(huà)播放INT0INT1按下松開(kāi)按下松開(kāi)4.2單片機(jī)中斷系統(tǒng)本章首頁(yè)上一頁(yè)下一頁(yè)1154.2.3中斷程序設(shè)計(jì)實(shí)例P1.0vcc動(dòng)畫(huà)播放動(dòng)畫(huà)播放4.2單片機(jī)中斷系統(tǒng)具體程序設(shè)計(jì)ORG0000HAJMPMAINORG0003HAJMPIINTOORG0013HAJMPIINTIORG0030HMAIN:CLRIT0CLRIT1SETBEASETBEX0SETBEX1MOVA,#0FEHLOOP:MOVP0,ARLALCALLDELLAJMPLOOPDELL:MOVR7,#0DELL1:MOVR6,#0DELL2:MOVR5,#2DELL3:DJNZR5,DELL3DJNZR6,DELL2DJNZR7,DELL1RETIINTO:MOVP0,#00HLCALLDELLRETIIINTI:MOVP0,#0AAHLCALLDELLRETIEND本章首頁(yè)上一頁(yè)下一頁(yè)1164.2單片機(jī)中斷系統(tǒng)具體程序設(shè)計(jì)4.3單片機(jī)串行口本節(jié)學(xué)習(xí)重點(diǎn)1.串行口的相關(guān)存儲(chǔ)器2.串行口的工作過(guò)程3.理解發(fā)送數(shù)據(jù)與接收數(shù)據(jù)程序本節(jié)學(xué)習(xí)難點(diǎn)1.串口初始化2.理解發(fā)送數(shù)據(jù)與接收數(shù)據(jù)程序本章首頁(yè)上一頁(yè)下一頁(yè)1174.3單片機(jī)串行口本節(jié)學(xué)習(xí)重點(diǎn)本章首頁(yè)上一頁(yè)下一頁(yè)1174.3單片機(jī)串行口4.3.1串行口的基本概念1.串行通信和并行通信
并行通信:一組信息(通常是字節(jié))的各位數(shù)據(jù)被同時(shí)傳送的通信方法稱(chēng)為并行通信。缺點(diǎn):傳輸線(xiàn)根數(shù)多,只適用于近矩離(相距數(shù)公尺)的通信
串行通信:一組信息的穩(wěn)中有降位數(shù)據(jù)被逐位控順序的先后在一條線(xiàn)上傳送的通信方式稱(chēng)為串行通信。缺點(diǎn):速度慢優(yōu)點(diǎn):傳輸線(xiàn)根數(shù)少,適用于長(zhǎng)矩離通信本章首頁(yè)上一頁(yè)下一頁(yè)1184.3單片機(jī)串行口4.3.1串行口的基本概念1.串行4.3單片機(jī)串行口4.3.1串行口的基本概念2.信息傳送方向全雙工:能夠同時(shí)進(jìn)行雙向數(shù)據(jù)傳送。半雙工:信息能雙向傳送,但不能同時(shí)雙向傳送。單向:信息只能單方向傳輸。
單工形式
半雙工形式
本章首頁(yè)上一頁(yè)下一頁(yè)1194.3單片機(jī)串行口4.3.1串行口的基本概念2.信息4.3單片機(jī)串行口3.異步串行通信
異步串行通信字符格式
4.波特率含義:異步通信在一幀信息中,位傳送時(shí)間的倒數(shù)稱(chēng)為波特率。也稱(chēng)之為波特率(baudrate),單位為位/秒(b/s)或波特(baud)。本章首頁(yè)上一頁(yè)下一頁(yè)1204.3單片機(jī)串行口3.異步串行通信4.3單片機(jī)串行口4.3.251單片機(jī)串行口功能與結(jié)構(gòu)1.功能可以方便的與其他計(jì)算機(jī)或串行傳送信息的外圍設(shè)備實(shí)現(xiàn)雙機(jī),多機(jī)的信息傳送。有四種工作方式:工作方式0、1、2、32.結(jié)構(gòu)
本章首頁(yè)上一頁(yè)下一頁(yè)1214.3單片機(jī)串行口4.3.251單片機(jī)串行口功能與結(jié)4.3單片機(jī)串行口4.3.351單片機(jī)串行口應(yīng)用舉例【例6-3】設(shè)甲乙機(jī)以串行方式1進(jìn)行數(shù)據(jù)傳送,fosc=11.0592MHz,波特率為1200b/s。甲機(jī)發(fā)送的16個(gè)數(shù)據(jù)存在內(nèi)RAM40H~4FH單元中,乙機(jī)接收后存在內(nèi)RAM50H為首地址的區(qū)域中。解: 串行方式1波特率取決于T1溢出率(設(shè)SMOD=0), 計(jì)算T1定時(shí)初值:
T1初值=256-×=232=E8H3212×12001105920020本章首頁(yè)上一頁(yè)下一頁(yè)1224.3單片機(jī)串行口4.3.351單片機(jī)串行口應(yīng)用舉例4.3單片機(jī)串行口甲機(jī)發(fā)送子程序
具體程序設(shè)計(jì)TXDA:MOVTMOD,#20H;置T1工作方式2MOVTL1,#0E8H ;置T1計(jì)數(shù)初值MOVTH1,#0E8H;置T1計(jì)數(shù)重裝值CLRET1;禁止T1中斷SETBTR1;T1啟動(dòng)MOVSCON,#40H;置串行方式1,禁接收MOVPCON,#00HCLRES;禁止串行中斷MOVR0,#40H ;置發(fā)送數(shù)據(jù)區(qū)首地址MOVR2,#16;置發(fā)送數(shù)據(jù)長(zhǎng)度TRSA:MOVA,@R0;讀一個(gè)數(shù)據(jù)MOVSBUF,A ;發(fā)送JNBTI,$;等待一幀數(shù)據(jù)發(fā)送完畢CLRTI;清發(fā)送中斷標(biāo)志INCR0;指向下一字節(jié)單元DJNZR2,TRSA ;判16個(gè)數(shù)據(jù);發(fā)完否?未完繼續(xù)RETMOVA,@R0;讀一個(gè)數(shù)據(jù)MOVSBUF,A ;發(fā)送JNBTI,$;等待一幀數(shù)據(jù)發(fā)送完畢CLRTI;清發(fā)送中斷標(biāo)志INCR0;指向下一字節(jié)單元DJNZ R2,TRSA ;判16個(gè)數(shù)據(jù)發(fā)完否?未完繼續(xù)RET本章首頁(yè)上一頁(yè)下一頁(yè)1234.3單片機(jī)串行口甲具體程序設(shè)計(jì)TXDA:MOV乙機(jī)接收子程序
具體程序設(shè)計(jì)RXDB:MOVTMOD,#20H;置T1定時(shí)器工作方式2MOVTL1,#0E8H ;置T1計(jì)數(shù)初值MOVTH1,#0E8H;置T1計(jì)數(shù)重裝值CLRET1;禁止T1中斷SETBTR1;T1啟動(dòng)MOVSCON,#40H ;置串行方式1,禁止接收MOVPCON,#00H;置SMOD=0(SMOD不能位操作)CLRES;禁止串行中斷MOVR0,#50H ;置接收數(shù)據(jù)區(qū)首地址MOVR2,#16;置接收數(shù)據(jù)長(zhǎng)度SETBREN;啟動(dòng)接收RDSB:JNBRI,$ ;等待一幀數(shù)據(jù)接收完畢CLRRI;清接收中斷標(biāo)志MOVA,SBUF;讀接收數(shù)據(jù)MOV@R0,A;存接收數(shù)據(jù)INCR0 ;指向下一數(shù)據(jù)存儲(chǔ)單元DJNZR2,RDSB ;判16個(gè)數(shù)據(jù)接收完否?未完繼續(xù)RET4.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧圖書(shū)館整體解決方案
- 卡姿蘭活動(dòng)策劃方案
- 音樂(lè)教育中的教學(xué)方法創(chuàng)新
- 腫瘤治療藥臨床使用管理
- 沉與浮教案反思
- 氧化碳制取的說(shuō)課稿
- 市政工程招投標(biāo)授權(quán)委托書(shū)
- 橡膠制品損壞賠償指南
- 建筑工程改造系統(tǒng)施工合同范本
- 環(huán)保建設(shè)幼兒園施工合同
- 出院小結(jié)模板-2
- 裝修增減項(xiàng)單模板
- 旅游景區(qū)公共信息導(dǎo)向系統(tǒng)規(guī)范與設(shè)計(jì)(旅游)
- 有效教學(xué)崔允漷讀書(shū)匯報(bào)課件
- 雙眼視覺(jué)的分析方法 圖表的基本構(gòu)成
- 過(guò)程流程圖,控制計(jì)劃,PFMEA培訓(xùn)
- 六年級(jí)語(yǔ)文 六年級(jí)班家長(zhǎng)會(huì)
- 內(nèi)科學(xué)(腎臟-內(nèi)分泌-血液)知到章節(jié)答案智慧樹(shù)2023年溫州醫(yī)科大學(xué)
- 年產(chǎn)10噸功能益生菌凍干粉的工廠(chǎng)設(shè)計(jì)改
- 地理教育測(cè)量與評(píng)價(jià)
- 2023上海車(chē)展展前報(bào)告
評(píng)論
0/150
提交評(píng)論