




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章-單片機(jī)主要技術(shù)指標(biāo):位數(shù):4位、8位、16位、32位MCS-48(4位)、 MCS-51(8位)和MCS-96(16位) -位字節(jié)字位 (bit):二進(jìn)制數(shù)中的一位,其值不是“1”,就是“0”。字節(jié) (byte):一個(gè)8位的二進(jìn)制數(shù)為一個(gè)字節(jié)。字節(jié)是計(jì)算機(jī)數(shù)據(jù)的基本單位。字 (word):兩個(gè)字節(jié)就是一個(gè)字,又叫雙字節(jié)。第二章-SCM將通用微計(jì)算機(jī)基本功能部件集成在一塊芯片上構(gòu)成的一種專用微計(jì)算機(jī)系統(tǒng)SCM = CPU+程序存儲(chǔ)器+數(shù)據(jù)存儲(chǔ)器+定時(shí)器/計(jì)數(shù)器+內(nèi)外中斷+可編程I/O+可編程全雙工串行口+-80C51=(8位)CPU + 4KBROM +128B
2、RAM + (2×16)T/C + (4×8)I/O + 1個(gè)UART +5個(gè)中斷源-MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu):-新一代高性能80C51系列單片機(jī),其主要發(fā)展技術(shù)如下:(1) 提供不同類型的存儲(chǔ)器。除掩模ROM、EPROM以外,還能提供EEPROM和FlashEEPROM。(2) 擴(kuò)展存儲(chǔ)器容量。目前ROM已擴(kuò)至64KB,RAM擴(kuò)至48KB。(3) 提高運(yùn)行速度,時(shí)鐘頻率已達(dá)100MHz。(4) 發(fā)展低電壓專用芯片,工作電壓可低于1.8V。(5) 擴(kuò)大接口功能,如設(shè)置高速I(mǎi)/O口,擴(kuò)展I/O數(shù)量,增加外部中斷源以及將ADC、PWM嵌入到片內(nèi)。-CPU(中央處理器,Cen
3、tral Processing Unit )CPU = 控制器 + 運(yùn)算器控制器的用途:統(tǒng)一指揮和控制各單元協(xié)調(diào)工作控制器的任務(wù):從ROM中取出指令譯碼執(zhí)行指令控制器的組成:程序計(jì)數(shù)器PC、數(shù)據(jù)指針寄存器DPTR、運(yùn)算器的用途:對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯操作運(yùn)算器的任務(wù):計(jì)算緩沖器內(nèi)容暫存修改運(yùn)行標(biāo)志運(yùn)算器的組成:累加器ACC、程序狀態(tài)字寄存器PSW、-程序計(jì)數(shù)器(Program CounterPC) 指向ROM存儲(chǔ)單元的地址指針(引導(dǎo)程序運(yùn)行)i. 永遠(yuǎn)存放著下一條指令的地址ii. 具有16位字長(zhǎng)可尋址范圍216(= 65536字節(jié)= 64KB)iii. 具有自動(dòng)加1功能順序運(yùn)行程序功能iv.
4、 具有可被指令修改功能跳轉(zhuǎn)運(yùn)行程序功能v. 復(fù)位時(shí),PC值為0 復(fù)位后程序從0開(kāi)始運(yùn)行-數(shù)據(jù)指針寄存器(Data Pointer DPTR) 指向ROM或RAM存儲(chǔ)單元的地址指針(引導(dǎo)數(shù)據(jù)傳送) 具有16位字長(zhǎng),可尋址范圍216(64KB) 具有可被指令修改功能可變更數(shù)據(jù)地址 可拆為2個(gè)8位的獨(dú)立寄存器DPL和DPH-累加器(ACCUMULATERA) 存放操作數(shù)或中間運(yùn)算結(jié)果的8位寄存器i. 具有8位字長(zhǎng)ii. 是利用率最高的寄存器iii. 具有可被指令修改功能iv. 指令示例: PUSH ACC ADD A,32H ADD ACC,32H-程序狀態(tài)字寄存器(Program State Wo
5、rdPSW)存放程序運(yùn)行過(guò)程中的各種狀態(tài)信息的寄存器 1具有8位字長(zhǎng) 2各位都具有特殊含義 3狀態(tài)信息通常自動(dòng)形成,但也可用指令修改CY(PSW.7)進(jìn)位標(biāo)志在進(jìn)行加或減運(yùn)算時(shí),如果操作結(jié)果最高位有進(jìn)位或借位時(shí),CY由硬件置“1”,否則清“0”。用途:1、根據(jù)CY判斷有無(wú)進(jìn)位或借位;2、在位操作中CY可作為位累加器用。RS1和 RS0(PSW.4和 PSW.3) 工作寄存器組指針用途:用于指定CPU的當(dāng)前工作寄存器組P(PSW.0) 奇偶標(biāo)志位該位始終跟蹤累加器A中含“1”個(gè)數(shù)的奇偶性;如果A中有奇數(shù)個(gè)“1”,則P置“1”,否則置“0”舉例:若A =1001 1111,則P=0 若A =110
6、0 0001,則P=1用途:用于串行通訊中的數(shù)據(jù)校驗(yàn),判斷是否存在傳輸錯(cuò)誤。-MCS-51引腳及功能(課本P18)51系列單片機(jī)一般采用40只引腳的雙列直插式(DIPDual In-line Package)封裝結(jié)構(gòu)(1) 電源及晶振引腳VCC (40腳):+5V電源引腳VSS (20腳): 接地引腳XTAL1 (19腳);外接晶振引腳(內(nèi)置放大器輸入端)XTAL2 (18腳):外接晶振引腳(內(nèi)置放大器輸出端)(2) 控制引腳RST/VPD (9):復(fù)位/ 備用電源引腳ALE/PROG (30):地址鎖存使能輸出/ 編程脈沖輸入PSEN (29):輸出訪問(wèn)片外程序存儲(chǔ)器讀選通信號(hào)EA/ VPP
7、 (31):外部ROM允許訪問(wèn)/ 編程電源輸入(3) 端口引腳共計(jì)8只/組×4 組= 32 只引腳:P0.0P0.7(3932腳)P0口;P1.0P1.7(18腳)P1口;P2.0P2.7(2128腳)P2口;P3.0P3.7(1017腳)P3口。P0口P3口是單片機(jī)對(duì)外聯(lián)絡(luò)的重要通道補(bǔ)充:信號(hào)引腳的第二功能 信號(hào)引腳賦予雙重功能,即“復(fù)用”。第二引腳功能主要集中在P3口。-1.常見(jiàn)的第二功能信號(hào) (1)P3口線的第二功能 P3口線都定義有第二功能,詳見(jiàn)表2-1。-1. 存儲(chǔ)器劃分方法計(jì)算機(jī)存儲(chǔ)器地址空間的兩種結(jié)構(gòu)形式:普林斯頓結(jié)構(gòu)(RAM和ROM統(tǒng)一編址)和哈佛結(jié)構(gòu)(RAM和ROM
8、分別編址)。存儲(chǔ)單元地址空間:片內(nèi)RAM:00H7FH(128B),特殊功能存儲(chǔ)器占用的RAM:80HFFH片外RAM: 0000HFFFFH片內(nèi)ROM: 0000H0FFFH片外ROM: 0000HFFFFH2. 程序存儲(chǔ)器(ROM)(課本P25)作用:存放程序、表格或常數(shù),具有非易失性字長(zhǎng):8位數(shù)量:4KB(80C51)當(dāng)EA引腳接高電平(開(kāi)關(guān)接A點(diǎn))時(shí),4 KB以內(nèi)的地址在片內(nèi)ROM,大于4KB的地址在片外ROM中(圖中折線),兩者共同構(gòu)成64KB空間;當(dāng)EA引腳接低電平(開(kāi)關(guān)接B點(diǎn))時(shí),片內(nèi)ROM被禁用,全部64KB地址都在片外ROM中(圖中直線)。3. 片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)(課本
9、P21)作用:存放程序運(yùn)行結(jié)果字長(zhǎng):8位數(shù)量:128B+128B(80C51)(1) 低128字節(jié)的區(qū)域 工作寄存器區(qū)(00H-1FH) 可位尋址區(qū)(20H-2FH) 用戶RAM區(qū)(30H-7FH)區(qū)共有32個(gè)存儲(chǔ)單元; 每個(gè)單元都有一個(gè)8位地址(字節(jié)地址)也有一個(gè)寄存器名稱(R0R7) ;32個(gè)單元分為4組(第0 第3組);CPU只能選一組為當(dāng)前工作寄存器組。區(qū)共有16個(gè)存儲(chǔ)單元;每個(gè)單元都有一個(gè)字節(jié)地址,每個(gè)單元又可拆分為8個(gè)不同的位地址; 區(qū)共有128個(gè)位地址。區(qū)可以字節(jié)地址和位地址兩種方式存取數(shù)據(jù)。區(qū)共有80個(gè)存儲(chǔ)單元;每個(gè)單元都有一個(gè)字節(jié)地址,但沒(méi)有位地址,也沒(méi)有寄存器名。此區(qū)可作為
10、堆棧區(qū)和中間數(shù)據(jù)存儲(chǔ)區(qū)使用用戶RAM區(qū)【注意】:區(qū)和區(qū)只能按字節(jié)進(jìn)行數(shù)據(jù)存取操作,區(qū)則可按字節(jié)和位兩種方式存取操作。堆棧指針SP堆棧是個(gè)特殊的存儲(chǔ)區(qū),主要功能是暫時(shí)存放數(shù)據(jù)和地址,通常用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。它的特點(diǎn)是按照先進(jìn)后出的原則存取數(shù)據(jù),這里的進(jìn)與出是指進(jìn)棧與出棧操作。 假若有8個(gè)RAM單元,每個(gè)單元都在其右面編有地址,棧頂由堆棧指針SP自動(dòng)管理。每次進(jìn)行壓入或彈出操作以后,堆棧指針便自動(dòng)調(diào)整以保持指示堆棧頂部的位置。這些操作可用圖說(shuō)明。(2)高128字節(jié)RAM區(qū)每個(gè)存儲(chǔ)單元都有一個(gè)字節(jié)地址,但只有其中21個(gè)單元可以使用,并有相應(yīng)寄存器名稱。51單片機(jī)共有21個(gè)特殊功能寄存器(Spetia
11、l Function Register)SFR承擔(dān)著51單片機(jī)內(nèi)部資源的管理工作字節(jié)地址末位是0或8的SFR,都具有位地址。-閃速存儲(chǔ)器(Flash EEPROM)可以用來(lái)存放程序,但由于其讀寫(xiě)方便,也可以像RAM一樣存放經(jīng)常需要修改的數(shù)據(jù),所以又稱為Flash Memory。 新一代閃速存儲(chǔ)器的特點(diǎn)及其功能。1)低電壓在線編程,使用方便,可多次擦寫(xiě)2)按塊/按扇區(qū)擦除,按字節(jié)編程3)完善的數(shù)據(jù)保護(hù)功能1、時(shí)鐘電路(課本P28)時(shí)鐘脈沖的頻率(相當(dāng)于PC的主頻)越高,CPU的處理速度就越快。MCS-51的時(shí)鐘頻率為612MHz可調(diào)1)兩種時(shí)鐘方式: 內(nèi)部時(shí)鐘方式 該電路產(chǎn)生的時(shí)鐘信號(hào)的振蕩頻率
12、就是晶振的固有頻率,也是系統(tǒng)的時(shí)鐘頻率,用fosc表示。(一般晶振6Mhz ,12Mhz,11.0592Mhz) 外部時(shí)鐘方式 多機(jī)同步通信中,為使得各單片機(jī)之間的時(shí)鐘信號(hào)嚴(yán)格同步,應(yīng)采用公共外部脈沖信號(hào)為各單片機(jī)振蕩脈沖,系統(tǒng)的時(shí)鐘頻率由外部脈沖提供,無(wú)需內(nèi)部的振蕩器。2、CPU時(shí)序(課本P29)(1)時(shí)序的概念時(shí)序是各種微操作在時(shí)間上的順序關(guān)系時(shí)序的定時(shí)單位共有4個(gè)參數(shù):拍(或振蕩周期或時(shí)鐘周期)P、狀態(tài)周期S、機(jī)器周期、指令周期 例:外接晶振為12MHz時(shí),MCS-51單片機(jī)的四種時(shí)序周期的具體關(guān)系為:振蕩周期 = 1/12 us 機(jī)器周期 = 1 us狀態(tài)周期 = 1/6 us 指令周
13、期 = 14 us(一) 51單片機(jī)的取指/執(zhí)行時(shí)序 CPU的指令都是按照時(shí)序要求設(shè)計(jì)的 任何一條指令分為:取指令階段和 執(zhí)行指令階段 每條指令的執(zhí)行都是從S1P2開(kāi)始的 每個(gè)機(jī)器周期最多可執(zhí)行2個(gè)字節(jié)指令 ALE信號(hào)每出現(xiàn)一次,CPU就進(jìn)行一次取指令操作。單片機(jī)三總線結(jié)構(gòu):地址、數(shù)據(jù)和控制80C51三總線具有以下特點(diǎn): P0口的地址/數(shù)據(jù)復(fù)用。 兩個(gè)獨(dú)立的并行擴(kuò)展空間。 外圍數(shù)據(jù)存儲(chǔ)器擴(kuò)展的統(tǒng)一編址。二、P0 P3并行口的基本用途(課本P30)(1)、可作為并行IO輸入通道(例如,按鍵/開(kāi)關(guān)連接通道)(2)、可作為并行IO輸出通道(例如,數(shù)碼管顯示器連接通道)(3)、可作為串行通信通道(例如
14、,雙機(jī)通訊的連接通道)(4)、可作為外部設(shè)備的連接通道(例如,存儲(chǔ)器擴(kuò)展通道)關(guān)于上拉電阻:a) P1、P2、P3不需要上拉電阻,片內(nèi)已有。b) P0口作為擴(kuò)展總線的數(shù)據(jù)/地址復(fù)用線時(shí),也不需要上拉電阻,這種情況下,P0口內(nèi)部是兩個(gè)MOS管推拉輸出,可以同時(shí)驅(qū)動(dòng)8個(gè)TTL電路。c) P0口作為普通I/O口使用時(shí),由于上面的MOS管截止,只有下面一個(gè)管子工作,處于開(kāi)漏狀態(tài),此時(shí)需要外接上拉電阻,才能輸出高電平。1. P1口P1口包含P1.0P1.7共八個(gè)相同結(jié)構(gòu)的電路P1.n = 1個(gè)鎖存器 + 1個(gè)場(chǎng)效應(yīng)管驅(qū)動(dòng)器V + 2個(gè)三態(tài)門(mén)緩沖器P1.0P1.7中的8個(gè)鎖存器組成P1 SFR(90H)P
15、l口只有一種功能:通用輸入/輸出接口。2. P3口與P1.n 差別:第二功能控制單元雙功能P3.0P3.7中的8個(gè)鎖存器組成P3 SFR(B0H)3. P0口與P1.n 差別:輸出控制電路、 輸出驅(qū)動(dòng)電路總線功能P0.0P0.7中的8個(gè)鎖存器組成P0 SFR(80H)P0口有兩種功能;地址/數(shù)據(jù)分時(shí)復(fù)用總線和通用I/O接口。4. P2口P2口有兩種用途:通用I/O接口或高8位地址總線P2.0P2.7中的8個(gè)鎖存器組成P2 SFR(A0H)與P1.n差別:輸出控制單元總線功能-P0P3小結(jié)1. 結(jié)構(gòu)2. 功能本章總結(jié):51單片機(jī)采用哈佛結(jié)構(gòu)存儲(chǔ)器,共有3個(gè)邏輯存儲(chǔ)空間和4個(gè)物理存儲(chǔ)空間。片內(nèi)低1
16、28字節(jié)RAM中包含4個(gè)工作寄存器組、128個(gè)位地址單元和80個(gè)字節(jié)地址單元。片內(nèi)高128字節(jié)RAM中離散分布有21個(gè)特殊功能寄存器。51和52的區(qū)別: 51 內(nèi)部ROM存儲(chǔ)器 :4k RAM :128B 中斷源數(shù)目:5個(gè) 52 內(nèi)部ROM存儲(chǔ)器 :8k RAM :256B 中斷源數(shù)目:6個(gè)第三章-匯編語(yǔ)言匯編語(yǔ)言優(yōu)點(diǎn)代碼精煉、執(zhí)行速度快,但不便于編寫(xiě)較復(fù)雜的程序;匯編程序處理過(guò)程輸入源程序檢查語(yǔ)法正確性(如有語(yǔ)法錯(cuò)誤,輸出錯(cuò)誤信息)翻譯成二進(jìn)制目標(biāo)程序。-尋址方式尋址方式匯編指令中反映操作數(shù)存在形式的表示方式; 尋址方式越多,單片機(jī)的功能就越強(qiáng);51單片機(jī)共有七種尋址方式:直接尋址、寄存器尋
17、址、寄存器間接尋址、立即尋址、變址尋址、位尋址、相對(duì)尋址。(見(jiàn)課本P37)寄存器間接尋址的其他例子如下:PUSH ACC; SP+1®SP,ACC®以SP為地址的內(nèi)部RAM單元POP 20H;以SP為地址的內(nèi)部RAM中的內(nèi)容®20H內(nèi)部RAM;單元,SP-1®SP關(guān)于各種尋址方式的尋址的范圍:(網(wǎng)上搜索的內(nèi)容)1、立即尋址:立即數(shù)就是存放在程序存儲(chǔ)器中的常數(shù),換句話說(shuō)就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。如:MOV A,#20H,此時(shí)數(shù)據(jù)范圍:00HFFH。再如:MOV DPTR,#1000H,此時(shí)數(shù)據(jù)范圍:0000HFFFFH;2、直接尋址:A:可
18、以訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM低128單元007FHB:如果是高位則一定是特殊功能寄存器如P0,P1,SBUF,IE等等,而且也只有直接尋址可以訪問(wèn)特殊功能寄存器。C:位尋址空間20H2FH3、寄存器尋址:A:四個(gè)工作寄存器組也就是00H1FHB:其他特殊功能寄存器如A,B,PSW,DPTR等等4、寄存器間接尋址:A:用Ri可以尋址內(nèi)部或外部00HFFH.B:用DPTR可以尋址0000H到FFFFHC:用PUSH或POP可以訪問(wèn)范圍00FFH5、基址寄存器加變址寄存器的變址尋址A:以PC為基址范圍為256個(gè)字節(jié)B:以DPTR為基址范圍為64K6、位尋址:A:20H2FH的位尋址空間B:能被8整除的
19、專用寄存器如P0,P1等等。7、相對(duì)尋址:偏移量+指令單元地址,所以范圍為00HFFH-指令系統(tǒng)計(jì)算機(jī)中全部指令的集合。51單片機(jī)共有111條指令,按功能可劃分為四大類:數(shù)據(jù)傳送與交換類(31條) 算術(shù)運(yùn)算類(24條) 邏輯運(yùn)算類(34條) 轉(zhuǎn)移控制類(位操作也可作為第五類考慮) (22條)1.數(shù)據(jù)傳送與交換類指令(課本P38)以實(shí)現(xiàn)RAM、SFR和ROM之間的數(shù)據(jù)互傳或交換為目的。2.算術(shù)運(yùn)算類指令(課本P40)以實(shí)現(xiàn)加、減、乘、除和增減1等運(yùn)算為目的。特點(diǎn): 除加1和減1外,都需要有累加器A參與運(yùn)算;算術(shù)運(yùn)算指令一般都會(huì)影響PSW中的CY、AC、OV三個(gè)標(biāo)志位。3.邏輯運(yùn)算及移位類指令(課
20、本P42)以實(shí)現(xiàn)與、或、異或、求反、置1、清零、移位等邏輯操作為目的。4.控制轉(zhuǎn)移類指令(課本P45)以改變程序計(jì)數(shù)器PC值,進(jìn)而改變程序的流向?yàn)槟康摹?.偽指令(課本P53)匯編語(yǔ)言指令的兩類指令:硬指令(指令性語(yǔ)句)匯編后可以產(chǎn)生機(jī)器 碼的指令,如前介紹的111條指令;偽指令(指示性語(yǔ)句)用于對(duì)匯編過(guò)程提供必 要信息的指令,匯編后不會(huì)產(chǎn)生機(jī)器碼常用的偽指令: ORG、END、EQU、DATA、BIT、DS偽指令屬于非執(zhí)行指令,用于對(duì)匯編過(guò)程提供必要輔助信息,匯編后不會(huì)產(chǎn)生機(jī)器碼。位操作指令在課本P51第四章-C51的程序結(jié)構(gòu)(課本P68) 程序由函數(shù)組成(一個(gè)主函數(shù),或一個(gè)主函數(shù)和若干自定
21、義函數(shù)); 利用預(yù)處理命令對(duì)變量或函數(shù)進(jìn)行集中定義或說(shuō)明; 函數(shù)和變量都需遵循先定義后使用的基本原則; 主函數(shù)中的所有語(yǔ)句執(zhí)行完畢,則程序結(jié)束。 -C51的數(shù)據(jù)結(jié)構(gòu)(課本P71)C51變量定義的四要素:【存儲(chǔ)種類】數(shù)據(jù)類型【存儲(chǔ)類型】 變量名基本數(shù)據(jù)類型和長(zhǎng)度及其值域見(jiàn)課本P72表格sfr或sfr16型:關(guān)鍵詞sfr或sfr16用于定義SFR字節(jié)地址變量(對(duì)應(yīng)課本P25表格中沒(méi)有位地址的部分),語(yǔ)法規(guī)則: sfr 或 sfr16 sfr_name = 字節(jié)地址常數(shù);例如,sfr P0 = 0x80; /定義P0口地址80Hsfr PCON = 0x87; /定義PCON地址87H sfr16
22、DPTR=0x82; /定義DPTR的低端地址82Hsbit型:(對(duì)應(yīng)課本P25表格中有位地址的部分需要此定義)關(guān)鍵詞sbit用于定義SFR位地址變量,三種定義形式:1)將SFR的絕對(duì)位地址定義為位變量名sbit bit_name = 位地址常數(shù);例如, sbit CY = 0xD7;2)將SFR的相對(duì)位地址定義為位變量名sbit bit_name = sfr字節(jié)地址 位位置; 例如, sbit CY = 0xD07;3)將SFR的相對(duì)位位置定義位變量名 sbit bit_name = sfr_name 位位置;例如, sbit CY = PSW7;C51存儲(chǔ)類型與存儲(chǔ)空間的對(duì)應(yīng)關(guān)系見(jiàn)P74圖
23、4-4C51的存儲(chǔ)類型與存儲(chǔ)空間對(duì)應(yīng)關(guān)系表見(jiàn)P75表4-2-變量名的聲明變量名具有字母大小寫(xiě)的敏感性,如SUM和sum代表不同的變量。強(qiáng)調(diào):頭文件中定義的變量都是大寫(xiě)的,若程序采取小寫(xiě)變量則需要重新定義。變量名可以由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線,變量名長(zhǎng)度隨編譯系統(tǒng)而定。舉例說(shuō)明C51指針定義的用法 (SMALL編譯模式下)指針詳見(jiàn)課本P77例1 char xdata a = A; char * ptr = &a;ptr是一個(gè)指向char型變量的指針變量; 它本身位于SMALL編譯模式默認(rèn)的data存儲(chǔ)區(qū)里; 它的值是位于xdata存儲(chǔ)區(qū)里的char型
24、變量a的地址;-C51的運(yùn)算符和表達(dá)式“=”符號(hào)是用來(lái)進(jìn)行相等關(guān)系的運(yùn)算?!?”符號(hào)是用來(lái)對(duì)變量進(jìn)行賦值。一些不熟的運(yùn)算符:= 測(cè)試等于!= 測(cè)試不等于邏輯與:條件式1 && 條件式2。邏輯或:條件式1 | 條件式2。邏輯非:!條件式。& 按位與| 按位或 按位異或 這六個(gè)是位運(yùn)算 按位取反 << 左移>> 右移-C51的應(yīng)用技巧(1)靈活選擇變量的存儲(chǔ)器類型 先內(nèi)部后外部,使用頻繁放內(nèi)部 減少變量的長(zhǎng)度,char,unsigned char, bit(2)避免使用浮點(diǎn)變量 避免浪費(fèi)大量的存儲(chǔ)器資源和程序執(zhí)行時(shí)間(3)靈活設(shè)置變量,高效利用存儲(chǔ)器
25、 能用bit或sbit,不用unsigned char 盡量使用局部變量,不隨便使用全局變量-行列式鍵盤(pán)原理與編程 鍵盤(pán)掃描 key_scan = 0xef, 0xdf, 0xbf, 0x7f 按鍵判斷 讀P3: 若P3低4位為f 或(P3 & 0x0f)=0x0f 無(wú)鍵壓下 若P3低4位f或(P3 & 0x0f)0x0f 有鍵壓下 鍵值計(jì)算 鍵模 key_buf = 0xee, 0xde, 0xbe, 0x7e, 0xed, 0xdd, 0xbd, 0x7d, 0xeb, 0xdb, 0xbb, 0x7b, 0xe7, 0xd7, 0xb7, 0x77; for (j = 0
26、 ; j < 16 ;j+) /查找按下鍵鍵值 if (key_buf j = P3) return j; 第五章1、51單片機(jī)有哪些合法的中斷源80C51具有五個(gè)中斷源:引腳INT0上的外部中斷信號(hào)達(dá)標(biāo)外部中斷0內(nèi)部定時(shí)/計(jì)數(shù)器T0溢出定時(shí)器T0中斷引腳INT1的外部中斷信號(hào)達(dá)標(biāo)外部中斷1內(nèi)部定時(shí)/計(jì)數(shù)器T1溢出定時(shí)器T1中斷一幀串行數(shù)據(jù)發(fā)送/接收完成串口中斷【說(shuō)明】 外部中斷信號(hào)達(dá)標(biāo)引腳上出現(xiàn)低電平信號(hào),或脈沖下降沿信號(hào) 定時(shí)/計(jì)數(shù)器溢出定時(shí)/計(jì)數(shù)器里的數(shù)值超過(guò)最大允許值 串行數(shù)據(jù)發(fā)送/接收完成一幀數(shù)據(jù)已從緩沖器中送出或送入CPU怎樣管理中斷處理過(guò)程?a) 系統(tǒng)為每個(gè)中斷源設(shè)立了中斷允許標(biāo)志。當(dāng)該標(biāo)志為1時(shí),可自動(dòng)執(zhí)行相應(yīng)中斷函數(shù),否則不予響應(yīng)。中斷允許標(biāo)志可在程序中由軟件修改;b) 系統(tǒng)為每個(gè)中斷源設(shè)立了中斷優(yōu)先級(jí)標(biāo)志。當(dāng)該標(biāo)志為1時(shí),可優(yōu)先執(zhí)行相應(yīng)中斷函數(shù),否則按請(qǐng)求先后順序響應(yīng)。中斷優(yōu)先級(jí)標(biāo)志可在程序中由軟件修改;c) 系統(tǒng)為外部中斷源設(shè)立了中斷觸發(fā)方式標(biāo)志,可據(jù)此指定相應(yīng)信號(hào)類型。優(yōu)先級(jí)原則:1)高級(jí)中斷請(qǐng)求可以打斷
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省新鄉(xiāng)市新譽(yù)佳高級(jí)中學(xué)、永宏高級(jí)中學(xué)2024-2025學(xué)年高一下學(xué)期6月聯(lián)考政治試卷(含答案)
- 公司食堂安全培訓(xùn)
- 廈門(mén)假期商城培訓(xùn)課件
- 重癥超聲容量評(píng)估六步法
- 職業(yè)生涯規(guī)劃教育主題班會(huì)
- 公司董事監(jiān)事培訓(xùn)課件
- 《電氣火災(zāi)預(yù)防與應(yīng)對(duì)》課件
- 街道安全培訓(xùn)課件
- 炸雞操作技巧培訓(xùn)課件
- 腫瘤特色方藥介紹
- 血管旋磨術(shù)護(hù)理查房
- 鐵路貨運(yùn)低碳化發(fā)展路徑
- 分析化學(xué)知識(shí)點(diǎn)總結(jié)
- 《統(tǒng)計(jì)學(xué)》 課件 廖穎文 1. 緒 論
- QCC品管圈活動(dòng)表格匯編
- 幼兒園零星改造工程施工完整方案
- 城市軌道交通服務(wù)禮儀PPT完整全套教學(xué)課件
- 《世界遺產(chǎn)背景下的影響評(píng)估指南和工具包》
- DolphinScheduler體系架構(gòu)突破
- 探究食育課程對(duì)小班幼兒良好飲食習(xí)慣形成的作用 論文
評(píng)論
0/150
提交評(píng)論