




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章 單片機:把中央處理器(CPU)、隨機存儲器(RAM)、只讀存儲器(ROM)、定時/計數器、輸入/輸出(I/O)接口電路等主要的計算機部件集成在一塊集成電路芯片上的單片微型計算機。簡稱單片機。 第二章 單片機內部結構:Ø 一個8位CPUØ 128字節內部數據存儲器(RAM)Ø 4K內部程序存儲器Ø 2個16位的定時/計數器Ø 四個8位的I/O口Ø 一個全雙工的串行口Ø 5個中斷源:2個外部中斷,2個定時/計數中斷,1個串行中斷Ø 時鐘電路Ø 總線外部引腳:40個(名稱)Ø 四個8位并行口(
2、32):P0口、P1口、P2口、P3口Ø 電源(2)Ø 晶振(2):XTAL1、XTAL2Ø 控制線(4): ALE:地址鎖存控制信號 :外部程序存儲器讀選通信號 EA:訪問程序存儲器控制信號 RST:復位信號 內部RAM:地址:00H-FFHØ 00H-1FH:寄存器區Ø 20H-2FH:位尋址區Ø 30H-7FH:用戶RAM區Ø 80H-FFH:特殊功能寄存器區1、 寄存器區(分組選擇:RS0、RS1),8個通用寄存器R0-R72、 位尋址區字節中的每一個位都具有地址,可直接對位進行操作。位地址:00H-7FH,128單
3、元3、 3用戶RAM區: 30H-7FH,在該區設置堆棧。1)堆棧:按照“先進后出,后進先出”的原則進行存取的內存區域。用于保護程序斷點和數據。2)堆棧的開辟:用SP指針設置棧底。 堆棧區: (SP)初1>7FH SP的初值為07H3)堆棧的使用: 進棧操作:PUSH 出棧操作: POP 進棧操作:先SP加1,后寫入數據; 出棧操作:先讀出數據,后SP減1。4、特殊功能寄存器:80H-FFH 共有21個特殊寄存器(SFR),離散地分布在該區域中,有些寄存器還可以進行位尋址。分類: CPU: PC(16位,程序計數器), ACC, B, PSW, DPTR, SP 并行口:P0, P1,
4、P2, P3 中斷: IE, IP 定時計數器:TMOD,TCON,TL0,TH0, TL1, TH1 串行口: SCON, SBUF, PCONIE中斷允許控制寄存器IP中斷優先級控制寄存器PCON電源控制寄存器SCON串行口控制寄存器SBUF串行數據緩沖寄存器TCON定時器控制寄存器TMOD定時器方式選擇寄存器內部ROM:4K ROM,地址為0000H-0FFFH并行I/O口:4個端口在結構上相同之處: P0 - P3都是準雙向I/0口,作輸人時,必須先向相應端口的鎖存器寫人 “1”。4個端口在結構上不同之處: P0口無內部上拉電阻,不能提供拉電流輸出,而P1-P3則帶內部上拉電阻,可以提
5、供拉電流輸出。當P0口作通用I/0口輸出使用時,需外接上拉電阻才可輸出高電平。引腳復用:P0口:擴展時作為8位數據總線和低8位地址總線。P2口:擴展時作為高8位地址總線。P3口第二功能1)振蕩周期:振蕩電路產生的方波信號的周期。T振=1/fosc 2)機器周期:計算機完成一種最基本的操作所需的時間。T機=12T振 3)指令周期:執行一條指令所需要的時間,用機器周期數表示。復位電路:功能:復位啟動單片機。復位條件:在RST引腳輸入2個機器周期以上的高電平。正常工作時保持為低電平。1) 初始化單片機,使PC初始化為0000H;2)初始化存儲器。寄存器內容寄存器內容PC0000HTMOD00HACC
6、00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIP00HSBUF不定IE00HPCON00H第三章 單片機指令系統機器語言:用二進制編碼表示的指令。匯編語言:用助記符表示的指令。指令系統:計算機所能執行的指令集合。尋址方式:尋找操作數地址的方法。操作數的表示方法。7種尋址方式:1) 立即尋址:操作數在指令中。 MOV A,#70H MOV DPTR,#1234H2)直接尋址:內部RAM地址在指令中 MOV A,10H ANL 70H,#48H地址范圍:內部RAM128字節,SFR3)寄存器尋址:
7、操作數在寄存器中。 MOV A, R1 MOV R7, #100寄存器:R0-R7, A, B, DPTR 4)寄存器間接尋址:操作數地址在寄存器中。 MOV A,R1 ANL A,R0 寄存器:R0, R1, DPTR, SP5)變址尋址:操作數地址在基址寄存器和變址寄存器中。 MOVC A, A+DPTR MOVC A, A+PC訪問ROM單元數據。6)相對尋址:轉移地址(目的地址)的相對偏移量在指令中。 JC 80H實際使用中使用標號,偏移量由匯編程序自動計算。 JC NEXT7)位尋址:位地址在指令中。 MOV C,20H位的表示方法:位名稱,字節名稱帶點,字節地址帶點,位地址。 MO
8、V C, F0(PSW.5, D0H.5, D5H)程序存儲器數據傳送 MOVC A, A+PC MOVC A, A+DPTR例:將ROM2000H單元數據送到A. MOV DPTR,#2000H MOV A,#0 MOVC A,A+DPTR數據交換指令字節交換 XCH 半字節交換 XCHD 低四位交換,高四位不變。累加器高四位與低四位互換 DEC A(Rn, direct, Ri) 減1指令INC 多一條 INC DPTR控制轉移指令一、無條件轉移指令1)長轉移: LJMP addr16; 64K2)絕對轉移:AJMP addr11; 同一個2K3)相對轉移:SJMP rel ;-128+1
9、274)散轉指令:JMP A+DPTR實際編程時使用目的地址標號 例: LJMP MAIN SJMP NEXTJBC bit, rel ; bit為1轉移,且位bit清零CJNE A, #data(direct),rel 不等轉移CJNE Rn, #data, rel CJNE Ri, #data, rel 對Cy位有影響。 返回:RET RETI ;中斷子程序返回空指令非:CPL C CPL bit 匯編:將匯編語言翻譯成機器語言;偽指令:告訴匯編程序匯編方法的命令,不生成機器代碼。EQU:等值命令(定義常量)例:X EQU 20H Y EQU 21H Z EQU 22H程序中可用XYZ替代
10、20H,21H,22HDATA:數據地址賦值X DATA 20HY DATA 21H只能對累加器進行移位(RL、RR、RLC、RRC)ACLR A CPL A第四章 匯編程序設計順序程序例:將40H單元中8位無符號二進制數轉換成三位BCD碼,并存放在BAI, SHI, GE三個單元中。ORG 0000HBAI DATA 30HSHI DATA 31HGE DATA 32HMOV A, 40HMOV B,#100DIV ABMOV BAI, AMOV A,BMOV B, #10DIV ABMOV SHI, AMOV GE, BSJMP $END分支程序例:設變量X存放于R2, Y存放在R3,試按
11、下式給Y賦值。 MOV A,R2 JNZ L1 ;累加器判非零轉移 MOV R3,#0 SJMP L3L1: JB ACC.7, L2 MOV R3, #1 SJMP L3L2: MOV R3, #0FFHL3: SJMP L3 END循環程序例:將內部RAM30H為首地址的20個數據傳送到外部RAM3000H開始的單元。 MOV R0, #30H MOV DPTR, #3000H MOV R7, #20LOOP: MOV A, R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7, LOOPHERE: SJMP HERE子程序例1:編程實現c=a2+b2XA DATA
12、 40HXB DATA 41HXC DATA 42H MOV A, XA ACALL SQR MOV XC, A MOV A, XB ACALL SQR ADD A, XC MOV XC, A SJMP $SQR: MOV B, A MUL AB RET例2: 多重循環 5ms延時程序,設fosc=6MHz 機器周期為2sDELAY: MOV R6, #5 ;循環5次 DEL1: MOV R7, #250 ;循環250次 DEL2: DJNZ R7, DEL2 ;2× 250×2s=1ms DJNZ R6, DEL1 ;5×1ms=5ms RET ;DJNZ為兩個
13、機器周期 查表程序設計1.表格的定義:使用偽指令:DB,DW例:TAB: DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH,7DH, 07H, 7FH, 6FH DB 77H, 7CH2.表格的訪問: MOVC A, A+DPTR MOVC A, A+PC例:已知R0低4位有一個十六進制數(0-F),編程轉換成相應的ASCII碼并送入R0. MOV A, R0 ANL A, #0FH ADD A, #03H ;PC本身是一個程序計數器, 計算偏移量(查表指令的下一條指令首地址到表格首地址之間的字節數) MOVC A, A+PC MOV R0,A 1個字節 SJMP $ 2個字
14、節 ASCTAB: DB 0,1,2,3,4,5,6,7 DB 8,9,A,B,C,D,E,F上例用DPTR做基址的程序如下:MOV DPTR,# ASCTABMOV A, R0ANL A, #0FHMOVC A, A+DPTR MOV R0,A SJMP $ ASCTAB: DB 0,1,2,3,4,5,6,7 DB 8,9,A,B,C,D,E,F把內部RAM中起始地址為BLK1的數據塊傳送到外部RAM中以BLK2為起始地址的區域,直到遇到“#”為止。數據塊長度放在R1中。1)循環程序包含分支程序。2)計數循環,采用間接尋址。BLK1 EQU 30HBLK2 EQU 1000H MOV R0
15、, #BLK1 MOV DPTR, #BLK2XH: CLR C MOV A,R0 PUSH ACC SUBB A,#23H JZ JS POP ACC MOVX DPTR,A INC R0 INC DPTR DJNZ R1, XHJS: SJMP $編程實現下面的功能:LED0 EQU P3.0LED1 EQU P3.1LED2 EQU P3.2 LOOP: MOV A, P1 CLR C SUBB A,#100 JZ EQUAL JC SMALL CLR LED0 CLR LED1 SETB LED2 SJMP OKEQUAL: CLR LED0 SETB LED1 CLR LED2 SJ
16、MP OKSMALL: SETB LED0 CLR LED1 CLR LED2OK: SJMP LOOP 例3: 在P1.0引腳輸出1HZ方波信號。 ORG 0000HLOOP: MOV R1,#100WAIT: LCALL DELAY DJNZ R1, WAIT CPL P1.0 SJMP LOOP第五章 單片機內部資源中斷:由外設向CPU提出請求,在滿足一定條件下,CPU暫停現有程序的運行,而去運行中斷服務程序(中斷子程序),執行結束后返回原先的程序繼續運行。中斷源:向CPU請求中斷的事件。中斷響應條件1)中斷源的請求2)中斷允許位開放3)中斷總允許位開放4)若有多個中斷源同時請求,則本中
17、斷源優先級最高5)CPU沒有執行中斷任務或本中斷優先級高于正在執行的中斷源的優先級定時方式與計數方式區別:脈沖來源定時方式:計數脈沖來自單片機內部,每個機器周期加1。計數方式:計數脈沖來自單片機外部引腳串行口通訊方式:并行通訊:多位數據同時傳送。速度快,效率高。需要有與數據位相等的數據線。串行通訊:數據按位傳送。使用較少的數據線,成本低。速度較慢。 數據格式:起始位(低電平)+數據位+停止位(高) +空閑位(高)數據位:低位在前,高位在后。波特率:串行通訊中,每秒鐘傳送二進制數碼的位數。通訊方向:單工方式:一方固定為發送,另一方固定為接收,數據單向傳送。雙工方式:數據可以雙向傳送。半雙工: 可
18、以雙向傳送,但在同一時刻,數據的傳送方向只能有一個。全雙工:數據可以同時收發。. 串行口引腳 接收引腳: RXD(P3.0)發送引腳: TXD(P3.1)數據緩沖寄存器:SBUF,(99H)結構:一個發送寄存器,一個接收寄存器作用:用于收發數據發送: MOV SBUF,#10H MOV SBUF,A 讀取: MOV A, SBUF MOV 20H,SBUF波特率設計1)方式0: 固定 fCLK=fosc/122)方式2: 固定 波特率=2SMOD*fosc/64 3)方式1,3: 可變 波特率=(2SMOD/32)*T1的溢出率第六章 單片機系統擴展一、總線擴展總線:連接系統中各個擴展部件的一
19、組公共信號線。分為數據總線、地址總線和控制總線。總線的構成1)數據總線:8位 P0.0P0.7:D0D72)地址總線:16位 P0.0P0.7, P2.0P2.7: A0A153)控制總線:3 PSEN, RD,WR 構成接口芯片片選信號的兩種方法:1)線選法:用高位地址線直接作為接口芯片的片選信號。2)譯碼法:用譯碼器對高位地址線進行譯碼后作為片選信號。譯碼器:2-4譯碼器: 74LS1393-8譯碼器: 74LS1384-16譯碼器:74LS154擴展方法芯片的數據線與數據總線相連,地址線與地址總線或片選信號線相連,控制線與控制總線相連。 訪問方法:1)以PSEN作為控制線: 與片外ROM
20、統一編址讀: MOVC A,A+DPTR MOVC A,A+PC2)以RD,WR作為控制線: 與片外RAM統一編址讀: MOVX A,DPTR MOVX A,Ri 寫: MOVX DPTR,A MOVX Ri,A 二、存儲器擴展程序存儲器型號1)ROM2)EPROM:電可編程只讀存儲器 2716: 16Kbit, 2Kbyte 2732: 32Kbit 2764: 64Kbit 27128: 27256:64Kbyte 3)EEPROM:電擦除電編程ROM 2817: 2Kbyte2864: 64Kbit數據存儲器型號采用靜態RAM(Static RAM)6116: 16Kbit6264: 64Kbit or 8Kbyte62256: 32Kbyte628128: 128Kbyte三、鍵盤接口接口形式1)獨立式鍵盤:每個鍵單獨地接I/O線。特點:接口簡單,但
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何與家教簽訂2025年的合同或協議
- 2025合作伙伴協議合同范本
- 2025年個人影像技術制作的合同范本示例
- 《生育與健康》課件
- 2025購銷合同范本3
- 2025貨車買賣合同樣本模板
- 2025年度機械設備采購合同專業版
- 2025國內租賃合同模板
- 《課件傳播的途徑與策略》
- 諾貝爾生平創見課件
- 青馬工程筆試試題及答案
- 豆粕交易合同協議
- 項目設計安全管理制度
- 電子化采購招投標平臺系統建設項目解決方案
- 小學京劇知識
- 鐵塔土建施工方案
- 2025年演出經紀人《演出市場政策與經紀實務》考前點題卷一
- GB/T 45235-2025電子電氣產品中雙酚A的測定高效液相色譜法
- 2025年度祠堂宗教用品銷售承包合同3篇
- 華為智慧園區解決方案
- 世界銀行集團簡介課件(PPT 48頁)
評論
0/150
提交評論