1 / 17

MCS51 - wykład 2

MCS51 - wykład 2. Wykład 2 2/17. Funkcjonowanie MCS51 Generator taktu Cykle maszynowe i rozkazowe Wbudowane porty równoległe Zerowanie układu. HMOS. XTAL2 XTAL1 GND. XTAL2 XTAL1 GND.

merlin
Download Presentation

MCS51 - wykład 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MCS51 - wykład 2

  2. Wykład 2 2/17 Funkcjonowanie MCS51Generator taktuCykle maszynowe i rozkazoweWbudowane porty równoległeZerowanie układu

  3. HMOS XTAL2 XTAL1 GND XTAL2 XTAL1 GND buforTTL zewnętrznygenerator rozwiązanieklasyczne Φ1 : 6MHz Φ2 : 6MHz XTAL2 XTAL1 GND wbudowanyoscylator 12MHz 1 cykl maszynowy MCS51 - układ taktowania 3/17 Standardowy zakres częstotliwości: 1,2 - 12MHz. Mikrokontrolery - rozszerzenia MCS51 mogą być taktowane 0Hz - >> 12MHz CHMOS XTAL2 XTAL1 GND buforCMOS zewnętrznygenerator

  4. 1 cykl maszynowy= 1 cykl rozkazowy MCS51 - cykle maszynowe 4/17 wykonanie 2 rozkazów 1-bajtowych zużywających po 1 cyklu maszynowym,np. MOV A,@R1, DEC R2. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE PCL M PC+1L N PC+1L N PC+2L O PC+2L O P0 P2 PCH PC+1H PC+1H PC+2H PC+2H 1 cykl maszynowy= 1 cykl rozkazowy M, N, O - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+2]

  5. MCS51 - cykle maszynowe 5/17 wykonanie 2 rozkazów 2-bajtowych zużywających po 1 cyklu maszynowym,np. MOV R3,#5; ADD A,B. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE PCL M PC+1L N PC+2L O PC+3L P PC+4L Q P0 P2 PCH PC+1H PC+2H PC+3H PC+4H 1 cykl maszynowy= 1 cykl rozkazowy 1 cykl maszynowy= 1 cykl rozkazowy MN, OP, Q - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+2], P=ROM[PC+3], Q=ROM[PC+4]

  6. MCS51 - cykle maszynowe 6/17 wykonanie 1 rozkazu 1-bajtowego zużywającego 2 cykle maszynowenp. RET, INC DPTR. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE PCL M PC+1L N PC+1L N PC+1L N PC+1L N P0 P2 PCH PC+1H PC+1H PC+1H PC+1H 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1]

  7. PCL M PC+1L N PC+2L O PC+2L O PC+2L O PCH PC+1H PC+2H PC+2H PC+2H MCS51 - cykle maszynowe 7/17 wykonanie 1 rozkazu 2-bajtowego zużywającego 2 cykle maszynowe,np. PUSH B, SJMP skok. zał. odczyt z zewnętrznej pamięci programu Φ1 Φ2 PSEN ALE P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy MN, O - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+3]

  8. PCL M PC+1L N PC+2L O PC+3L P PC+3L P PCH PC+1H PC+2H PC+3H PC+3H MCS51 - cykle maszynowe 8/17 wykonanie 1 rozkazu 3-bajtowego zużywającego 2 cykle maszynowe,np. LCALL 23AAh, MOV DPTR,#1. zał. odczyt z zewn. pamięci programu Φ1 Φ2 PSEN ALE P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy MNO, P - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1], O=ROM[PC+2] P=ROM[PC+3]

  9. PCL M PC+1L N ADRL DIN PC+1L N PCH PC+1H ADRH / P2 PC+1H MCS51 - cykle maszynowe 9/17 wykonanie 1 rozkazu realizującego odczyt z zewnętrznej RAM, np. MOVX A,@DPTR / MOVX A,@R0 Φ1 Φ2 PSEN ALE RD P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1]

  10. PCL M PC+1L N ADRL DOUT PC+1L N PCH PC+1H ADRH / P2 PC+1H MCS51 - cykle maszynowe 10/17 wykonanie 1 rozkazu realizującego zapis do zewnętrznej RAM, np. MOVX @DPTR,A / MOVX @R1,A. Φ1 Φ2 PSEN ALE WR P0 P2 1 cykl maszynowy 1 cykl maszynowy 1 cykl rozkazowy M, N - bajty kodów rozkazów: M=ROM[PC], N=ROM[PC+1]

  11. Vcc zewn. magistrala/rejestr wyj. adresów lub danych odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu P0.X D Q C Q 1 0 MCS51 - port P0 11/17 Struktura bitu portu P0 - dwukierunkowego

  12. Vcc zewn. magistrala/rejestr wyj. adresów odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu P2.X D Q C Q 1 0 MCS51 - port P2 12/17 Struktura bitu portu P2 - quasi-dwukierunkowego

  13. Vcc odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu P1.X D Q C Q MCS51 - port P1 13/17 Struktura bitu portu P1 - quasi-dwukierunkowego

  14. Vcc wyj. funkcja alternatywna odczyt rejestru wewn. mag. danych wpis do rejestru odczyt pinu wej. funkcja alternatywna P3.X D Q C Q MCS51 - port P3 14/17 Struktura bitu portu P3 - quasi-dwukierunkowego z funkcjami alternatywnymi ! aby funkcja alternatywna danego bitu portu była aktywna, odpowiedni bit w rejestrze PX tego portu musi być ustawiony na „1”

  15. MCS51 - port P3 15/17 Alternatywne funkcje bitów portu P3: P3.0 - RxD - wejście portu szeregowego; P3.1 - TxD - wyjście portu szeregowego; P3.2 - INT0 - wejście przerwania zewnętrznego; P3.3 - INT1 - wejście przerwania zewnętrznego; P3.4 - T0 - zewnętrzne wejście timera 0; P3.5 - T1 - zewnętrzne wejście timera 1; P3.6 - WR - impuls zapisu do pamięci zewnętrznej; P3.7 - RD - impuls odczytu z pamięci zewnętrznej.W 80X52 także P1.0 i P1.1 mają funkcje alternatywne: P1.0 - T2 - zewnętrzne wejście timera 2; P1.1 - T2EX - wejście bramkujące timera 2.

  16. MCS51 - porty Px 16/17 Struktura portów powoduje, że niektóre rozkazy są typu read-modify-write, tzn. czytają rejestr portu, modyfikują go w ALU i odsyłają z powrotem. Są to rozkazy: ANL Px,argORL Px,argXRL Px,argJBC Px.bit,adrrelDJNZ Px,adrrelCPL Px.bitCLR Px.bitSET Px.bitMOV Px.bit,CINC PxDEC Px Rozkazy czytające bezpośrednio końcówki portów: ANL arg,PxORL arg,PxXRL arg,PxJB Px.bit,adrrelJNB Px.bit,adrrelCJNE A,Px,adrrelADD A,PxADDC A,PxSUBB A,PxMOV arg,PxXCH A,PxPUSH Px

  17. Vcc Vcc RESET GND MCS51 - zerowanie 17/17 Aby reset był skuteczny, należy utrzymać wysoki poziom napięcia na wejściu RESET przez minimum 24 okresy pracy oscylatora (co odpowiada 2 c.m.). Zawartość wewnętrznej RAM nie jest zmieniana w trakcie operacji zerowania. Rejestry SFR przyjmują wartości: PC = 0000h A = 00h TMOD = 00h DPTR = 0000h B = 00h TCON = 00h PSW = 00h P0 = 0FFh TH0 = 00h SP = 07h P1 = 0FFh TL0 = 00h PCON = 00h P2 = 0FFh TH1 = 00h SCON = 00h P3 = 0FFh TL1 = 00h SBUF = ?? IP = 00h IE = 00h Vcc Vcc RESET GND

More Related