PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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 ...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 13-05-2011, 11:02 AM   #1
kenvinlam
Nhập môn đệ tử
 
Tham gia ngày: Nov 2009
Bài gửi: 3
:
Unhappy Code cho pic 16f877a-quét 8 Led đơn

Em mới học về pic. Bác nào biết code quét 8 led đơn chạy đuổi nhau dùng MPLAB cho em xin được không! Em nghiên cứu hoài ma không ra.
kenvinlam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-05-2011, 03:47 PM   #2
kqha1025
Đệ tử 3 túi
 
Tham gia ngày: Oct 2008
Bài gửi: 57
:
Trích:
Nguyên văn bởi kenvinlam View Post
Em mới học về pic. Bác nào biết code quét 8 led đơn chạy đuổi nhau dùng MPLAB cho em xin được không! Em nghiên cứu hoài ma không ra.
Cái này đơn giản, mình nghĩ bạn nên tự làm như sau:
Bạn đọc file định nghĩa chân cẳng cho em pic mà bạn định dùng, sau đó bạn xem 1 ví dụ trong phần exsample của phần mềm ấy xem cấu trúc 1 chương trình như thế nào. Sau đó bạn tự code 1 ví dụ là chạy, đảm bảo bạn biết được nhiều thứ hơn đấy.
Chúc bạn thành công.
kqha1025 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-05-2011, 06:22 PM   #3
thanhute
Nhập môn đệ tử
 
Tham gia ngày: May 2011
Bài gửi: 2
:
bạn nên viết code rồi mô phỏng trên protues để thấy rõ ràng hơn, mới đầu học nên những bài như ded đơn bạn nên học thật kỹ để hiểu sâu về lập trình cho PIC sau đó bạn đi lên những ứng dụng cao hơn sẽ rất dễ dàng. Mình gửi cho bạn code theo yêu cầu của bạn, bạn hãy tham khảo nhé. Chúc bạn thành công.
Link dowload: http://www.mediafire.com/?vmd00u1k3a1s010
thanhute vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-05-2011, 12:42 AM   #4
kenvinlam
Nhập môn đệ tử
 
Tham gia ngày: Nov 2009
Bài gửi: 3
:
Cam on cac anh nha! Nhung hinh nhu doan code tren co mot chut sai sot. Anh thanhute xem lai thu di
kenvinlam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-10-2011, 02:32 PM   #5
222222222
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 4
:
Trích:
Nguyên văn bởi kenvinlam View Post
Em mới học về pic. Bác nào biết code quét 8 led đơn chạy đuổi nhau dùng MPLAB cho em xin được không! Em nghiên cứu hoài ma không ra.

PROCESSOR P16F877A
INCLUDE <P16F877A.INC>
_CONFIG H'3F10'
ORG 0X0000
GOTO START
START BSF STATUS,5
CLRF TRISB
BCF STATUS,5
CLRF PORTB
LOOP MOVLW B'00000001'
MOVWF PORTB
CALL DELAY2
MOVLW B'00000010'
MOVWF PORTB
CALL DELAY2
MOVLW B'00000100'
MOVWF PORTB
CALL DELAY2
MOVLW B'00001000'
MOVWF PORTB
CALL DELAY2
MOVLW B'00010000'
MOVWF PORTB
CALL DELAY2
MOVLW B'00100000'
MOVWF PORTB
CALL DELAY2
MOVLW B'01000000'
MOVWF PORTB
CALL DELAY2
MOVLW B'10000000'
MOVWF PORTB
CALL DELAY2
GOTO LOOP
DELAY1 MOVLW .166
MOVLW 20H
LOOP1 DECFSZ 20H
GOTO LOOP1
RETURN
DELAY2 MOVLW .40
MOVWF 21H
LOOP2 CALL DELAY1
DECFSZ 21H
GOTO LOOP2
RETURN
END

ngoài ra bạn có thể dùng kĩ thuật bảng
222222222 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-11-2011, 11:49 AM   #6
hcmut.khoamaisi
Đệ tử 4 túi
 
hcmut.khoamaisi's Avatar
 
