freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的數(shù)字式音樂盒的畢業(yè)設(shè)計(編輯修改稿)

2024-07-24 20:36 本頁面
 

【文章內(nèi)容簡介】 為CPU提供了就近存儲數(shù)據(jù)的便利,有利于提高單片機(jī)的運(yùn)算速度。此外,使用通用寄存器還能提高程序編制的靈活性,因此,在單片機(jī)的應(yīng)用編程中應(yīng)充分利用這些寄存器,以簡化程序設(shè)計,提高程序運(yùn)行速度。(2)位尋址區(qū)內(nèi)部RAM的20H~2FH單元,既可作為一般RAM單元使用,進(jìn)行字節(jié)操作,也可以對單元中每一位進(jìn)行位操作,因此把該區(qū)稱之為位尋址區(qū)。位尋址區(qū)共有16個RAM單元,計128位,地址為00H~7FH。MCS51具有布爾處理機(jī)功能,這個位尋址區(qū)可以構(gòu)成布爾處理機(jī)的存儲空間。這種位尋址能力是MCS51的一個重要特點(diǎn)。(3)用戶RAM區(qū)在內(nèi)部RAM低128單元中,通用寄存器占去32個單元,位尋址區(qū)占去16個單元,剩下80個單元,這就是供用戶使用的一般RAM區(qū),其單元地址為30H~7FH。對用戶RAM區(qū)的使用沒有任何規(guī)定或限制,但在一般應(yīng)用中常把堆棧開辟在此區(qū)中。2)內(nèi)部數(shù)據(jù)存儲器高128單元內(nèi)部RAM的高128單元是供給專用寄存器使用的,其單元地址為80H~FFH。因這些寄存器的功能已作專門規(guī)定,故稱之為專用寄存器(Special Function Register),也可稱為特殊功能寄存器。2 8051內(nèi)部程序存儲器8051的程序存儲器用于存放編好的程序和表格常數(shù)。8051片內(nèi)有4 KB的ROM。051的片外最多能擴(kuò)展64 KB程序存儲器,片內(nèi)外的ROM是統(tǒng)一編址的。如端保持高電平,8051的程序計數(shù)器PC在0000H~0FFFH地址范圍內(nèi)(即前4 KB地址)是執(zhí)行片內(nèi)ROM中的程序,當(dāng)PC在1000H~FFFFH地址范圍時,自動執(zhí)行片外程序存儲器中的程序;當(dāng)保持低電平時,只能尋址外部程序存儲器,片外存儲器可以從0000H開始編址。 8051的程序存儲器中有些單元具有特殊功能,使用時應(yīng)予以注意。其中一組特殊單元是0000H~0002H。系統(tǒng)復(fù)位后,(PC)=0000H,單片機(jī)從0000H單元開始取指令執(zhí)行程序。如果程序不從0000H單元開始,應(yīng)在這三個單元中存放一條無條件轉(zhuǎn)移指令,以便直接轉(zhuǎn)去執(zhí)行指定的程序。還有一組特殊單元是0003H~002AH,共40個單元。這40個單元被均勻地分為5段,作為5個中斷源的中斷地址區(qū)。其中: 0003H~000AH 外部中斷0中斷地址區(qū) 000BH~0012H 定時/計數(shù)器0中斷地址區(qū) 0013H~001AH 外部中斷1中斷地址區(qū) 001BH~0022H 定時/計數(shù)器1中斷地址區(qū) 0023H~002AH 串行中斷地址區(qū)中斷響應(yīng)后,按中斷種類,自動轉(zhuǎn)到各中斷區(qū)的首地址去執(zhí)行程序,因此在中斷地址區(qū)中理應(yīng)存放中斷服務(wù)程序。但通常情況下,8個單元難以存下一個完整的中斷服務(wù)程序,因此通常也是從中斷地址區(qū)首地址開始存放一條無條件轉(zhuǎn)移指令,以便中斷響應(yīng)后,通過中斷地址區(qū),再轉(zhuǎn)到中斷服務(wù)程序的實(shí)際入口地址。(SFR)簡介8051共有21個專用寄存器,其中部分寄存器簡單介紹如下:(1) 程序計數(shù)器PC: PC是一個16位的計數(shù)器,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達(dá)64 KB。PC有自動加1功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因此用戶無法對它進(jìn)行讀寫,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。因地址不在SFR(專用寄存器)之內(nèi),一般不計作專用寄存器。(2) 累加器 ACC:累加器為8位寄存器,是最常用的專用寄存器,功能較多,地位重要。它既可用于存放操作數(shù),也可用來存放運(yùn)算的中間結(jié)果。MCS51單片機(jī)中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。(3) B寄存器。B寄存器是一個8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算時,B存乘數(shù)。乘法操作后,乘積的高8位存于B中,除法運(yùn)算時,B存除數(shù)。除法操作后,余數(shù)存于B中。此外,B寄存器也可作為一般數(shù)據(jù)寄存器使用。 (4) 程序狀態(tài)字PSW:序狀態(tài)字是一個8位寄存器,用于存放程序運(yùn)行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動設(shè)置的,而有些位的狀態(tài)則使用軟件方法設(shè)定。PSW的位狀態(tài)可以用專門指令進(jìn)行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令將根據(jù)PSW有些位的狀態(tài),進(jìn)行程序轉(zhuǎn)移。PSW的各位定義如下:PSW位地址D7HD6HD5HD4HD3HD2HD1HD0H字節(jié)地 址CYACF0RS1RS0OVF1P,其余各位的定義及使用如下:CY()——進(jìn)位標(biāo)志位。CY是PSW中最常用的標(biāo)志位。其功能有二:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志,在進(jìn)行加或減運(yùn)算時,如果操作結(jié)果的最高位有進(jìn)位或借位時,CY由硬件置“1”,否則清“0”;二是在位操作中,作累加位使用。位傳送、位與位或等位操作,操作位之一固定是進(jìn)位標(biāo)志位。AC()——輔助進(jìn)位標(biāo)志位。在進(jìn)行加減運(yùn)算中,當(dāng)?shù)?位向高4位進(jìn)位或借位時,AC由硬件置“1”,否則AC位被清“0”。在BCD碼調(diào)整中也要用到AC位狀態(tài)。 F0()——用戶標(biāo)志位。這是一個供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位,用以控制程序的轉(zhuǎn)向。RS1和RS0(,)——寄存器組選擇位。它們被用于選擇CPU當(dāng)前使用的通用寄存器組。通用寄存器共有4組。這兩個選擇位的狀態(tài)是由軟件設(shè)置的,被選中的寄存器組即為當(dāng)前通用寄存器組。但當(dāng)單片機(jī)上電或復(fù)位后,RS1 RS0=00。OV()——溢出標(biāo)志位。在帶符號數(shù)加減運(yùn)算中,OV=1表示加減運(yùn)算超出了累加器A所能表示的符號數(shù)有效范圍(128~+127),即產(chǎn)生了溢出,因此運(yùn)算結(jié)果是錯誤的,否則,OV=0表示運(yùn)算正確,即無溢出產(chǎn)生。在乘法運(yùn)算中,OV=1表示乘積超過255,即乘積分別在B與A中,否則,OV=0,表示乘積只在A中。在除法運(yùn)算中,OV=1表示除數(shù)為0,除法不能進(jìn)行,否則,OV=0,除數(shù)不為0,除法可正常進(jìn)行。P()——奇偶標(biāo)志位。表明累加器A中內(nèi)容的奇偶性。如果A中有奇數(shù)個“1”,則P置“1”,否則置“0”。凡是改變累加器A中內(nèi)容的指令均會影響P標(biāo)志位。此標(biāo)志位對串行通信中的數(shù)據(jù)傳輸有重要的意義。在串行通信中常采用奇偶校驗(yàn)的辦法來校驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴?5) 數(shù)據(jù)指針(DPTR)。數(shù)據(jù)指針為16位寄存器。編程時,DPTR既可以按16位寄存器使用,也可以按兩個8位寄存器分開使用,即: DPH DPTR高位字節(jié) DPL DPTR低位字節(jié)DPTR通常在訪問外部數(shù)據(jù)存儲器時作地址指針使用。由于外部數(shù)據(jù)存儲器的尋址范圍為64 KB,故把DPTR設(shè)計為16位。(6) 堆棧指針(SP—Stack Pointer)。堆棧是一個特殊的存儲區(qū),用來暫存數(shù)據(jù)和地址,它是按“先進(jìn)后出”的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)棧和出棧。由于8051單片機(jī)的堆棧設(shè)在內(nèi)部RAM中,因此SP是一個8位寄存器。系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,從而復(fù)位后堆棧實(shí)際上是從08H單元開始的。但08H~1FH單元分別屬于工作寄存器1~3區(qū),如程序要用到這些區(qū),最好把SP值改為1FH或更大的值。一般在內(nèi)部RAM的30H~7FH單元中開辟堆棧。SP的內(nèi)容一經(jīng)確定,堆棧的位置也就跟著確定下來,由于SP可初始化為不同值,因此堆棧位置是浮動的。注意:MCS51系列單片機(jī)有21個可尋址的專用寄存器,其中有11個專用寄存器是可以位尋址的。對專用寄存器的字節(jié)尋址問題作如下幾點(diǎn)說明: (1)21個可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)部RAM高128單元之中,盡管還余有許多空閑地址,但用戶并不能使用。(2) 程序計數(shù)器PC不占據(jù)RAM單元,它在物理上是獨(dú)立的,因此是不可尋址的寄存器。 (3) 對專用寄存器只能使用直接尋址方式,書寫時既可使用寄存器符號,也可使用寄存器。 1 中斷源中斷源是指能發(fā)出中斷請求,引起中斷的裝置或事件。8051單片機(jī)的中斷源共有5個,其中2個為外部中斷源,3個為內(nèi)部中斷源:⑴ INT0:外部中斷0。⑵ INT1:外部中斷1。⑶ T0:定時/計數(shù)器0溢出中斷。⑷ T1:定時/計數(shù)器1溢出中斷。⑸ 串行中斷:包括串行接收中斷RI和串行發(fā)送中斷TI。2 中斷寄存器8051單片機(jī)中涉及中斷控制的有3個方面4個特殊功能寄存器:① 中斷請求:定時和外中斷控制寄存器TCON。串行控制寄存器SCON。② 中斷允許控制寄存器IE。③ 中斷優(yōu)先級控制寄存器IP。 ④ 中斷請求控制寄存器TCONINT0、INTT0、T1中斷請求標(biāo)志放在TCON中串行中斷請求標(biāo)志放在SCON中。TCON的結(jié)構(gòu)、位名稱、位地址如下:TCOND7D6D5D4D3D2D1D0位名稱TF1TF0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTCON位功能:① TF1 —— T1溢出中斷請求標(biāo)志,T1計數(shù)溢出后,TF1=1② TF0 —— T0溢出中斷請求標(biāo)志 T0計數(shù)溢出后,TF0=1③ IE1 —— 外中斷中斷請求標(biāo)志 ,IE1=1④ IE0 —— 外中斷中斷請求標(biāo)志 ,IE0=1⑤ IT1 —— 外中斷觸發(fā)方式控制位 IT1=1,邊沿觸發(fā)方式; IT1=0,電平觸發(fā)方式。⑥ IT0 —— 外中斷觸發(fā)方式控制位 其意義和功能與IT1相似。(2) 中斷請求控制寄存器SCONSCON的結(jié)構(gòu)、位名稱、位地址如下:① TI —— 串行口發(fā)送中斷請求標(biāo)志② RI —— 串行口接收中斷請求標(biāo)志SCOND7D6D5D4D3D2D1D0位名稱TIRI位地址99H98H (3)中斷允許控制寄存器IE8051對中斷源的開放或關(guān)閉由中斷允許控制寄存器IE控制。IE的結(jié)構(gòu)、位名稱和位地址如下:IED7D6D5D4D3D2D1D0位名稱EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H① EA —— CPU中斷允許控制位 EA=1,CPU開中; EA=0,CPU關(guān)中,且屏蔽所有5個中斷源。② EX0 —— 外中斷INT0中斷允許控制位 EX0=1,INT0開中;EX0=0,INT0關(guān)中。 ③ EX1 —— 外中斷INT1中斷允許控制位 EX1=1,INT1開中;EX1=0,INT1關(guān)中。④ ET0 —— 定時/計數(shù)器T0中斷允許控制位 ET0=1,T0開中;ET0=0,T0關(guān)中。⑤ ET1 —— 定時/計數(shù)器T1中斷允許控制位 ET1=1,T1開中;ET1=0,T1關(guān)中。⑥ ES —— 串行口中斷(包括串發(fā)、串收)允許控制位 ES=1,串行口開中;ES=0,串行口關(guān)中。3 中斷入口地址8051的五個中斷入口地址:INT0:0003H;T0:000BH;INT1:0013HT1:001BH;串行口:0023H4 中斷優(yōu)先控制和中斷嵌套(1) 中斷優(yōu)先控制8051中斷優(yōu)先控制首先根據(jù)中斷優(yōu)先級,此外還規(guī)定了同一中斷優(yōu)先級之間的中斷優(yōu)先權(quán)。其從高到低的順序?yàn)椋篒NT0、INTT0、T串行口。(2) 中斷嵌套當(dāng)CPU正在執(zhí)行某個中斷服務(wù)程序時,如果發(fā)生更高一級的中斷源請求中斷,CPU可以“中斷”正在執(zhí)行的低優(yōu)先級中斷,轉(zhuǎn)而響應(yīng)更高一級的中斷,這就是中斷嵌套。中斷嵌套只能高優(yōu)先級“中斷”低優(yōu)先級,低優(yōu)先級不能“中斷”高優(yōu)先級,同一優(yōu)先級也不能相互“中斷”。 定時/計數(shù)器1 定時/計數(shù)器控制寄存器,(1) 定時/計數(shù)器控制寄存器TCONTCONT1中斷標(biāo)志T1運(yùn)行標(biāo)志T0中斷標(biāo)志T1運(yùn)行標(biāo)志INT1中斷標(biāo)志INT1觸發(fā)方式INT0中斷標(biāo)志INT0觸發(fā)方式位名稱TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTCON低4位與外中斷、有關(guān)。高4位與定時/計數(shù)器T0、T1有關(guān)。① TF1:定時/計數(shù)器T1溢出標(biāo)志。② TF0:定時/計數(shù)器T0溢出標(biāo)志。③ TR1:定時/計數(shù)器T1運(yùn)行控制位。TR1=1,T1運(yùn)行。TR1=0,T1停。④ TR0:定時/計數(shù)器T0運(yùn)行控制位。TR0=1,T0運(yùn)行。TR0=0,T0停。TCON的字節(jié)地址為88H,每一位有位地址,均可位操作。(2) 定時/計數(shù)器工作方式控制寄存器TMODTMOD用于設(shè)定定時/計數(shù)器的工作方式低4位用于控制T0,高4位用于控制T1。高四位控制T1低四位控制T0門控位計數(shù)/定時方式選擇工作方式選擇門控位計數(shù)/定時方式選擇工作方式選擇GC/TM1M0GC/TM1M0① MM0:工作方式選擇位M1 M0工作方式功能00方式013位計數(shù)器01方式116位計數(shù)器10方式2兩個8位計數(shù)器,初值自動裝入11方式3兩個8位計數(shù)器,僅適用T0② C/T:計數(shù)/定時方式選擇位
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1