PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

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

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
Prev Previous Post   Next Post Next
Old 04-11-2010, 08:40 PM   #1
dien44
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 4
:
Question Hiển Thị số 00 - 99 trên led 7 đoạn ( code asm )

Chào mọi người. Em là người mới tham gia vào học PIC. em có viết 1 chương trình để hiển thị các số từ 00 - 99 bằng có asm như nó không chạy được. Em k biết bị lỗi ở chỗ nào, mong mọi người xem giúp và cho em vài ý kiến.
Code như sau:
Code:
;=========================================
;CHUONG TRINH DIEU KHIEN LED 7 DOAN HIEN THI CAC SO TU 0 - 99
;=========================================
PROCESSOR	16F877A			;khai bao vi dieu khien
INCLUDE		<p16f877a.inc>	;file header cua vi dieu khien
;====================================================
							;khai bao cac bien cau hinh
__CONFIG	_CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
;====================================================
							;khai bao dia chi cac thanh ghi dung cho chuong trinh delay
count1		EQU	0x20
counta		EQU	0x21
countb		EQU	0x22
COUNT_DV	EQU	0x23
COUNT_CHUC	EQU	0x24
;====================================================
			ORG	0x00		;dia chi bat dau chuong trinh
	GOTO	start
start
							;chon BANK0 de xoa PORTB, PORTD
	BCF		STATUS,RP0
	BCF		STATUS,RP1
	CLRF	PORTB
	CLRF	PORTD
							;chon BANK1 de set portb, d la output
	BSF		STATUS,RP0
	MOVLW	0x00
	MOVWF	TRISB
	MOVLW	0x00
	MOVWF	TRISD
							;chon lai bank 0 de xuat gia tri mong muon ra portb
	BCF		STATUS,RP0

	CLRF	COUNT_DV
	CLRF	COUNT_CHUC
	INCF	COUNT_CHUC,1
	GOTO	loop
;QUY DINH. PORT B XUAT HANG CHUC, PORT D XUAT HANG DON VI
;o day dung led co cac cathode noi cung 1 diem. --> sang o muc 1
;==============================================================
loop
	INCF	COUNT_DV,1
	MOVF	COUNT_DV,0
	XORLW	D'10'
	BTFSC	STATUS,Z
	GOTO	reset_
	GOTO	sang
reset_
	CLRF	COUNT_DV
	INCF	COUNT_CHUC,1
	GOTO	loop
sang
	;MOVF	COUNT_DV,0
	CALL	table
	MOVWF	PORTD
	CALL	delay_100ms
;----------- COPY NOI DUNG PCL VAO COUNT_DV, SAU DO XOA PCL DI ---------
	MOVF	PCL,0
	MOVWF	COUNT_DV
	CLRF	PCL
;----------- DUA GIA TRI CUA THANH COUNT_CHUC VAO THANH PCL -----------
	MOVF	COUNT_CHUC,0
	CALL	table
	MOVWF	PORTB
	CALL	delay_100ms
;---------- LUU NOI DUNG PCL VAO COUNT_CHUC VA XOA PCL DI -------------
	MOVF	PCL,0
	MOVWF	COUNT_CHUC
	CLRF	PCL
;----------- TRO VE CHUONG TRINH CHINH --------------------------------
	GOTO	loop
	
table
	ADDWF	PCL,1
						;so_0
	RETLW	b'00111111'
						;so_1
	RETLW	b'00000110'
						;so_2
	RETLW	b'01011011'
						;so_3
	RETLW	b'01001111'
						;so_4
	RETLW	b'01100110'
						;so_5
	RETLW	b'01101101'
						;so_6
	RETLW	b'01111100'
						;so_7
	RETLW	b'00000111'
						;so_8
	RETLW	b'01111111'
						;so_9
	RETLW	b'01101111'

delay_100ms
	MOVLW	d'250'
	MOVWF	count1
d1
	MOVLW	0xC7
	MOVWF	counta
	MOVLW	0x01
	MOVWF	countb
delay_0
	DECFSZ	counta,1
	GOTO	$+2
	DECFSZ	countb,1
	GOTO	delay_0
	DECFSZ	count1,1
	GOTO	d1
	RETLW	0x00
END
dien44 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à 07:43 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