tailieunhanh - [Giáo Trình] Tổng Quan Về Họ Vi Điều Khiển PIC phần 6

PIC sử dụng tập lệnh RISC, với dòng PIC low-end (độ dài mã lệnh 12 bit, ví dụ: PIC12Cxxx) và mid-range (độ dài mã lệnh 14 bit, ví dụ: PIC16Fxxxx), tập lệnh bao gồm khoảng 35 lệnh, và 70 lệnh đối với các dòng PIC high-end (độ dài mã lệnh 16 bit, ví dụ: PIC18Fxxxx). | RETLW b 10000001 RETLW b 01000010 RETLW b 00100100 RETLW b 00011000 RETLW b 00100100 delay100ms MOVLW MOVWF d1 MOVLW MOVWF MOVLW MOVWF delay _0 DECFSZ GOTO DECFSZ GOTO DECFSZ GOTO RETURN d 100 count 1 0xC7 counta 0x01 countb counta 1 2 countb 1 delay_0 count1 1 d1 delay 100ms trở ve chương trình chính END kết thúc chương trình ứng dung Test chức nang Input Oútput cúa cac pin cúa vi điều khiển. Ớ cac ưng dung trươc ta chỉ lam một việc la xuất tín hiệu đieu khien ra cac PORT theo một sô qui tac định san nao độ. Trong ưng dung nay ta se phat trien them một chưc nang nưa cua cac PORT la kha nang nhận tín hiẹu đieu khien tư ben ngoài. Vi đieu khien se đọc tín hiêu 0 điên ap 0 V va 1 điên ap 5 V đươc tao ra bang cach sư dung cac cong tac ấn từ cac pin RB0 RB3 cua PORTB sau đo kiem tra xem cong tac nao đươc ấn va bat LED tương ưng vơi cong tac đo cac LED nay đươc bo trí ơ cac pin RB7 RB4 sang len. Đe kiem tra đươc ưng dung nay ta can xay dựng sơ đo mạch như sau SWi R9 HI 0 3 E 4 g 7 o 9 11 12 R8nR7 R6 R5 4 MHz 13 14 15 16 17 18 19 20 U1 MCLR VPP RB7 PGD RB6 PGC RA0 AN0 RB5 RA1 AN1 RB4 RA2 AN2 VREF- CVREFRB3 PGM RA3 AN3 VREF RB2 RA4 T0CLK C1OUT RB1 RA5 AN4 SS C20UT RB0 INT RE0 RD AN5 RE1 WR AN6 VDD RE2 CS AN7 GND VDD GND RD7 PSP7 RD6 PSP6 OSC1 CLK RD5 PSP5 OSC2 CLKOUT RD4 PSP4 RC0 T1OSO T1CLK RC7 RX DT RC1 T1OSI CCP2 RC6 TX CK RC2 CCP1 RC5 SDO RC3 SCK SCL RC4 SDI SDA RD0 PSP0 RD3 PSP3 RD1 PSP1 RD2 PSP2 40 39 38 37 36 35 34 33 32 31 ih R1 D1 XX D2 XX D3 kJ XX R3 R4 D4 kJ XX 30 29 28 27 27 26 25 24 23 22 21 SW1 oo SW2 o o SW3 oc SW4 oo Ố Ọ 0 0 0 0 PIC16F877A Hình Mach test chức năng I O cho ứng dung 3. Chương trình viết cho ứng dụng năy như sau Chương trình processor 16f877ă include CONFIG _CP_OFF _WDT_OFF _BODEN_OFF _PWRTE_ON _XT_OSC WRT_OFF _LVP_OFF _CPD_OFF Khăi băo hăng SW1 EQU 0 SW2 EQU 1 SW3 EQU 2 SW4 EQU 3 LED1 EQU 4 LED2 EQU 5 LED3 LED4 EQU EQU 6 7 ORG 0x000 GOTO start start BCF STATUS RP1 BCF STATUS RP0 CLRF PORTB BSF STATUS RP0 MOVLW b .