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

Ðề tài đã khoá
 
Ðiều Chỉnh Xếp Bài
Old 03-12-2006, 10:06 AM   #1
Jerry
Đệ tử 5 túi
 
Jerry's Avatar
 
Tham gia ngày: Sep 2006
Bài gửi: 101
:
Đổ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  
Old 30-11-2006, 07:40 PM   #2
minhtruong
Nhập môn đệ tử
 
Tham gia ngày: Jun 2006
Bài gửi: 4
:
cho em hỏi đã có ai sử dụng pascal để viết chương trình cho pic chưa vậy
minhtruong vẫn chưa có mặt trong diễn đàn  
Old 30-11-2006, 07:49 PM   #3
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi minhtruong View Post
cho em hỏi đã có ai sử dụng pascal để viết chương trình cho pic chưa vậy
Bạn có thắc mắc gì thì cứ hỏi, ít nhất thì tôi cũng đã dùng thử. Kẹt lắm thì đọc sách giùm bạn thôi.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 24-12-2006, 05:38 PM   #4
LEO-XBS
Đệ tử 1 túi
 
LEO-XBS's Avatar
 
Tham gia ngày: Oct 2005
Bài gửi: 21
:
Giải đáp thắc mắc của bạn vtt:
bạn gán biến RunningLed = RD2 (#define RunningLed RD2), bạn muốn đưa chân này lên mức cao tức là dùng lệnh RunningLed = 1; tuy nhiên chương trình của bạn ko chạy được, lý do rất đơn giản là bạn chưa thiết lập chế độ I/O cho cổng D. Trước đó bạn phải dùng lệnh set_tris_d(0); để cổng D làm cổng ra rồi mới thực hiện lệnh RunningLed = 1; Còn lệnh output_high(PIN_D2) ; thì nó đã tự thiết lập cho chân RD2 làm chân ra rồi. Bạn thư lại xem sao nhé!
__________________
=============================
________ Leo XBS _________
E-mail:leo_xbs1408@yahoo.com
"Đi một ngày đàng học một sàng khôn"
LEO-XBS vẫn chưa có mặt trong diễn đàn  
Old 31-12-2006, 10:47 PM   #5
giaosucan
Đệ tử 1 túi
 
Tham gia ngày: Jan 2006
Bài gửi: 17
:
sao không thấy hướng dẫn bằng C các bác nhỉ
__________________
TRUNG TÂM ĐÀO TẠO ĐIỆN TỬ VÀ TỰ ĐỘNG HOÁ MTC
MTC khai giảng khóa mới
http://blog.360.yahoo.com/blog-kHh38....lgCr0J4220m40
giaosucan vẫn chưa có mặt trong diễn đàn  
Old 11-01-2007, 04:21 PM   #6
phamgiaquang
Nhập môn đệ tử
 
Tham gia ngày: Dec 2005
Bài gửi: 10
:
Mình đã dịch file bật tắt led 1s của NHH bằng MPLABIDEv7.51 nhưng không được. Chương trình báo lỗi:

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "F:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F452 "onoffled1s.asm" /l"onoffled1s.lst" /e"onoffled1s.err"
Warning[215] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 8 : Processor superseded by command line. Verify processor symbol.
Message[301] F:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F877A.INC 37 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Warning[230] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG.
Error[126] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : Argument out of range (not a valid config register address)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 12 : Found label after column 1. (COUNT1)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 13 : Found label after column 1. (COUNT2)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 14 : Found label after column 1. (COUNT3)
Error[173] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 53 : Source file path exceeds 62 characters (F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM)
Halting build on first failure as requested.
BUILD FAILED: Thu Jan 11 16:17:17 2007

Mình cũng đã dịch file mạch test led 1 của bác F nhưng cũng bị lỗi. Không biết tại sao.
phamgiaquang vẫn chưa có mặt trong diễn đàn  
Old 11-01-2007, 06:36 PM   #7
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi phamgiaquang View Post
Mình đã dịch file bật tắt led 1s của NHH bằng MPLABIDEv7.51 nhưng không được. Chương trình báo lỗi:

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "F:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F452 "onoffled1s.asm" /l"onoffled1s.lst" /e"onoffled1s.err"
Warning[215] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 8 : Processor superseded by command line. Verify processor symbol.
Message[301] F:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F877A.INC 37 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Warning[230] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG.
Error[126] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : Argument out of range (not a valid config register address)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 12 : Found label after column 1. (COUNT1)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 13 : Found label after column 1. (COUNT2)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 14 : Found label after column 1. (COUNT3)
Error[173] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 53 : Source file path exceeds 62 characters (F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM)
Halting build on first failure as requested.
BUILD FAILED: Thu Jan 11 16:17:17 2007

Mình cũng đã dịch file mạch test led 1 của bác F nhưng cũng bị lỗi. Không biết tại sao.
Warning[215], Message[301], và Warning[230] không quan trọng lắm. Tuy nhiên trong MPLAB bạn đang chọn PIC18F452, trong khi tập tin header được gộp vào trong mã nguồn lại là cho PIC16F877A!

Các Warning[207] cho thấy format của tập tin nguồn của bạn không chuẩn. Tất cả các nhãn (label) phải nằm ở cột 1 của các dòng mã nguồn.

Error[173] chính là rắc rối, tên đường dẫn đến tập tin nguồn của bạn quá dài (dài hơn chiều dài tối đa là 62 ký tự). Bạn đặt mã nguồn trong một thư mục nào đó ở gần thư mục gốc, đặt tên thư mục sao cho đường dẫn tương đối ngắn thôi.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 30-01-2007, 06:16 PM   #8
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi anhoa1608 View Post
Em chưa từng làm việc với bảng quang báo...Bây giờ bạn em rủ làm đề tài cùng nên bọn em đang fải tìm tài liệu(vì bạn ấy cũng chưa biết nhiều)...Có anh nào biết chỉ em với...
Cám ơn nhiều
Có thông tin về bảng cần làm chưa? Số hàng, số cột, đơn sắc hay bao nhiêu màu, các yêu cầu về tính năng: giao tiếp để nhập dữ liệu, điều chỉnh độ sáng hay không, ...

Về nguyên tắc thì có nhiều trang đã đề cập, vào google với từ khóa 'led matrix' thôi. Cách hay nhất theo nhiều người đã từng làm là dùng vi mạch dịch/chốt 74HC595 cùng với các vi mạch source/sink dòng như UDN2981/ULN2803.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 01-02-2007, 08:55 PM   #9
newuser
Đệ tử 4 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 66
:
Đề tài về quang báo nói chung là không mới và cũng đã có nhiều người làm với 8051 rùi, nhưng với PIC-midrange thì sẽ gặp đôi chút khó khăn với cái vụ bộ đếm PC đấy.Nội giải quyết tốt bài toán công suất cho các Led sáng đều và đủ độ sáng(kể cả mở rộng hàng/cột) cũng đã là tốt rồi.
newuser vẫn chưa có mặt trong diễn đàn  
Old 03-02-2007, 08:28 PM   #10
newuser
Đệ tử 4 túi
 
Tham gia ngày: Feb 2006
Bài gửi: 66
:
tôi có tài liệu này, chẳng nhớ lấy từ đâu nữa, mà cũng chưa đọc thử bao giờ. Bạn xem thử có tham khảo được phần nào không.
File Kèm Theo
File Type: pdf quangbao.pdf (134.9 KB, 3463 lần tải)
newuser vẫn chưa có mặt trong diễn đàn  
Old 05-02-2007, 02:20 PM   #11
hero01
Nhập môn đệ tử
 
Tham gia ngày: Feb 2007
Bài gửi: 1
:
mấy anh ơi ! down tài liệu PIC ở đâu thế.tài liệu tiếng anh cũng được(miễn không phải là tiếng arap). chỉ giùm em với.cám ơn các anh nhiều
hero01 vẫn chưa có mặt trong diễn đàn  
Old 05-02-2007, 05:31 PM   #12
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
Trích:
mấy anh ơi ! down tài liệu PIC ở đâu thế.tài liệu tiếng anh cũng được(miễn không phải là tiếng arap). chỉ giùm em với.cám ơn các anh nhiều
Ngay trong luồng này. Hoặc vào phần "Cơ bản về vi điều khiển và PIC", có hai luồng cho cả tài liệu tiếng Việt và tài liệu tiếng Anh, và còn nhiều luồng khác nữa, hoặc search trên google.

Bạn phải chịu khó tìm, đây là kĩ năng rất cần thiết mà bạn cần phải trang bị.

Thân.
__________________

ntc vẫn chưa có mặt trong diễn đàn  
Old 09-03-2007, 04:30 PM   #13
1322
Nhập môn đệ tử
 
Tham gia ngày: Nov 2006
Bài gửi: 4
:
Smile giup ve SPI

Xin giup dum em, lam sao doc va viet tu pic16F877A to MCP2515, can controller, bang SPI.
1322 vẫn chưa có mặt trong diễn đàn  
Old 09-03-2007, 06:07 PM   #14
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi 1322 View Post
Xin giup dum em, lam sao doc va viet tu pic16F877A to MCP2515, can controller, bang SPI.
Bạn đã tìm hiểu gì về SPI chưa? Bạn đã đọc các phần liên quan đến SPI trong datasheet của PIC16F877A và MCP2515 chưa?

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn  
Old 09-03-2007, 11:56 PM   #15
1322
Nhập môn đệ tử
 
Tham gia ngày: Nov 2006
Bài gửi: 4
:
em da doc roi, nhung bang tieng anh, nen chua hieu duoc nhieu lam, nho ban giup dum
1322 vẫn chưa có mặt trong diễn đàn  
Ðề tài đã khoá


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:18 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