![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#8 |
Đệ tử 4 túi
Tham gia ngày: Apr 2006
Bài gửi: 71
: |
Chuong trình đã được chỉnh sửa (tắt chức năng A/D, không thao tác trực tiếp trên PORT nữa).
Hiện tại PC của mình không có MPLAB IDE nên không dịch sang file Hex được, các bạn về dịch dùm mình nha. Trong file mô phỏng không dùng Trans và hiển thị không đúng thứ tự các Led tuy vậy không bị chớp, quan trọng nhất là mình nạp vô mạch thật thì chạy dúng. Vì vậy các bạn cứ nạp thử vào IC di. File dính kèm gồm ASM, file mô phỏng Proteus 6.9SP5. Code:
;--------------------------------------------------------------------------- List p=16f887 #INCLUDE <P16F887.INC> __CONFIG _CONFIG1, _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC &_LVP_OFF ;THACH ANH 4MHZ ;CHUONG TRINH HIEN THI SO '1234' LEN 4 LED 7SEG DUNG 7447 ;DA CHINH SUA ;TRINH DICH MPLAB 8.14 ;--------------------------------------------------------------------------- COUNT1 EQU 0X20 COUNT2 EQU 0X21 COUNT3 EQU 0X22 ;--------------------------------------------------------------------------- ORG 0X0000 GOTO MAIN MAIN ;KHOI TAO PORT BANKSEL TRISB ;BSF STATUS,RP0 BSF STATUS,RP1 CLRF TRISB CLRF TRISC CLRF TRISD BANKSEL ANSEL CLRF ANSELH ;TAT CHUC NANG A/D CUA VDK BANKSEL PORTB ;--------------------------------------------------------------------------- ;BAT DAU CHUONG TRINH START MOVLW 0E0H ;DONVI IORLW 04H MOVWF PORTB CALL DELAY1 MOVLW 0D0H ;CHUC IORLW 03H MOVWF PORTB CALL DELAY1 MOVLW 0B0H ;TRAM IORLW 02H MOVWF PORTB CALL DELAY1 MOVLW 070H ;NGAN IORLW 01H MOVWF PORTB CALL DELAY1 GOTO START DELAY1: MOVLW d'1' MOVWF COUNT1 D1 MOVLW d'199' MOVWF COUNT2 MOVLW d'1' MOVWF COUNT3 DELAY0 DECFSZ COUNT2,1 GOTO $+2 DECFSZ COUNT3,1 GOTO DELAY0 DECFSZ COUNT1,1 GOTO D1 RETURN END |
![]() |
![]() |
|
|