電子發(fā)燒友網(wǎng)訊:應(yīng)廣大電子發(fā)燒友網(wǎng)讀者要求,本電子書《C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍》為《單片機(jī)關(guān)鍵知識(shí)點(diǎn)全攻略》單片機(jī)系列教程及《單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略》系列單片機(jī)C語(yǔ)言學(xué)習(xí)教程的全整合篇,供所需學(xué)習(xí)或收藏的工程師及單片機(jī)學(xué)生、單片機(jī)愛(ài)好者下載。 點(diǎn)擊下載《C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍》電子書 單片機(jī)對(duì)于初學(xué)者來(lái)說(shuō)確實(shí)很難理解,不少學(xué)過(guò)單片機(jī)的同學(xué)或電子愛(ài)好者,甚至在畢業(yè)時(shí)仍舊是一無(wú)所獲。基于此,電子發(fā)燒友網(wǎng)將整合《單片機(jī)關(guān)鍵知識(shí)點(diǎn)全攻略》,共分為四個(gè)系列,以饗讀者,敬請(qǐng)期待!此系列對(duì)于業(yè)內(nèi)電子工程師也有收藏和參考價(jià)值。 單片機(jī)關(guān)鍵知識(shí)點(diǎn)一覽: 系列一 1:?jiǎn)纹瑱C(jī)簡(jiǎn)敘 2:?jiǎn)纹瑱C(jī)引腳介紹 3:?jiǎn)纹瑱C(jī)存儲(chǔ)器結(jié)構(gòu) 4:第一個(gè)單片機(jī)小程序 5:?jiǎn)纹瑱C(jī)延時(shí)程序分析 6:?jiǎn)纹瑱C(jī)并行口結(jié)構(gòu) 7:?jiǎn)纹瑱C(jī)的特殊功能寄存器 系列二 8:?jiǎn)纹瑱C(jī)尋址方式與指令系統(tǒng) 9:?jiǎn)纹瑱C(jī)數(shù)據(jù)傳遞類指令 10:?jiǎn)纹瑱C(jī)數(shù)據(jù)傳送類指令 11:?jiǎn)纹瑱C(jī)算術(shù)運(yùn)算指令 12:?jiǎn)纹瑱C(jī)邏輯運(yùn)算類指令 13:?jiǎn)纹瑱C(jī)邏輯與或異或指令祥解 14:?jiǎn)纹瑱C(jī)條件轉(zhuǎn)移指令 系列三 15:?jiǎn)纹瑱C(jī)位操作指令 16:?jiǎn)纹瑱C(jī)定時(shí)器與計(jì)數(shù)器 17:?jiǎn)纹瑱C(jī)定時(shí)器/計(jì)數(shù)器的方式 18:?jiǎn)纹瑱C(jī)的中斷系統(tǒng) 19:?jiǎn)纹瑱C(jī)定時(shí)器、中斷試驗(yàn) 20:?jiǎn)纹瑱C(jī)定時(shí)/計(jì)數(shù)器實(shí)驗(yàn) 21:?jiǎn)纹瑱C(jī)串行口介紹 系列四 22:?jiǎn)纹瑱C(jī)串行口通信程序設(shè)計(jì) 23:LED數(shù)碼管靜態(tài)顯示接口與編 24:動(dòng)態(tài)掃描顯示接口電路及程序 25:?jiǎn)纹瑱C(jī)鍵盤接口程序設(shè)計(jì) 26:?jiǎn)纹瑱C(jī)矩陣式鍵盤接口技術(shù)及 27:關(guān)于單片機(jī)的一些基本概念 28:實(shí)際案例實(shí)踐——單片機(jī)音樂(lè)程序設(shè)計(jì) 繼《單片機(jī)學(xué)習(xí)知識(shí)點(diǎn)全攻略》得到廣大讀者好評(píng),根據(jù)有網(wǎng)友提出美中不足的是所用單片機(jī)編程語(yǔ)言為匯編,基于此,電子發(fā)燒友網(wǎng)再接再厲再次為讀者誠(chéng)摯奉上非常詳盡的《單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略》系列單片機(jī)C語(yǔ)言學(xué)習(xí)教程,本教程共分為四部分,主要知識(shí)點(diǎn)如下所示。 第一部分知識(shí)點(diǎn): 第一課 建立你的第一個(gè)KeilC51項(xiàng)目 第二課 C51HEX文件的生成和單片機(jī) 第三課 C51數(shù)據(jù)類型 第四課 C51常量 第二部分知識(shí)點(diǎn): 第五課 C51變量 第六課 C51運(yùn)算符和表達(dá)式 第七課 運(yùn)算符和表達(dá)式(關(guān)系運(yùn)算符) 第八課 運(yùn)算符和表達(dá)式(位運(yùn)算符) 第九課 C51運(yùn)算符和表達(dá)式(指針和地址運(yùn)算符) 第三部分知識(shí)點(diǎn): 第十課 C51表達(dá)式語(yǔ)句及仿真器 第十一課 C51復(fù)合語(yǔ)句和條件語(yǔ)句 第十二課 C51開關(guān)分支語(yǔ)句 第十三課 C51循環(huán)語(yǔ)句 第十四課 C51函數(shù) 第四部分知識(shí)點(diǎn): 第十五課 C51數(shù)組的使用 第十六課 C51指針的使用 第十七課 C51結(jié)構(gòu)、聯(lián)合和枚舉的使用 附錄(運(yùn)算符優(yōu)先級(jí)和結(jié)合性等)
標(biāo)簽: C51 單片機(jī) C語(yǔ)言 創(chuàng)新
上傳時(shí)間: 2013-11-03
上傳用戶:Amygdala
第一章:MCS-51系列單片機(jī)的存儲(chǔ)結(jié)構(gòu)(4學(xué)時(shí)) ① 掌握內(nèi)部數(shù)據(jù)寄存器RAM的結(jié)構(gòu)、用途和特點(diǎn); ② 程序存儲(chǔ)器ROM的結(jié)構(gòu)特點(diǎn),編程中應(yīng)注意的問(wèn)題; ③ 片內(nèi)、外程序存儲(chǔ)器的確定方法。 .. 第二章:MCS-51單片機(jī)指令系統(tǒng)及時(shí)序(4學(xué)時(shí)) ① 111條指令的功能分類; ② 指令的尋址方式; ③ 偽指令及匯編語(yǔ)言源程序的格式; ④ 與指令的相關(guān)時(shí)序。 第三章:MCS-51單片機(jī)內(nèi)部模塊的功能介紹(8學(xué)時(shí)) ① 內(nèi)部并行I/O端口的結(jié)構(gòu)特點(diǎn)、使用中的注意事項(xiàng); ② 定時(shí)/計(jì)數(shù)器的2種工作方式、4種計(jì)數(shù)模式; ③ 串行接口的4種工作模式的設(shè)定及波特率的計(jì)算; ④ 中斷系統(tǒng)的結(jié)構(gòu)、中斷響應(yīng)的過(guò)程和編程方法。 .. 第四章:MCS-51單片機(jī)系統(tǒng)的擴(kuò)展及應(yīng)用(8學(xué)時(shí)); ① 系統(tǒng)擴(kuò)展的幾種方法; ② 外部程序、數(shù)據(jù)存儲(chǔ)器的擴(kuò)展; ③ A/D、D/A轉(zhuǎn)換器與單片機(jī)的接口電路及編程方法; ④ 鍵盤掃描/動(dòng)態(tài)顯示接口電路; ⑤ 單片機(jī)的監(jiān)控電路等。
標(biāo)簽: 單片機(jī) 綜合設(shè)計(jì)
上傳時(shí)間: 2013-10-17
上傳用戶:熊少鋒
介紹了一種基于AT89S52微處理器、鍵控顯示模式、多漢字顯示的顯示模塊設(shè)計(jì)方法。對(duì)AT89S52的內(nèi)部功能及使用高128字節(jié)RAM時(shí)的尋址方式進(jìn)行說(shuō)明。給出了四漢字顯示模塊的硬件電路原理圖、主程序流程圖以及中斷顯示流程圖。 Abstract: The design method of display module base on the AT89S52 microcontroller,display mode controlled by keyboard and? showing several Chinese characterses are introduced in the paper.The internal function and the addressing mode for the high 128B RAM of the AT89S52 are explained.The basic circuit diagram,the main program flow chart and the display interrupt flow chart of four Chinese characterses display module are also given.
上傳時(shí)間: 2014-01-23
上傳用戶:咔樂(lè)塢
單片機(jī)原理及綜合設(shè)計(jì) 第一章:MCS-51系列單片機(jī)的存儲(chǔ)結(jié)構(gòu)(4學(xué)時(shí))① 掌握內(nèi)部數(shù)據(jù)寄存器RAM的結(jié)構(gòu)、用途和特點(diǎn);② 程序存儲(chǔ)器ROM的結(jié)構(gòu)特點(diǎn),編程中應(yīng)注意的問(wèn)題;③ 片內(nèi)、外程序存儲(chǔ)器的確定方法。 第二章:MCS-51單片機(jī)指令系統(tǒng)及時(shí)序(4學(xué)時(shí))① 111條指令的功能分類;② 指令的尋址方式;③ 偽指令及匯編語(yǔ)言源程序的格式;④ 與指令的相關(guān)時(shí)序。第三章:MCS-51單片機(jī)內(nèi)部模塊的功能介紹(8學(xué)時(shí))① 內(nèi)部并行I/O端口的結(jié)構(gòu)特點(diǎn)、使用中的注意事項(xiàng);② 定時(shí)/計(jì)數(shù)器的2種工作方式、4種計(jì)數(shù)模式;③ 串行接口的4種工作模式的設(shè)定及波特率的計(jì)算;④ 中斷系統(tǒng)的結(jié)構(gòu)、中斷響應(yīng)的過(guò)程和編程方法。 第四章:MCS-51單片機(jī)系統(tǒng)的擴(kuò)展及應(yīng)用(8學(xué)時(shí));① 系統(tǒng)擴(kuò)展的幾種方法;② 外部程序、數(shù)據(jù)存儲(chǔ)器的擴(kuò)展;③ A/D、D/A轉(zhuǎn)換器與單片機(jī)的接口電路及編程方法;④ 鍵盤掃描/動(dòng)態(tài)顯示接口電路;⑤ 單片機(jī)的監(jiān)控電路等。
標(biāo)簽: 單片機(jī)原理 綜合設(shè)計(jì)
上傳時(shí)間: 2013-10-28
上傳用戶:ydd3625
單片機(jī)指令系統(tǒng)原理 51單片機(jī)的尋址方式 學(xué)習(xí)匯編程序設(shè)計(jì),要先了解CPU的各種尋址法,才能有效的掌握各個(gè)命令的用途,尋址法是命令運(yùn)算碼找操作數(shù)的方法。在我們學(xué)習(xí)的8051單片機(jī)中,有6種尋址方法,下面我們將逐一進(jìn)行分析。 立即尋址 在這種尋址方式中,指令多是雙字節(jié)的,一般第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是操作數(shù)。該操作數(shù)直接參與操作,所以又稱立即數(shù),有“#”號(hào)表示。立即數(shù)就是存放在程序存儲(chǔ)器中的常數(shù),換句話說(shuō)就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。 例如:MOV A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOV DPTR,#8200H在前面學(xué)單片機(jī)的專用寄存器時(shí),我們已學(xué)過(guò),DPTR是一個(gè)16位的寄存器,它由DPH及DPL兩個(gè)8位的寄存器組成。這條指令的意思就是把立即數(shù)的高8位(即82H)送入DPH寄存器,把立即數(shù)的低8位(即00H)送入DPL寄存器。這里也特別說(shuō)明一下:在80C51單片機(jī)的指令系統(tǒng)中,僅有一條指令的操作數(shù)是16位的立即數(shù),其功能是向地址指針DPTR傳送16位的地址,即把立即數(shù)的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數(shù)直接以單元地址的形式給出,也就是在這種尋址方式中,操作數(shù)項(xiàng)給出的是參加運(yùn)算的操作數(shù)的地址,而不是操作數(shù)。例如:MOV A,30H 這條指令中操作數(shù)就在30H單元中,也就是30H是操作數(shù)的地址,并非操作數(shù)。 在80C51單片機(jī)中,直接地址只能用來(lái)表示特殊功能寄存器、內(nèi)部數(shù)據(jù)存儲(chǔ)器以及位地址空間,具體的說(shuō)就是:1、內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個(gè)單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號(hào)形式給出。例如下面我們分析的一條指令 MOV IE,#85H 前面的學(xué)習(xí)我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 關(guān)于數(shù)據(jù)存儲(chǔ)器RAM的內(nèi)部情況,請(qǐng)查看我們課程的第十二課。 直接尋址是唯一能訪問(wèn)特殊功能寄存器的尋址方式! 大家來(lái)分析下面幾條指令:MOV 65H,A ;將A的內(nèi)容送入內(nèi)部RAM的65H單元地址中MOV A,direct ;將直接地址單元的內(nèi)容送入A中MOV direct,direct;將直接地址單元的內(nèi)容送直接地址單元MOV IE,#85H ;將立即數(shù)85H送入中斷允許寄存器IE 前面我們已學(xué)過(guò),數(shù)據(jù)前面加了“#”的,表示后面的數(shù)是立即數(shù)(如#85H,就表示85H就是一個(gè)立即數(shù)),數(shù)據(jù)前面沒(méi)有加“#”號(hào)的,就表示后面的是一個(gè)地址地址(如,MOV 65H,A這條指令的65H就是一個(gè)單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個(gè)工作寄存器組共有32個(gè)通用寄存器,但在指令中只能使用當(dāng)前寄存器組(工作寄存器組的選擇在前面專用寄存器的學(xué)習(xí)中,我們已知道,是由程序狀態(tài)字PSW中的RS1和RS0來(lái)確定的),因此在使用前常需要通過(guò)對(duì)PSW中的RS1、RS0位的狀態(tài)設(shè)置,來(lái)進(jìn)行對(duì)當(dāng)前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進(jìn)位位CY。 寄存器尋址方式是指操作數(shù)在寄存器中,因此指定了寄存器名稱就能得到操作數(shù)。例如:MOV A,R0這條指令的意思是把寄存器R0的內(nèi)容傳送到累加器A中,操作數(shù)就在R0中。INC R3這條指令的意思是把寄存器R3中的內(nèi)容加1 從前面的學(xué)習(xí)中我產(chǎn)應(yīng)可以理解到,其實(shí)寄存器尋址方式就是對(duì)由PSW程序狀態(tài)字確定的工作寄存器組的R0-R7進(jìn)行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數(shù)的地址,即操作數(shù)是通過(guò)寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機(jī)規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內(nèi)部或外部數(shù)據(jù)存儲(chǔ)器的256個(gè)單元。為什么會(huì)是256個(gè)單元呢?我們知道,R0或者R1都是一個(gè)8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV R0,#30H ;將值30H加載到R0中 MOV A,@R0 ;把內(nèi)部RAM地址30H內(nèi)的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H內(nèi)的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個(gè)16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器時(shí),我們通常就用DPTR做為間址寄存器。例:MOV DPTR,#1234H ;將DPTR值設(shè)為1234H(16位) MOVX A,@DPTR ;將外部RAM或I/O地址1234H內(nèi)的值放到累加器A中 在執(zhí)行PUSH(壓棧)和POP(出棧)指令時(shí),采用堆棧指針SP作寄存器間接尋址。例:PUSH 30H ;把內(nèi)部RAM地址30H內(nèi)的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會(huì)把內(nèi)部RAM地址30H內(nèi)的值放到RAM的61H內(nèi)。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個(gè),R0、R1、DPTR、SP 寄存器間接尋址范圍總結(jié):1、內(nèi)部RAM低128單元。對(duì)內(nèi)部RAM低128單元的間接尋址,應(yīng)使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對(duì)外部RAM64KB的間接尋址,應(yīng)使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內(nèi)容送入累加器A中。外部RAM的低256單元是一個(gè)特殊的尋址區(qū),除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內(nèi)容送入累加器A。 堆棧操作指令(PUSH和POP)也應(yīng)算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問(wèn)特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號(hào)的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標(biāo)志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計(jì)數(shù)器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時(shí),把兩者的內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。這種方式常用于訪問(wèn)程序存儲(chǔ)器ROM中的數(shù)據(jù)表格,即查表操作。變址尋址只能讀出程序內(nèi)存入的值,而不能寫入,也就是說(shuō)變址尋址這種方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址,或者說(shuō)它是專門針對(duì)程序存儲(chǔ)器的尋址方式。例:MOVC A,@A+DPTR這條指令的功能是把DPTR和A的內(nèi)容相加,再把所得到的程序存儲(chǔ)器地址單元的內(nèi)容送A假若指令執(zhí)行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數(shù)地址就是54H+3F21H=3F75H。如果3F75H單元中的內(nèi)容是7FH,則執(zhí)行這條指令后,累加器A中的內(nèi)容就是7FH。 變址尋址的指令只有三條,分別如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一條指令JMP @A+DPTR這是一條無(wú)條件轉(zhuǎn)移指令,這條指令的意思就是DPTR加上累加器A的內(nèi)容做為一個(gè)16位的地址,執(zhí)行JMP這條指令是,程序就轉(zhuǎn)移到A+DPTR指定的地址去執(zhí)行。 第二、三條指令MOVC A,@A+DPTR和MOVC A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來(lái)卻有一定的差別,現(xiàn)詳細(xì)說(shuō)明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個(gè)16位的數(shù)據(jù)指針寄存器,按理,它們的尋址范圍都應(yīng)是64K。我們?cè)趯W(xué)習(xí)特殊功能寄存器時(shí)已知道,程序計(jì)數(shù)器PC是始終跟蹤著程序的執(zhí)行的。也就是說(shuō),PC的值是隨程序的執(zhí)行情況自動(dòng)改變的,我們不可以隨便的給PC賦值。而DPTR是一個(gè)數(shù)據(jù)指針,我們就可以給空上數(shù)據(jù)指針DPTR進(jìn)行賦值。我們?cè)倏粗噶頜OVC A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個(gè)地址,而PC是固定的,累加器A是一個(gè)8位的寄存器,它的尋址范圍是256個(gè)地址單元。講到這里,大家應(yīng)可明白,MOVC A,@A+PC這條指令的尋址范圍其實(shí)就是只能在當(dāng)前指令下256個(gè)地址單元。所在,這在我們實(shí)際應(yīng)用中,可能就會(huì)有一個(gè)問(wèn)題,如果我們需要查詢的數(shù)據(jù)表在256個(gè)地址單元之內(nèi),則可以用MOVC A,@A+PC這條指令進(jìn)行查表操作,如果超過(guò)了256個(gè)單元,則不能用這條指令進(jìn)行查表操作。剛才我們已說(shuō)到,DPTR是一個(gè)數(shù)據(jù)指針,這個(gè)數(shù)據(jù)指針我們可以給它賦值操作的。通過(guò)賦值操作。我們可以使MOVC A,@A+DPTR這條指令的尋址范圍達(dá)到64K。這就是這兩條指令在實(shí)際應(yīng)用當(dāng)中要注意的問(wèn)題。 變址尋址方式是MCS-51單片機(jī)所獨(dú)有的一種尋址方式。 位尋址 80C51單片機(jī)有位處理功能,可以對(duì)數(shù)據(jù)位進(jìn)行操作,因此就有相應(yīng)的位尋址方式。所謂位尋址,就是對(duì)內(nèi)部RAM或可位尋址的特殊功能寄存器SFR內(nèi)的某個(gè)位,直接加以置位為1或復(fù)位為0。 位尋址的范圍,也就是哪些部份可以進(jìn)行位尋址: 1、我們?cè)诘谑n學(xué)習(xí)51單片機(jī)的存儲(chǔ)器結(jié)構(gòu)時(shí),我們已知道在單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM的低128單元中有一個(gè)區(qū)域叫位尋址區(qū)。它的單元地址是20H-2FH。共有16個(gè)單元,一個(gè)單元是8位,所以位尋址區(qū)共有128位。這128位都單獨(dú)有一個(gè)位地址,其位地址的名字就是00H-7FH。這里就有一個(gè)比較麻煩的問(wèn)題需要大家理解清楚了。我們?cè)谇懊娴膶W(xué)習(xí)中00H、01H。。。。7FH等等,所表示的都是一個(gè)字節(jié)(或者叫單元地址),而在這里,這些數(shù)據(jù)都變成了位地址。我們?cè)谥噶钪校蛘咴诔绦蛑腥绾蝸?lái)區(qū)分它是一個(gè)單元地址還是一個(gè)位地址呢?這個(gè)問(wèn)題,也就是我們現(xiàn)在正在研究的位尋址的一個(gè)重要問(wèn)題。其實(shí),區(qū)分這些數(shù)據(jù)是位地址還是單元地址,我們都有相應(yīng)的指令形式的。這個(gè)問(wèn)題我們?cè)诤竺娴闹噶钕到y(tǒng)學(xué)習(xí)中再加以論述。 2、對(duì)專用寄存器位尋址。這里要說(shuō)明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請(qǐng)大家回頭去看看我們前面關(guān)于專用寄存器的相關(guān)文章。一般來(lái)說(shuō),地址單元可以被8整除的專用寄存器,通常都可以進(jìn)行位尋址,當(dāng)然并不是全部,大家在應(yīng)用當(dāng)中應(yīng)引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態(tài)字PSW來(lái)進(jìn)行說(shuō)明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H MOV C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示 MOV C,F(xiàn)0 3、單元(字節(jié))地址加位表示:D0H單元位5,表示為DOH.5 MOV C,D0H.5 4、專用寄存器符號(hào)加位表示:例如PSW.5 MOV C,PSW.5 這四種方法實(shí)現(xiàn)的功能都是相同的,只是表述的方式不同而已。 例題: 1. 說(shuō)明下列指令中源操作數(shù)采用的尋址方式。 MOV R5,R7 答案:寄存器尋址方式 MOV A,55H 直接尋址方式 MOV A,#55H 立即尋址方式 JMP @A+DPTR 變址尋址方式 MOV 30H,C 位尋址方式 MOV A,@R0 間接尋址方式 MOVX A,@R0 間接尋址方式 改錯(cuò)題 請(qǐng)判斷下列的MCS-51單片機(jī)指令的書寫格式是否有錯(cuò),若有,請(qǐng)說(shuō)明錯(cuò)誤原因。 MOV R0,@R3 答案:間址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。 ADD R0,R1 運(yùn)算指令中目的操作數(shù)必須為累加器A,不可為R0。 MUL AR0 乘法指令中的乘數(shù)應(yīng)在B寄存器中,即乘法指令只可使用AB寄存器組合。
標(biāo)簽: 單片機(jī)指令 系統(tǒng)原理
上傳時(shí)間: 2013-11-11
上傳用戶:caozhizhi
單片機(jī)入門基礎(chǔ)知識(shí)大全免費(fèi)下載 單片機(jī)第八課(尋址方式與指令系統(tǒng)) 通過(guò)前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機(jī),讓它為我們干學(xué),要用指令,我們已學(xué)了幾條指令,但很零散,從現(xiàn)在開始,我們將要系統(tǒng)地學(xué)習(xí)8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計(jì)算機(jī)做事,就得給計(jì)算機(jī)以指令,并且我們已知,計(jì)算機(jī)很“笨”,只能懂得數(shù)字,如前面我們寫進(jìn)機(jī)器的75H,90H,00H等等,所以指令的第一種格式就是機(jī)器碼格式,也說(shuō)是數(shù)字的形式。但這種形式實(shí)在是為難我們?nèi)肆耍y記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價(jià),只是形式不一樣而已。 2、匯編 我們寫指令使用匯編格式,而計(jì)算機(jī)只懂機(jī)器碼格式,所以要將我們寫的匯編格式的指令轉(zhuǎn)換為機(jī)器碼格式,這種轉(zhuǎn)換有兩種方法:手工匯編和機(jī)器匯編。手工匯編實(shí)際上就是查表,因?yàn)檫@兩種格式純粹是格式不同,所以是一一對(duì)應(yīng)的,查一張表格就行了。不過(guò)手工查表總是嫌麻煩,所以就有了計(jì)算機(jī)軟件,用計(jì)算機(jī)軟件來(lái)替代手工查表,這就是機(jī)器匯編。 二、尋址 讓我們先來(lái)復(fù)習(xí)一下我們學(xué)過(guò)的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)送到相應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個(gè)因?yàn)樗腿氲臄?shù)可以讓燈全滅掉,第二個(gè)是為了要實(shí)現(xiàn)延時(shí),從這里我們可以看出來(lái),在用單片機(jī)的編程語(yǔ)言編程時(shí),經(jīng)常要用到數(shù)據(jù)的傳遞,事實(shí)上數(shù)據(jù)傳遞是單片機(jī)編程時(shí)的一項(xiàng)重要工作,一共有28條指令(單片機(jī)共111條指令)。下面我們就從數(shù)據(jù)傳遞類指令開始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結(jié)論,第一個(gè)詞MOV是命令動(dòng)詞,也就是決定做什么事情的,MOV是MOVE少寫了一個(gè)E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個(gè)“源”也就是你要送什么數(shù),必須要有一個(gè)“目的”,也就是你這個(gè)數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是0FFH,而要送達(dá)的地方(目的地)就是P1這個(gè)寄存器。在數(shù)據(jù)傳遞類指令中,均將目的地寫在指令的后面,而將源寫在最后。 這條指令中,送給P1是這個(gè)數(shù)本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時(shí)候都可以直接給出數(shù)本身的。例如,在我們前面給出的延時(shí)程序例是這樣寫的: MAIN: SETB P1.0 ;(1) LCALL DELAY ;(2) CLR P1.0 ;(3) LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,#250 ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表1 MAIN: SETB P1.0 ;(1) MOV 30H,#255 LCALL DELAY ; CLR P1.0 ;(3) MOV 30H,#200 LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,30H ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表2 這樣一來(lái),我每次調(diào)用延時(shí)程序延時(shí)的時(shí)間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時(shí)時(shí)間為0.13S燈滅,燈滅后延時(shí)0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時(shí)程序改成這樣(見(jiàn)表2):調(diào)用則見(jiàn)表2中的主程,也就是先把一個(gè)數(shù)送入30H,在子程序中R7中的值并不固定,而是根據(jù)30H單元中傳過(guò)來(lái)的數(shù)確定。這樣就可以滿足要求。 從這里我們可以得出結(jié)論,在數(shù)據(jù)傳遞中要找到被傳遞的數(shù),很多時(shí)候,這個(gè)數(shù)并不能直接給出,需要變化,這就引出了一個(gè)概念:如何尋找操作數(shù),我們把尋找操作數(shù)所在單元的地址稱之為尋址。在這里我們直接使用數(shù)所在單元的地址找到了操作數(shù),所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數(shù)放在工作寄存器中,從工作寄存器中尋找數(shù)據(jù),則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數(shù)據(jù)送到累加器A中去。提一個(gè)問(wèn)題:我們知道,工作寄存器就是內(nèi)存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來(lái),MOV A,00H,和MOV A,R0不就沒(méi)什么區(qū)別了嗎?為什么要加以區(qū)分呢?的確,這兩條指令執(zhí)行的結(jié)果是完全相同的,都是將00H單元中的內(nèi)容送到A中去,但是執(zhí)行的過(guò)程不同,執(zhí)行第一條指令需要2個(gè)周期,而第二條則只需要1個(gè)周期,第一條指令變成最終的目標(biāo)碼要兩個(gè)字節(jié)(E5H 00H),而第二條則只要一個(gè)字節(jié)(E8h)就可以了。 這么斤斤計(jì)較!不就差了一個(gè)周期嗎,如果是12M的晶振的話,也就1個(gè)微秒時(shí)間了,一個(gè)字節(jié)又能有多少? 不對(duì),如果這條指令只執(zhí)行一次,也許無(wú)所謂,但一條指令如果執(zhí)行上1000次,就是1毫秒,如果要執(zhí)行1000000萬(wàn)次,就是1S的誤差,這就很可觀了,單片機(jī)做的是實(shí)時(shí)控制的事,所以必須如此“斤斤計(jì)較”。字節(jié)數(shù)同樣如此。 再來(lái)提一個(gè)問(wèn)題,現(xiàn)在我們已知,尋找操作數(shù)可以通過(guò)直接給的方式(立即尋址)和直接給出數(shù)所在單元地址的方式(直接尋址),這就夠了嗎? 看這個(gè)問(wèn)題,要求從30H單元開始,取20個(gè)數(shù),分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數(shù),就用MOV A,30H,那么下一個(gè)數(shù)呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個(gè)數(shù),不是得20條指令才能寫完嗎?這里只有20個(gè)數(shù),如果要送200個(gè)或2000個(gè)數(shù),那豈不要寫上200條或2000條命令?這未免太笨了吧。為什么會(huì)出現(xiàn)這樣的狀況?是因?yàn)槲覀冎粫?huì)把地址寫在指令中,所以就沒(méi)辦法了,如果我們不是把地址直接寫在指令中,而是把地址放在另外一個(gè)寄存器單元中,根據(jù)這個(gè)寄存器單元中的數(shù)值決定該到哪個(gè)單元中取數(shù)據(jù),比如,當(dāng)前這個(gè)寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個(gè)問(wèn)題了。怎么個(gè)解決法呢?既然是看的寄存器中的值,那么我們就可以通過(guò)一定的方法讓這里面的值發(fā)生變化,比如取完一個(gè)數(shù)后,將這個(gè)寄存器單元中的值加1,還是執(zhí)行同一條指令,可是取數(shù)的對(duì)象卻不一樣了,不是嗎。通過(guò)例子來(lái)說(shuō)明吧。 MOV R7,#20 MOV R0,#30H LOOP:MOV A,@R0 INC R0 DJNZ R7,LOOP 這個(gè)例子中大部份指令我們是能看懂的,第一句,是將立即數(shù)20送到R7中,執(zhí)行完后R7中的值應(yīng)當(dāng)是20。第二句是將立即數(shù)30H送入R0工作寄存器中,所以執(zhí)行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個(gè)值作為地址,取這個(gè)地址單元的內(nèi)容送入A中,此時(shí),執(zhí)行這條指令的結(jié)果就相當(dāng)于MOV A,30H。第四句,沒(méi)學(xué)過(guò),就是把R0中的值加1,因此執(zhí)行完后,R0中的值就是31H,第五句,學(xué)過(guò),將R7中的值減1,看是否等于0,不等于0,則轉(zhuǎn)到標(biāo)號(hào)LOOP處繼續(xù)執(zhí)行,因此,執(zhí)行完這句后,將轉(zhuǎn)去執(zhí)行MOV A,@R0這句話,此時(shí)相當(dāng)于執(zhí)行了MOV A,31H(因?yàn)榇藭r(shí)的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環(huán)20次為止,就實(shí)現(xiàn)了我們的要求:從30H單元開始將20個(gè)數(shù)據(jù)送入A中。 這也是一種尋找數(shù)據(jù)的方法,由于數(shù)據(jù)是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數(shù)據(jù)。 二、指令 數(shù)據(jù)傳遞類指令 1) 以累加器為目的操作數(shù)的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過(guò)的。第四條指令是將立即數(shù)data送到A中。 下面我們通過(guò)一些例子加以說(shuō)明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內(nèi)存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個(gè)值作為地址,并將這個(gè)地址單元中的值送入A中。如執(zhí)行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數(shù)34H送入A中,執(zhí)行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A MOV Rn,direct MOV Rn,#data 這組指令功能是把源地址單元中的內(nèi)容送入工作寄存器,源操作數(shù)不變。
標(biāo)簽: 單片機(jī) 免費(fèi)下載 基礎(chǔ)知識(shí)
上傳時(shí)間: 2013-10-13
上傳用戶:3294322651
基于M CORE微控制器的嵌入式系統(tǒng)從應(yīng)用的角度出發(fā),全面介紹了構(gòu)成嵌人式系統(tǒng)的微控制器的結(jié)構(gòu)和常用支撐硬件的原理以及設(shè)計(jì)開發(fā)方法。本書共 24章,分為3大部分。第 1部分(第 1~14章)介紹具有 32位 RISC CPU核的M·CORE微控制器的結(jié)構(gòu)及原理,按模塊分章,對(duì)各功能模塊的原理及使用方法都有詳盡的講解。眾所周知,微控制器種類繁多,雖然不同種類微控制器的CPU及內(nèi)部功能模塊有所不同,但基本原理(尤其是一些通用的功能)是一致的。第2部分(第15—19章)介紹嵌入式系統(tǒng)常用外圍電路的原理及設(shè)計(jì)和使用方法,包括有:異步串行接口的互連及應(yīng)用舉例、同步串行總線及應(yīng)用舉例、液晶顯示模塊、液晶控制器、觸摸屏及觸摸屏控制器和各類存儲(chǔ)器的應(yīng)用舉例。第3部分(第20—24章)介紹嵌人式系統(tǒng)的開發(fā)環(huán)境與軟件開發(fā),在討論嵌人式系統(tǒng)軟件開發(fā)的一般過(guò)程和開發(fā)工具需求的基礎(chǔ)上,介紹M·CORE軟件開發(fā)支持工具集、MMC2107微控制器評(píng)估板、M·CORE常用工具軟件、QodeWarrior集成開發(fā)環(huán)境IDE及M·CORE的基本程序設(shè)計(jì)技術(shù)。 第1部分 M·COREM控制器的結(jié)構(gòu)及原理 第1章 微控制器及其應(yīng)用技術(shù)概述 1.1 微控制器的特點(diǎn) 1.2 微控制器技術(shù)的發(fā)展 1.3 M·CORE系列微控制器 l.3.1 MMC2107的特點(diǎn)及組成 1.3.2 MMC2107的引腳描述 1.3.3 MMC2107的系統(tǒng)存儲(chǔ)器地址映射 第2章 M·CORE M210中央處理單元(CPU) 2.1 M·CORE處理器綜述 2.1.1 M·CORE處理器的微結(jié)構(gòu) 2.1.2 M·CORE處理器的編程模型 2.1.3 M·CORE的數(shù)據(jù)格式 2.1.4 M·CORE處理器的寄存器 2.2 M·CORE處理器指令系統(tǒng)簡(jiǎn)述 2. 2.l 指令類型和尋址方式
標(biāo)簽: CORE 微控制器 嵌入式系統(tǒng)
上傳時(shí)間: 2013-10-28
上傳用戶:lhw888
《微機(jī)原理及應(yīng)用》課程教案目 錄 下載WORD文檔前 言 下載WORD文檔第一章 51系列單片機(jī)概述 下載WORD文檔 第一節(jié) 概述 第二節(jié) 51系列單片機(jī)分類 思考題與習(xí)題 第二章 MCS-51系列單片機(jī)組成及工作原理 下載WORD文檔 第一節(jié) MCS-51系列單片機(jī)組成 第二節(jié) 8051的內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM) 第三節(jié) 8051的內(nèi)部程序存儲(chǔ)器(內(nèi)部ROM) 第四節(jié) MCS-51系列單片機(jī)典型芯片的外部引腳功能 第五節(jié) 并行輸入/輸出口 第六節(jié) CPU的時(shí)鐘電路和時(shí)序定時(shí)單位 第七節(jié) 單片機(jī)指令執(zhí)行的過(guò)程 思考題與習(xí)題 第三章 指令系統(tǒng) 下載WORD文檔 第一節(jié) 指令格式和尋址方式 第二節(jié) 指令系統(tǒng) 思考題與習(xí)題 第四章 算法與結(jié)構(gòu)程序設(shè)計(jì) 下載WORD文檔 第一節(jié) 算法 第二節(jié) 程序基本結(jié)構(gòu) 第三節(jié) 結(jié)構(gòu)化程序設(shè)計(jì) 第四節(jié) 匯編語(yǔ)言程序設(shè)計(jì)舉例 思考題與習(xí)題 第五章 中斷 下載WORD文檔 第一節(jié) 中斷技術(shù)概述 第二節(jié) 8051中斷系統(tǒng) 第三節(jié) 中斷控制 第四節(jié) 中斷響應(yīng) 第五節(jié) 中斷系統(tǒng)應(yīng)用舉例 思考題與習(xí)題 第六章 定時(shí)器/計(jì)數(shù)器 下載WORD文檔 第一節(jié) 概述 第二節(jié) 定時(shí)器/計(jì)數(shù)器基本結(jié)構(gòu) 工作方式及應(yīng)用 思考題與習(xí)題 第七章 8051單片機(jī)系統(tǒng)擴(kuò)展與接口技術(shù) 下載WORD文檔 第一節(jié) 8051單片機(jī)系統(tǒng)擴(kuò)展概述 第二節(jié) 單片機(jī)外部存儲(chǔ)器擴(kuò)展 第三節(jié) 單片機(jī)輸入/輸出(I/O)口擴(kuò)展 第四節(jié) LED顯示器接口電路及顯示程序 第五節(jié) 單片機(jī)鍵盤接口技術(shù) 第六節(jié) 單片機(jī)與數(shù)模(D/A)及模數(shù)(A/D)轉(zhuǎn)換器的接口及應(yīng)用 思考題與習(xí)題 第八章 8051單片機(jī)的異步串行通信技術(shù) 下載WORD文檔 第一節(jié) 概述 第二節(jié) 8051串行口基本結(jié)構(gòu) 第三節(jié) 8051串行通信工作方式及應(yīng)用 第四節(jié) 多機(jī)通信原理 下載WORD文檔 思考題與習(xí)題 第九章 單片機(jī)應(yīng)用舉例 下載WORD文檔 第一節(jié) 單片機(jī)數(shù)據(jù)采集系統(tǒng) 第二節(jié) 電機(jī)轉(zhuǎn)速測(cè)量 第三節(jié) 步進(jìn)電機(jī)控制系統(tǒng) 第四節(jié) 機(jī)器人三覺(jué)機(jī)械手信號(hào)處理及控制算法 思考題與習(xí)題 第十章 單片機(jī)與字符式液晶顯示模塊連接技術(shù) 下載WORD文檔 第一節(jié) 字符式液晶顯示模塊簡(jiǎn)介 第二節(jié) 模塊指令系統(tǒng) 第三節(jié) 模塊與8051單片機(jī)的接口 第四節(jié) 模塊字符顯示舉例 第五節(jié) 自定義字符顯示 思考題與習(xí)題 附錄一 計(jì)算機(jī)數(shù)的運(yùn)算基礎(chǔ) 下載WORD文檔 第一節(jié) 進(jìn)位計(jì)數(shù)制及相互轉(zhuǎn)換 第二節(jié) 計(jì)算機(jī)中數(shù)和字符的表示附錄二 美國(guó)標(biāo)準(zhǔn)信息交換碼(ASCII)字符表附錄三 MCS-51指令表 下載WORD文檔
上傳時(shí)間: 2014-04-16
上傳用戶:hhkpj
單片機(jī)指令系統(tǒng) 3.1 MCS-51指令簡(jiǎn)介 3.2 指令系統(tǒng) 3.1 MCS-51指令簡(jiǎn)介 二、MCS-51系列單片機(jī)指令系統(tǒng)分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數(shù)據(jù)傳送指令位操 2、直接尋址 2、算術(shù)運(yùn)算指令 3、寄存器尋址 3、邏輯運(yùn)算指令 4、寄存器間接尋址指令 4、控制轉(zhuǎn)移類指令 5、相對(duì)尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數(shù)是通過(guò)寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數(shù)在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數(shù)的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號(hào)說(shuō)明 Rn——當(dāng)前寄存器區(qū)的8個(gè)工作寄存器R0~R7(n=0~7); Ri——當(dāng)前寄存器區(qū)可作地址寄存器的2個(gè)工作寄存器R0和R1(i=0,1); direct——8位內(nèi)部數(shù)據(jù)存儲(chǔ)器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(shù)(立即數(shù)); #datal6——表示16位常數(shù); add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號(hào)的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號(hào)中單元的內(nèi)容 (( ))——表示間接尋址的內(nèi)容; 五、MCS-51指令簡(jiǎn)介 1. 以累加器A為目的操作數(shù)的指令 2. 以Rn為目的操作數(shù)的指令 3. 以直接地址為目的操作數(shù)的指令 4. 以寄存器間接地址為目的操作數(shù)指令 應(yīng)用舉例1 8段數(shù)碼管顯示 應(yīng)用舉例2 3.2 指令系統(tǒng) 2、堆棧操作指令 3. 累加器A與外部數(shù)據(jù)傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節(jié)交換指令 6. 半字節(jié)交換指令 二、算術(shù)操作類指令 PSW寄存器 2. 帶進(jìn)位加法指令 3. 加1指令 4. 十進(jìn)制調(diào)整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運(yùn)算指令 1. 簡(jiǎn)單邏輯操作指令 2. 循環(huán)指令 帶進(jìn)位左循環(huán)指令(Rotate Accumulator Left through Carry flag) 右循環(huán)指令(Rotate Accumulator Right) 帶進(jìn)位右循環(huán)指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉(zhuǎn)移類指令 1. 跳轉(zhuǎn)指令 相對(duì)轉(zhuǎn)移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標(biāo)號(hào)與地址之間的關(guān)系 2. 條件轉(zhuǎn)移指令 3. 比較不相等轉(zhuǎn)移指令 4. 減 1 不為 0 轉(zhuǎn)移指令 5. 調(diào)用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數(shù)據(jù)位傳送指令 2. 位變量邏輯指令 3. 條件轉(zhuǎn)移類指令
標(biāo)簽: 單片機(jī) 指令系統(tǒng)
上傳時(shí)間: 2013-10-27
上傳用戶:xuanjie
微型機(jī)算計(jì)發(fā)展概述人類從原始社會(huì)學(xué)會(huì)使用工具以來(lái)到現(xiàn)代社會(huì)經(jīng)歷了三次大的產(chǎn)業(yè)革命:農(nóng)業(yè)革命、工業(yè)革命、信息革命。而信息革命是以計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展和普及為代表的。人類已進(jìn)入了高速發(fā)展的現(xiàn)代時(shí)期。其中計(jì)算機(jī)科學(xué)和技術(shù)發(fā)展之快,是任何其他技術(shù)都無(wú)法相提并論的自從1946年美國(guó)賓夕法尼亞大學(xué)研制成功的世界上第一臺(tái)電子計(jì)算機(jī)到現(xiàn)在已50多年的歷史。計(jì)算機(jī)的發(fā)展經(jīng)歷了四代:第一代:電子管電路計(jì)算機(jī),電子管數(shù):18800個(gè);繼電器數(shù)量:5000個(gè);耗電量:150KW;重量:30t;占地面積:150平方米;運(yùn)算速度:5000次加法運(yùn)算/s。第二代:晶體管電路計(jì)算機(jī)(60年代初)第三代:小規(guī)模集成電路計(jì)算機(jī)。第四代:大規(guī)模(LSI)和超大規(guī)模(VSLI)集成電路計(jì)算機(jī)。第四代計(jì)算機(jī)基本情況:運(yùn)算速度為每秒幾千億次到幾萬(wàn)億次;從數(shù)值計(jì)算和數(shù)據(jù)處理到目前進(jìn)行知識(shí)處理的人工智能階段;計(jì)算機(jī)不僅可以處理文字、字符、圖形圖象信息,而且可以處理音頻、視頻等多媒體信息;計(jì)算機(jī)正朝著智能化和多媒體化方向發(fā)展。微型計(jì)算機(jī)的定義:以微處理器為核心,再配上半導(dǎo)體存儲(chǔ)器、輸入/輸出接口電路、系統(tǒng)總線及其它支持邏輯電路組成的計(jì)算機(jī)稱微型計(jì)算機(jī)。在1971年美國(guó)Intel公司首先研制成功世界上第一塊微處理器芯片4004以來(lái),差不多每隔2~3年就推出一代新的微處理器產(chǎn)品;如今已推出了第五代微處理器。因?yàn)槲⑻幚砥魇俏⑿陀?jì)算機(jī)的核心部件,它的性能在很大程度上決定了微型計(jì)算機(jī)的性能,所以微型計(jì)算機(jī)的發(fā)展是以微處理器的發(fā)展而更新?lián)Q代的。微處理器和微型計(jì)算機(jī)的發(fā)展:1.第一代微處理器和微型計(jì)算機(jī):(1971~1973年)——4位CPU和低檔8位處理器,典型的產(chǎn)品有:Intel 4004、改進(jìn)型的4040,是4位處理器,以它為核心構(gòu)成的微機(jī)是MCS-4。Intel 8008是8位通用微處理器,以它為核心所構(gòu)的微機(jī)是MCS-8。參數(shù):芯片采用PMOS工藝;集成度為2000管/片;時(shí)鐘頻率1MHz;平均指令執(zhí)行時(shí)間為20μs。2.第二代微處理器和微型計(jì)算機(jī)(1973~1978年)——成熟的8位CPU,典型的產(chǎn)品有:Intel 8080(1973年由Intel公司推出)MC6800 (1974年由美國(guó)Motorola推出。Z-80 (1975年由Zilog公司推出。Intel 8085 (1976年由Intel公司推出,是Intel 8080的改進(jìn)型。MOS 6502,由MOS公司推出,它是IBM PC機(jī)問(wèn)世之前世界上最流行的微型計(jì)算機(jī)Apple2(蘋果機(jī))的CPU。第二代微處理器的參數(shù):芯片工藝采用NMOS工藝,集成度達(dá)到5000~9000管/片;時(shí)鐘頻率2~4MHz;平均指令執(zhí)行時(shí)間為1~2μs;具有多種尋址方式,指令系統(tǒng)完善,基本指令100多條。特點(diǎn):具有中斷、DMA等控制功能;也考慮了兼容性、接口標(biāo)準(zhǔn)化和通用性、配套的外圍電路功能和種類齊全。在軟件方面:主要是匯編,還有一些簡(jiǎn)單的高級(jí)語(yǔ)言和操作系統(tǒng)。
上傳時(shí)間: 2013-11-24
上傳用戶:蔣清華嗯
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1