Tham gia ngày: Dec 2009
Nơi Cư Ngụ: TPHCM
Bài gửi: 79
:
Send a message via Yahoo to hcmut.khoamaisi
Trích:
Nguyên văn bởi 222222222 View Post
PROCESSOR P16F877A
INCLUDE <P16F877A.INC>
_CONFIG H'3F10'
ORG 0X0000
GOTO START
START BSF STATUS,5
CLRF TRISB
BCF STATUS,5
CLRF PORTB
LOOP MOVLW B'00000001'
MOVWF PORTB
CALL DELAY2
MOVLW B'00000010'
MOVWF PORTB
CALL DELAY2
MOVLW B'00000100'
MOVWF PORTB
CALL DELAY2
MOVLW B'00001000'
MOVWF PORTB
CALL DELAY2
MOVLW B'00010000'
MOVWF PORTB
CALL DELAY2
MOVLW B'00100000'
MOVWF PORTB
CALL DELAY2
MOVLW B'01000000'
MOVWF PORTB
CALL DELAY2
MOVLW B'10000000'
MOVWF PORTB
CALL DELAY2
GOTO LOOP
DELAY1 MOVLW .166
MOVLW 20H
LOOP1 DECFSZ 20H
GOTO LOOP1
RETURN
DELAY2 MOVLW .40
MOVWF 21H
LOOP2 CALL DELAY1
DECFSZ 21H
GOTO LOOP2
RETURN
END

ngoài ra bạn có thể dùng kĩ thuật bảng
Bạn có sơ đồ mach lun không
__________________
My blog: http://autumnneverreturn.blogspot.com/
Đối thủ khó chiến thắng nhất là bản thân !!!
hcmut.khoamaisi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-11-2011, 01:04 AM   #7
ladykiller
Đệ tử 3 túi
 
Tham gia ngày: Nov 2011
Bài gửi: 58
:
chạy led đơn ở portb tích cực mức thấp tổng hợp 10 kiểu chạy, bạn có thể tham khảo
PROCESSOR 16F877A
#INCLUDE<P16F877A.INC>
DEM1 EQU 20H
DEM2 EQU 21H
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
ORG 0000H
BCF STATUS,6
BSF STATUS,5
CLRF TRISB
BCF STATUS,5
CLRF PORTB
MAIN
CHAY0
MOVLW B'01111111'
MOVWF PORTB
CALL DELAY
MOVLW B'10111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11011111'
MOVWF PORTB
CALL DELAY
MOVLW B'11101111'
MOVWF PORTB
CALL DELAY
MOVLW B'11110111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111011'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111011'
MOVWF PORTB
CALL DELAY
MOVLW B'11110111'
MOVWF PORTB
CALL DELAY
MOVLW B'11101111'
MOVWF PORTB
CALL DELAY
MOVLW B'11011111'
MOVWF PORTB
CALL DELAY
MOVLW B'10111111'
MOVWF PORTB
CALL DELAY
MOVLW B'01111111'
MOVWF PORTB
CALL DELAY
MOVLW B'10111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11011111'
MOVWF PORTB
CALL DELAY
MOVLW B'11101111'
MOVWF PORTB
CALL DELAY
MOVLW B'11110111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111011'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111011'
MOVWF PORTB
CALL DELAY
MOVLW B'11110111'
MOVWF PORTB
CALL DELAY
MOVLW B'11101111'
MOVWF PORTB
CALL DELAY
MOVLW B'11011111'
MOVWF PORTB
CALL DELAY
MOVLW B'10111111'
MOVWF PORTB
CALL DELAY

CHAY1
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY

MOVLW B'10000000'
MOVWF PORTB
CALL DELAY
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY
MOVLW B'11100000'
MOVWF PORTB
CALL DELAY
MOVLW B'11110000'
MOVWF PORTB
CALL DELAY
MOVLW B'11111000'
MOVWF PORTB
CALL DELAY
MOVLW B'11111100'
MOVWF PORTB
CALL DELAY
MOVLW B'11111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111100'
MOVWF PORTB
CALL DELAY
MOVLW B'11111000'
MOVWF PORTB
CALL DELAY
MOVLW B'11110000'
MOVWF PORTB
CALL DELAY
MOVLW B'11100000'
MOVWF PORTB
CALL DELAY
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY
MOVLW B'10000000'
MOVWF PORTB
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
MOVLW B'10000000'
MOVWF PORTB
CALL DELAY
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY
MOVLW B'11100000'
MOVWF PORTB
CALL DELAY
MOVLW B'11110000'
MOVWF PORTB
CALL DELAY
MOVLW B'11111000'
MOVWF PORTB
CALL DELAY
MOVLW B'11111100'
MOVWF PORTB
CALL DELAY
MOVLW B'11111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111100'
MOVWF PORTB
CALL DELAY
MOVLW B'11111000'
MOVWF PORTB
CALL DELAY
MOVLW B'11110000'
MOVWF PORTB
CALL DELAY
MOVLW B'11100000'
MOVWF PORTB
CALL DELAY
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY
MOVLW B'10000000'
MOVWF PORTB
CALL DELAY

MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
MOVLW B'00000001'
MOVWF PORTB
CALL DELAY
MOVLW B'00000011'
MOVWF PORTB
CALL DELAY
MOVLW B'00000111'
MOVWF PORTB
CALL DELAY
MOVLW B'00001111'
MOVWF PORTB
CALL DELAY
MOVLW B'00011111'
MOVWF PORTB
CALL DELAY
MOVLW B'00111111'
MOVWF PORTB
CALL DELAY
MOVLW B'01111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
MOVLW B'01111111'
MOVWF PORTB
CALL DELAY
MOVLW B'00111111'
MOVWF PORTB
CALL DELAY
MOVLW B'00011111'
MOVWF PORTB
CALL DELAY
MOVLW B'00001111'
MOVWF PORTB
CALL DELAY
MOVLW B'00000111'
MOVWF PORTB
CALL DELAY
MOVLW B'00000011'
MOVWF PORTB
CALL DELAY
MOVLW B'00000001'
MOVWF PORTB
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
MOVLW B'00000001'
MOVWF PORTB
CALL DELAY
MOVLW B'00000011'
MOVWF PORTB
CALL DELAY
MOVLW B'00000111'
MOVWF PORTB
CALL DELAY
MOVLW B'00001111'
MOVWF PORTB
CALL DELAY
MOVLW B'00011111'
MOVWF PORTB
CALL DELAY
MOVLW B'00111111'
MOVWF PORTB
CALL DELAY
MOVLW B'01111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
MOVLW B'01111111'
MOVWF PORTB
CALL DELAY
MOVLW B'00111111'
MOVWF PORTB
CALL DELAY
MOVLW B'00011111'
MOVWF PORTB
CALL DELAY
MOVLW B'00001111'
MOVWF PORTB
CALL DELAY
MOVLW B'00000111'
MOVWF PORTB
CALL DELAY
MOVLW B'00000011'
MOVWF PORTB
CALL DELAY
MOVLW B'00000001'
MOVWF PORTB
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY


CHAY2


MOVLW B'10101010'
MOVWF PORTB
CALL DELAY
MOVLW B'01010101'
MOVWF PORTB
CALL DELAY
MOVLW B'10101010'
MOVWF PORTB
CALL DELAY
MOVLW B'01010101'
MOVWF PORTB
CALL DELAY
MOVLW B'10101010'
MOVWF PORTB
CALL DELAY
MOVLW B'01010101'
MOVWF PORTB
CALL DELAY
MOVLW B'10101010'
MOVWF PORTB
CALL DELAY
MOVLW B'01010101'
MOVWF PORTB
CALL DELAY
CHAY3

MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY


CHAY4

MOVLW B'10000000'
MOVWF PORTB
CALL DELAY
MOVLW B'01000000'
MOVWF PORTB
CALL DELAY
MOVLW B'00100000'
MOVWF PORTB
CALL DELAY
MOVLW B'00010000'
MOVWF PORTB
CALL DELAY
MOVLW B'00001000'
MOVWF PORTB
CALL DELAY
MOVLW B'00000100'
MOVWF PORTB
CALL DELAY
MOVLW B'00000010'
MOVWF PORTB
CALL DELAY
MOVLW B'00000001'
MOVWF PORTB
CALL DELAY
MOVLW B'00000010'
MOVWF PORTB
CALL DELAY
MOVLW B'00000100'
MOVWF PORTB
CALL DELAY
MOVLW B'00001000'
MOVWF PORTB
CALL DELAY
MOVLW B'00010000'
MOVWF PORTB
CALL DELAY
MOVLW B'00100000'
MOVWF PORTB
CALL DELAY
MOVLW B'01000000'
MOVWF PORTB
CALL DELAY
MOVLW B'10000000'
MOVWF PORTB
CALL DELAY

CHAY5

MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'11100111'
MOVWF PORTB
CALL DELAY
MOVLW B'11000011'
MOVWF PORTB
CALL DELAY
MOVLW B'10000001'
MOVWF PORTB
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
MOVLW B'10000001'
MOVWF PORTB
CALL DELAY
MOVLW B'11000011'
MOVWF PORTB
CALL DELAY
MOVLW B'11100111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY

CHAY6

MOVLW B'01111110'
MOVWF PORTB
CALL DELAY
MOVLW B'00111100'
MOVWF PORTB
CALL DELAY
MOVLW B'00011000'
MOVWF PORTB
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
MOVLW B'00011000'
MOVWF PORTB
CALL DELAY
MOVLW B'00111100'
MOVWF PORTB
CALL DELAY
MOVLW B'01111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY


