【正文】
: 定時器1中斷入口地址0023H: 外部中斷2中斷入口地址 數據存儲器數據存儲器用于放程序運算的中間結果、狀態(tài)標志等。2.做一般I/O使用,其內部有上拉電阻。2.外部擴充存儲器時,當作低8位地址總線(A0~A7)。 EA/Vpp:內外ROM選擇/片內EPROM編程電源。ALE/PROG:地址鎖存允許/片內EPROM編程脈沖 ALE功能:用來鎖存P0口送出的低8位地址 PROG功能:片內有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。8.時鐘電路CPU執(zhí)行指令的一系列動用都是在時序電路的控制下一拍一拍進行的,時鐘電路用于產生單片機中最基本的時間單位。4.并行I/O口P0~P3是四個8位并行I/O口,每個口既可作為輸入,也可作為輸出。RS0、RS1與寄存器組的對應關系見表13。表12 PSW各位定義D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PCy:進位/借位標志位。PC是一個16位的專用寄存器,用來存放CPU要執(zhí)行的存放在程序存儲器中的下一條指令地地址。圖21為8051單片機內部基本結構框圖。表11 二進制、十進制、十六進制對應轉換表十進制二進制十六進制000000100011200102300113401004501015601106701117810008910019101010A111011B121100C131101D141110E151111F例如:1000101B=45H ASCLL碼對于計算機非數值型數據不能直接裝入計算機,必須將其轉換為特定的二進制代碼(即將其編碼),以二進制代碼所表示的字符數據的形式裝入計算機。其中整數部分可采用“除2取余法”進行轉換,小數部分可采用“乘2取整法”進行轉換。十六進制數有16個數字符號,其中0~9與十進制數相同,剩6個為A~F,分別表示十六進制數的確10~15,計數時按“逢十六進一”的原則進行計數。計數時按“逢二進一”的原則進行計數。第一章 計算機基礎知識及MCS51單片機硬件結構 數制與編碼 在計算機中,任何命令和信息都是以二進制數據的形式存儲的。在計算機中,二進制數的每一位是數據的最小存儲單位。為了便于區(qū)別不同進制的數據,一般情況下可在數據后跟一后綴:二進制數用“B”表示(如1001111B)十六進制數用“H”表示(如3AH)十進制數用“D”表示(如39D或39) 不同數制之間的轉換計算機中的數只能用二進制數表示,十六進制數適合讀寫方便的需要,日常生活使用的是十六進制數,計算機根據需要對各種進制進轉換。例如:將37D轉換為二進制數。ASCLL碼是一種國際標準信息交換碼,它利用7位二進制代碼來表示字符,再加上1位校驗位,故在計算機中用1個字節(jié)8位二進制數來表示一個字符。外部事件計數外時鐘源振蕩器和時序OSC程序存儲器4KB ROM數據存儲器256B RAM/SFR振蕩器和時序OSC8051CPU64KB 總線擴展控制器可編程I/O可編程全雙工串行口外中斷內中斷控制并行口串行通信圖11 8051單片機內部基本結構框圖1.CPUCPU是單片機內部的核心部件,是單片機的指揮和控制中心。當系統上電復位后,PC的內容為0000H,所以單片機主控制程序的首地址自然應定位為0000H。AC:輔助進位標志。表13RS0、RS1與寄存器組的對應關系見表RS1RS2寄存器組片內RAM地址指令助符000組00H~07HR0~R7011組08H~0FHR0~R7102組10H~17HR0~R7113組18H~1FHR0~R7OV:溢出標志。5.定時器/計數器6.中斷系統MCS51單片機有5個中斷源。 MCS51 引腳功能VCC:芯片電源,接+5V。PSEN:外ROM讀選通信號。P0、PPP3口,共32個引腳。3.不擴充時,可做一般I/O使用,但內部無上拉電阻,作為輸入輸出時應在外部接上拉電阻。 CS51存儲結構及位處理器由于時間有限,這一部分內容只作簡要介紹。數據存儲器由RAM構成,一旦掉電,其數據將丟失。堆棧區(qū)一般設在些區(qū)域。表14 特殊功能寄存器(SFR)地址寄存器位地址及位名字節(jié)地址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HACCE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HCyACF0RS1RS0OVF1PIPBFHBEHBDHBCHBBHBAHB9HB8HB8HPSPT1PX1PT0PX0P3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHAEHADHACHABHAAHA9HA8HA8HEAESET1EX1ET0EX0P2A7HA6HA5HA4HA3HA2HA1HA0HA0HSBUF99HSCON9FH9EH9DH9CH9BH9AH99H98H98HSM0SM1SM2RENTB8RB8TIRIP197H96H95H94H93H92H91H90H90HTH18DHTH08CHTL18BHTL08AHTMODGATEC/TM1M0GATEC/TM1M089HTCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0PCON87HDPH83HDPL82HSP81HP087H86H85H84H83H82H81H80H80H MCS51工作方式MCS51單片機的工作方式包括:復位方式、程序執(zhí)行方式、節(jié)電方式和EPROM的編程和校驗方式。 MCS51單片機的時序計算機執(zhí)行指令的過程分為取指令、分析指令、和執(zhí)行指令三個步驟,每個步驟又由許多微操作組成,這些微操作必須在一個統一的時鐘脈沖的控制下才能按照正確的順序執(zhí)行。例如:時鐘頻率為6MHz。3.指令周期指令周期定義為執(zhí)行一條指令所用的時間。MCS51匯編語言指令格式由以下向個部分組成:[標號:] 操作碼 [目的操作數] [源操作數] [:注釋]其中,[]中的項表示為可選項例如:LOOP: MOV A,Ri :A←Ri 尋址方式;所謂尋址方式就是尋找或獲得操作數的方式。1.立即尋址在立即尋址方式中,操作數直接出現在指令中,指令的操作數可以是8位或16位數。例如:MOV TCON,AMOV A, P1⑵.內部RAM的低128字節(jié)例如:MOV A,76H3.寄存器尋址在寄存器尋址方式中,寄存器中的內容就是操作數。例如:MOV A,R05.變址尋址 變址尋址方式是以程序指針PC或數據指針DPTR為基址寄存器,以累加器A作為變址寄存器,兩者內容相加(即基地址+偏移量)形成16位的操作數地址,變址尋址方式主要用于訪問固化在程序存儲器中的某個字節(jié)。相對偏移量rel是一個用補碼表示的8位有符號數,rel的范圍為+127~128字節(jié)之間。 ★執(zhí)行后不影響任何標志位。如:MOV SP, 70H算術運算類(24條形碼)屬于這一類的助記符有: ADD,ADDC,INC SUBB,DEC MUL,DIV,DA①、ADD Rn ②、INC A ADDC A ,Ri Rn SUBB DATA Ri DIRECT DIRECT DPTR③、DEC A ④、 MUL AB Rn DIV AB Ri DA A DIRECT邏輯運算類(24條)屬于這一類的助記符有:ANL,ORL,XRL,CPL,CLR① ANL A Rn ANL A,Ri ANL A DIRECT ANL A DATA ② ANL direct, A ANL direct, data③ ORL A, Rn ORL A, direct ORL A, Ri ORL A, data④ ORL direct, data ORL direct, A⑤ XRL A, Rn XRL A, direct XRL A, data XRL A, Ri⑥ XRL direct, A XRL direct, data③ CPL A CLR A RL A RLC A RR A RRC A SWAP A 控制轉移類(17條)屬于這一類的助記符有:JMP,LJMP,AJMP, LCALL,ACALL,SJMPJZ,JNZ,DJNZ,CJNE①、JMP A+DPTR ②、NOPLJMP addr16 RETAJMP addr11 RETILCALL addr16 ③、JZ relACALL addr11 JNZ relSJMP rel (地址范圍為) DJNZ Rn , rel Direct , rel④、CJNE Rn , DATA, rel A, DATA, rel Ri, DATA, rel A, Direct, rel位操作指令(17條)屬于這一類的助記符有:JB,JNB,JBC,CLR,SETB,CPL,ANL,ORL,MOV①、CLR C ②、SETB C BIT BIT③、CPL C ④、ANL C ,BIT BIT /BIT⑤、ORL C ,BIT ⑥、MOV C ,BIT C ,/BIT BIT ,C⑦、JB BIT ,REL ⑧、JC rel JNB BIT ,REL JNC rel JBC BIT , REL、 匯編語言程序設計基礎;程序設計語言可分為三類:機器語言、匯編語言、高級語言。匯編語言:是一種采用助記符來表示的機器語言,即用助符號來代表指令的操作碼和操作數,用標號或符號代表地址、常數或變量。 偽指令MCS51單片機匯編語言中常用的偽指令如下:1.ORG(匯編起始地址)格式:ORG 16位地址2.END(