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 03-12-2006, 10:06 AM   #11
Jerry
Đệ tử 5 túi
 
Jerry's Avatar
 
Tham gia ngày: Sep 2006
Bài gửi: 100
:
Đổi mã nhị phân 16bit sang 5 byte bcd unpacked

Trích:
Nguyên văn bởi hanspkt View Post
Xin chào!
Em vừa mới tìm được cách chuyển đổi từ mã nhị phân 8bit sang mã bcd để xuất ra led 7 doan, nhưng em không biết cách để chuyển mã nhị phân 16bit sang mã bcd, mong được các bác chỉ giáo.
Code:
; Đổi mã nhị phân 16bit sang 5byte BCD unpacked

;****************************
;Binary 16 bit to BCD unpacked 5 digit
;****************************
; Input : hex number in Hi, Lo (16bit binary)
; Output : TenK:Thou:Hun:Ten:Ones

bin16tobcdup5:
	swapf	Hi,w	
        	andlw   	0x0F     	
        	addlw   	0xF0		
        	movwf   	Thou	
        	addwf   	Thou,f	
        	addlw   	.226	
        	movwf  	Hun	
        	addlw   	.50	
       	movwf   	Ones	

        	movf    	Hi,w	
        	andlw   	0x0F
        	addwf   	Hun,f	
        	addwf   	Hun,f	
        	addwf   	Ones,f	
        	addlw   	.233	
        	movwf   	Ten	
        	addwf   	Ten,f	
        	addwf   	Ten,f	

        	swapf   	Lo,w	
        	andlw   	0x0F	
        	addwf   	Ten,f	
        	addwf   	Ones,f	

        	rlf     	Ten,f	
        	rlf     	Ones,f	
        	comf    	Ones,f	
        	rlf     	Ones,f	

        	movf    	Lo,w	
        	andlw   	0x0F	
        	addwf   	Ones,f	
        	rlf     	Thou,f	

        	movlw   	0x07	
        	movwf   	TenK	

        	movlw   	.10	
Lb1:			
        	addwf   	Ones,f	
        	decf    	Ten,f	
       	btfss   	3,0
         	goto   	Lb1	
	
Lb2:			
        	addwf   	Ten,f	
        	decf    	Hun,f	
        	btfss   	3,0
         	goto   	Lb2	
Lb3:			
        	addwf   	Hun,f	
        	decf    	Thou,f	
        	btfss   	3,0
         	goto   	Lb3	
Lb4:			
        	addwf   	Thou,f	
        	decf    	TenK,f	
        	btfss   	3,0
         	goto   	Lb4	
        	retlw   	0

; Phần khai báo đầu chương trình thêm vào khai báo RAM:
	CBLOCK	0x20
	TenK
	Thou
	Hun
	Ten
	Ones
	Hi
	Lo
             ENDC

; gọi thử chương trình đổi mã nhị phân 16bit sang 5 byte bcd unpacked 
	movlw	0xff
	movwf	Hi
	movlw	0xff
	movwf	Lo
	call	bin16tobcdup5

Notes: Nhờ các Mod edit lại phần code sao cho dễ nhìn hộ em, em chẳng biết làm thế nào!!!Thanks

namqn: Chọn phần code cần định dạng, chọn nút có hình dấu '#' trên thanh công cụ (ở trong khung soạn thảo lớn nhé). Cách khác là đặt mã [ code] trước phần code cần định dạng, và mã [ /code] ngay sau phần cần định dạng (nhớ là không có khoảng trắng bên trong các tag [] nhé, tôi phải để khoảng trắng thì các tag mới hiển thị được).

thay đổi nội dung bởi: namqn, 03-12-2006 lúc 07:12 PM.
Jerry vẫn chưa có mặt trong diễn đà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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 PM
Lập nhóm PIC16F877A nhh Cơ bản về vi điều khiển và PIC 285 08-03-2017 11:08 PM
Bộ so sánh và PWM cho PIC16F877A anhquangngai Cơ bản về vi điều khiển và PIC 24 08-09-2012 09:00 AM
CCS C for PIC16F877A nhh Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 405 24-04-2008 12:00 PM


Múi giờ GMT. Hiện tại là 10:58 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