|
Tài trợ cho PIC Vietnam |
MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ... |
|
Ðiều Chỉnh | Xếp Bài |
12-02-2009, 02:49 PM | #1 |
Đệ tử 1 túi
Tham gia ngày: Sep 2007
Bài gửi: 12
: |
Các bạn xem giúp mình làm sai chỗ nào
Mình thấy cai proteus hay hay. Lên làm một chương trình chạy thử . Mình delay lâu(mắt thường có thể thấy được hiện tượng quét) thì thấy nó chạy đúng. Nhưng delay nhanh thì lại sai bét nhè . Nhức đầu quá nên nhờ các bạn tư vấn (
Code:
TITLE "P16F877A_REG1" PROCESSOR P16F877A INCLUDE <P16F877A.INC> __CONFIG _CP_OFF & _CPD_OFF & _WRT_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC delay_reg1 equ 0x20 delay_reg2 equ 0x21 delay_reg3 equ 0x22 constant buflength = 8 variable j = 0 cblock 0x23 ; bo dem du lieu hien thi ra man hinh bodem : buflength endc #define clock PORTB,0 ; xung kick hoat #define dieukhien_quetcot PORTB,1 ; dieu khien xung quet cot org 0x0000 goto Main ;org 0x0005 Main banksel TRISB bcf TRISB,0 bcf TRISB,1 banksel PORTB bcf clock bcf dieukhien_quetcot banksel TRISD clrf TRISD banksel PORTD clrf PORTD ; Dam bao an toan truoc khi di ^_^ j = 0 while j < 8 bcf dieukhien_quetcot bsf clock bcf clock j += 1 endw ; Xoabodem j = 0 while j<buflength clrf bodem+j j += 1 endw ;Load du lieu vao bo dem j = 0 while j < buflength movlw j call Table0 movwf bodem+j j += 1 endw Hienthi clrw bsf dieukhien_quetcot j = buflength-1 while j>=0 movf bodem+j,W movwf PORTD call Delay_10ms bsf clock call Delay_10ms bcf dieukhien_quetcot bcf clock j -= 1 endw goto Hienthi Delay_10ms movlw d'1' movwf delay_reg1 Loop1 movlw 0xc7 movwf delay_reg2 movlw 0x01 movwf delay_reg3 Loop2 decfsz delay_reg2,1 goto Loop2 decfsz delay_reg3,1 goto Loop2 decfsz delay_reg1,1 goto Loop1 return ;org 0xc0 ;Table1 ; addwf PCL,1 ; retlw b'11100111' ; retlw b'11110011' ; retlw b'11111001' ; retlw b'00000000' ; retlw b'00000000' ; retlw b'00000000' ; retlw b'00000000' ; retlw b'00000000' org 0xe0 Table0 addwf PCL,1 retlw b'11111111' retlw b'10000001' retlw b'00000000' retlw b'00111100' retlw b'00000000' retlw b'10000001' retlw b'11111111' retlw b'11111111' end thay đổi nội dung bởi: namqn, 12-02-2009 lúc 07:11 PM. |
Tags |
help me !!! |
|
|