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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 17-08-2007, 09:35 AM   #11
david
Đệ tử 4 túi
 
david's Avatar
 
Tham gia ngày: Aug 2006
Bài gửi: 81
:
Em viết thế này có được không?

[IMG][/IMG]
Code:
;========================================================
				TITLE		"KEYPAD_4X4"
				PROCESSOR	P16F877A
				INCLUDE		<P16F877A.inc>
				__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF & _LVP_OFF
				
;==========================================================
;Khai bao bien		:
	
				COT			EQU			0X20
				HANG		EQU			0X21
				QUET		EQU			0X22
				DEM			EQU			0X23
				HANG1		EQU			4
				HANG2		EQU			5
				HANG3		EQU			6
				HANG4		EQU			7

;=============================================================
;Chuong trinh chinh
;=============================================================

				ORG			0X0000
				GOTO		MAIN
				ORG			0X0005
MAIN
				BANKSEL		TRISA
				CLRF		TRISB
				CLRF		TRISD
				BANKSEL		PORTA
				CLRW
				MOVWF		PORTB
				MOVWF		PORTD
				MOVWF		COT
				MOVWF		HANG
				MOVWF		DEM
				MOVLW		B'00000001'
				MOVWF		QUET
	LOOP
				MOVF		QUET,0
				MOVWF		PORTB
				BANKSEL		TRISA
				MOVLW		B'11110000'
				MOVWF		TRISB
				BANKSEL		PORTB
				BTFSC		PORTB,HANG1
				CALL		HANG1_SFR
				BTFSC		PORTB,HANG2
				CALL		HANG2_SFR
				BTFSC		PORTB,HANG3
				CALL		HANG3_SFR
				BTFSC		PORTB,HANG4
				CALL		HANG4_SFR
				INCF		DEM,1
				MOVF		DEM,0
				XORLW		D'4'
				BTFSC		STATUS,Z
				RETLW		0X00
				RLF			QUET
				BANKSEL		TRISB	
				CLRF		TRISB
				BANKSEL		PORTB
				GOTO		LOOP
	
	HANG1_SFR
				MOVF		COT,0
				CALL		TABLE
				MOVWF		PORTD
				RETURN
	HANG2_SFR	
				MOVF		COT,0
				ADDLW		D'4'
				CALL		TABLE
				MOVWF		PORTD
				RETURN
	HANG3_SFR
				MOVF		COT,0
				ADDLW		D'8'
				CALL		TABLE
				MOVWF		PORTD
				RETURN
	HANG4_SFR
				MOVF		COT,0
				ADDLW		D'12'
				CALL		TABLE
				MOVWF		PORTD
				RETURN
;-----------------------------------------------------------------
	TABLE
					ADDWF 	PCL, F 		; bat dau tai 0x80
					RETLW 	b'00111111' 		; 0
					RETLW 	b'00000110' 		; 1
					RETLW 	b'01011011' 		; 2
					RETLW 	b'01001111' 		; 3
					RETLW 	b'01100110' 		; 4
					RETLW 	b'01101101' 		; 5
					RETLW 	b'01111101' 		; 6
					RETLW 	b'00000111' 		; 7
					RETLW 	b'01111111' 		; 8
					RETLW 	b'01101111' 		; 9
					RETLW 	b'01110111' 		; A
					RETLW 	b'01111100' 		; B
					RETLW 	b'00111001' 		; C
					RETLW 	b'01011110' 		; d
					RETLW 	b'01111001' 		; E
					RETLW 	b'01110001' 		; F


	END
em debug băng MPLABSIM thì thấy đúng như ý tưởng của mình,nhưng kô mô phỏng được,các bác coi dùm nhé
Hình Kèm Theo
File Type: jpg keypad4x4.jpg (67.7 KB, 234 lần tải)
david vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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à 05:35 AM.


Đượ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