CHAY7

MOVLW B'00111111'
MOVWF PORTB
CALL DELAY
MOVLW B'10011111'
MOVWF PORTB
CALL DELAY
MOVLW B'11001111'
MOVWF PORTB
CALL DELAY
MOVLW B'11100111'
MOVWF PORTB
CALL DELAY
MOVLW B'11110011'
MOVWF PORTB
CALL DELAY
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY
MOVLW B'11111100'
MOVWF PORTB
CALL DELAY
MOVLW B'11111001'
MOVWF PORTB
CALL DELAY
MOVLW B'11110011'
MOVWF PORTB
CALL DELAY
MOVLW B'11100111'
MOVWF PORTB
CALL DELAY
MOVLW B'11001111'
MOVWF PORTB
CALL DELAY
MOVLW B'10011111'
MOVWF PORTB
CALL DELAY
MOVLW B'00111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY

CHAY8
MOVLW B'01111111'
MOVWF PORTB
CALL DELAY
MOVLW B'10111111'
MOVWF PORTB
CALL DELAY
MOVLW B'11011111'
MOVWF PORTB
CALL DELAY
MOVLW B'11101111'
MOVWF PORTB
CALL DELAY
MOVLW B'11110111'
MOVWF PORTB
CALL DELAY
MOVLW B'11111011'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111101'
MOVWF PORTB
CALL DELAY
MOVLW B'11111110'
MOVWF PORTB
CALL DELAY


MOVLW B'01111110'
MOVWF PORTB
CALL DELAY
MOVLW B'10111110'
MOVWF PORTB
CALL DELAY
MOVLW B'11011110'
MOVWF PORTB
CALL DELAY
MOVLW B'11101110'
MOVWF PORTB
CALL DELAY
MOVLW B'11110110'
MOVWF PORTB
CALL DELAY
MOVLW B'11111010'
MOVWF PORTB
CALL DELAY
MOVLW B'11111100'
MOVWF PORTB
CALL DELAY

MOVLW B'01111100'
MOVWF PORTB
CALL DELAY
MOVLW B'10111100'
MOVWF PORTB
CALL DELAY
MOVLW B'11011100'
MOVWF PORTB
CALL DELAY
MOVLW B'11101100'
MOVWF PORTB
CALL DELAY
MOVLW B'11110100'
MOVWF PORTB
CALL DELAY
MOVLW B'11111000'
MOVWF PORTB
CALL DELAY

MOVLW B'01111000'
MOVWF PORTB
CALL DELAY
MOVLW B'10111000'
MOVWF PORTB
CALL DELAY
MOVLW B'11011000'
MOVWF PORTB
CALL DELAY
MOVLW B'11101000'
MOVWF PORTB
CALL DELAY
MOVLW B'11110000'
MOVWF PORTB
CALL DELAY


MOVLW B'01110000'
MOVWF PORTB
CALL DELAY
MOVLW B'10110000'
MOVWF PORTB
CALL DELAY
MOVLW B'11010000'
MOVWF PORTB
CALL DELAY
MOVLW B'11100000'
MOVWF PORTB
CALL DELAY

MOVLW B'01100000'
MOVWF PORTB
CALL DELAY
MOVLW B'10100000'
MOVWF PORTB
CALL DELAY
MOVLW B'11000000'
MOVWF PORTB
CALL DELAY

MOVLW B'01000000'
MOVWF PORTB
CALL DELAY
MOVLW B'10000000'
MOVWF PORTB
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY




CHAY9

MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'00000000'
MOVWF PORTB
CALL DELAY
CALL DELAY
MOVLW B'11111111'
MOVWF PORTB
CALL DELAY
CALL DELAY


GOTO MAIN
DELAY
MOVLW D'200'
MOVWF DEM1
LOOP
DECFSZ DEM1
GOTO LOOP1
GOTO THOAT
LOOP1
MOVLW D'250'
MOVWF DEM2
LOOP3
DECFSZ DEM2
GOTO LOOP3
GOTO LOOP
THOAT
NOP
RETURN
RETURN
END
ladykiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-11-2011, 01:08 AM   #8
ladykiller
Đệ tử 3 túi
 
Tham gia ngày: Nov 2011
Bài gửi: 58
:
eo ui post xong mới thấy chương trình mình dài quá @@ bạn thích sử dụng kiểu chạy nào thì cắt 1 đoạn đó thôi là được
chúc thành công
ladykiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-02-2012, 02:20 PM   #9
DunLop
Nhập môn đệ tử
 
Tham gia ngày: Feb 2012
Bài gửi: 4
:
bạn ơi, có thuật toán nào gọn hơn ko...kiểu này thì đơn giản, nhưng ông thầy mình kêu thi ko cho làm kiểu này, mình nghĩ mãi ko ra..
ví dụ như là cho 1 con led chạy từ 1 đến 8 rồi sáng tám
chạy tiếp từ đense 7 rồi sáng 7....cứ chạy đến khi sáng led thứ 1 rồi ngược lại.
nhưng ko dùng thuật toán chỉ mov như của bạn nhé..
bạn giúp mình với...thanks
DunLop vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-03-2012, 11:16 PM   #10
ladykiller
Đệ tử 3 túi
 
Tham gia ngày: Nov 2011
Bài gửi: 58
:
he he gọn hơn thì dùng bảng ( hay mảng) ak, tại tưởng bạn mới tiếp cận nên dùng cái cơ bản )
ladykiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-03-2012, 12:48 AM   #11
thongdtvtk7a
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 3
:
#include <16F877A.h>
void main()
{
int k,i,p,t;
Set_tris_b(0);
while(1){
//sang ,tat
{ output_b(0x00); delay_ms(300);
output_b(0xFF); delay_ms(300);
}
//chay tu trai qua phai
for(k=0x01;k<0x100;k<<=1)
{output_b(k); delay_ms(300);}
//chay tu phai qua trai
for(k=0x80;k>0;k>>=1){output_b(k); delay_ms(300);}
//chay tu giua ra ngoai
for(p=0x08,t=0x10;p>0;p>>=1){output_b(p|t);delay_m s(300); t<<=1; }
//chay tu giua vao trong
for(p=0x80,t=0x01;p>0;p>>=1){output_b(p|t);delay_m s(300); t<<=1; }
//chay sang dan tu phai qua trai va nguoc lai
k=0x00;
for(i=0x01;i<0x100;i<<=1){k=k+i; {output_b(k);delay_ms(300); }}
for(i=0x80;i>0;i<<=1);{k=k-i; {output_b(k);delay_ms(300);}}
}
}
thongdtvtk7a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-03-2012, 03:52 PM   #12
ladykiller
Đệ tử 3 túi
 
Tham gia ngày: Nov 2011
Bài gửi: 58
:
Trích:
Nguyên văn bởi thongdtvtk7a View Post
#include <16F877A.h>
void main()
{
int k,i,p,t;
Set_tris_b(0);
while(1){
//sang ,tat
{ output_b(0x00); delay_ms(300);
output_b(0xFF); delay_ms(300);
}
//chay tu trai qua phai
for(k=0x01;k<0x100;k<<=1)
{output_b(k); delay_ms(300);}
//chay tu phai qua trai
for(k=0x80;k>0;k>>=1){output_b(k); delay_ms(300);}
//chay tu giua ra ngoai
for(p=0x08,t=0x10;p>0;p>>=1){output_b(p|t);delay_m s(300); t<<=1; }
//chay tu giua vao trong
for(p=0x80,t=0x01;p>0;p>>=1){output_b(p|t);delay_m s(300); t<<=1; }
//chay sang dan tu phai qua trai va nguoc lai
k=0x00;
for(i=0x01;i<0x100;i<<=1){k=k+i; {output_b(k);delay_ms(300); }}
for(i=0x80;i>0;i<<=1);{k=k-i; {output_b(k);delay_ms(300);}}
}
}
ở đây là MPASM dùng C thì bạn sang bên kia )
ladykiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-11-2012, 08:09 PM   #13
lazy115
Nhập môn đệ tử
 
Tham gia ngày: Nov 2012
Bài gửi: 1
:
có thể dùng code ngắn hơn bằng lệnh RCF hay RRF
lazy115 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-11-2012, 03:01 AM   #14
youaremylife
Đệ tử 2 túi
 
Tham gia ngày: Nov 2008
Bài gửi: 26
:
Send a message via AIM to youaremylife Send a message via Yahoo to youaremylife
Dùng các hàm logic dịch quay vòng là xong thôi vừa gọn đẹp vừa tiết kiệm bộ nhớ
youaremylife vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-12-2012, 04:40 PM   #15
hoangminhac
Nhập môn đệ tử
 
Tham gia ngày: Dec 2012
Bài gửi: 1
:
mô phỏng bằng proteus như thế nào các bác nhỉ? muốn nạp cho con PIC16F877A hình như phải tạo đc 1 file .hex nhưng mình ko biết tạo bằng cách nào. mong các bác giúp cho nhé. thanks :X
hoangminhac vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 09:45 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam