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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 06-10-2008, 01:33 PM   #1
delux
Nhập môn đệ tử
 
Tham gia ngày: Dec 2006
Bài gửi: 5
:
Làm sao hiển thị số thập phân ra LED 7 đoạn?

Như chúng ta đã biết PIC16 ko hỗ trợ lệnh nhân và chia như 8951,do đó ko thể sd phương pháp chia lấy nguyên và lấy dư được.
Điều đó dẫn đến khó khăn cho việc hiển thị ra LED 7 đoạn của 1 số thập phân có 2 chữ số trở lên...

Vậy sư huynh nào đã nghiên cứu qua ,làm ơn gợi ý cho em với (pp đơn giản, dễ hiểu nhất)
Đang làm đề tài,tới đây thì bí....

Many thanks
delux vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2008, 06:39 PM   #2
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 delux View Post
Như chúng ta đã biết PIC16 ko hỗ trợ lệnh nhân và chia như 8951,do đó ko thể sd phương pháp chia lấy nguyên và lấy dư được.
Điều đó dẫn đến khó khăn cho việc hiển thị ra LED 7 đoạn của 1 số thập phân có 2 chữ số trở lên...

Vậy sư huynh nào đã nghiên cứu qua ,làm ơn gợi ý cho em với (pp đơn giản, dễ hiểu nhất)
Đang làm đề tài,tới đây thì bí....

Many thanks
Tùy thuộc vào ngôn ngữ lập trình mà bạn đang dùng, sẽ có cách hiện thực yêu cầu của bạn khác nhau. Theo như bạn mô tả, tôi đoán là bạn đang dùng hợp ngữ, vì các ngôn ngữ lập trình cấp cao cho PIC đều hiện thực những phép toán mà bạn đã nêu.

Với hợp ngữ, piclist có một thư viện các hàm toán học đã được cộng đồng xây dựng sẵn, link ở đây: http://www.piclist.com/techref/microchip/math/basic.htm. Tùy theo yêu cầu cụ thể của bạn mà bộ thư viện này có thể được vận dụng một cách thích hợp.

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   Trả Lời Với Trích Dẫn
Old 07-10-2008, 09:47 AM   #3
delux
Nhập môn đệ tử
 
Tham gia ngày: Dec 2006
Bài gửi: 5
:
Trích:
Nguyên văn bởi namqn View Post
Tùy thuộc vào ngôn ngữ lập trình mà bạn đang dùng, sẽ có cách hiện thực yêu cầu của bạn khác nhau. Theo như bạn mô tả, tôi đoán là bạn đang dùng hợp ngữ, vì các ngôn ngữ lập trình cấp cao cho PIC đều hiện thực những phép toán mà bạn đã nêu.

Với hợp ngữ, piclist có một thư viện các hàm toán học đã được cộng đồng xây dựng sẵn, link ở đây: http://www.piclist.com/techref/microchip/math/basic.htm. Tùy theo yêu cầu cụ thể của bạn mà bộ thư viện này có thể được vận dụng một cách thích hợp.

Thân,
Anh Nam có thể giúp đở e nhiều hơn được ko?
Thanks so much
delux vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2008, 06:42 PM   #4
vinhteo
Nhập môn đệ tử
 
Tham gia ngày: Sep 2007
Bài gửi: 5
:
ban cu dung con 7447 la co the goi truc tiep so thap phan ra led 7 doan ma ko can nhan chia gi het! ok.
vinhteo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2008, 09:27 AM   #5
delux
Nhập môn đệ tử
 
Tham gia ngày: Dec 2006
Bài gửi: 5
:
Trích:
Nguyên văn bởi vinhteo View Post
ban cu dung con 7447 la co the goi truc tiep so thap phan ra led 7 doan ma ko can nhan chia gi het! ok.
Bạn nhầm rồi.
Con IC 7447 là IC chuyển từ mã BCD ra mã hex của LED 7 đoạn chừ ko phải chuyền trực tiếp từ mả hex (or decimal) của thanh ghi (or data) ra LED 7 đoạn
Do đó muốn sd IC 7447 bạn phải có thao tác chuyển mã hex của thanh ghi (data đầu vào) sang mã BCD.Muốn vậy cũng phải thực hiện phép chia nguyên và chia dư....
Thực chất của IC 7447 là một chương trình thay thế cho việc tra bảng thôi....
Bạn hiểu ý mình chứ?

Nhưng dù sao cũng cảm ơn bạn đã đưa ra 1 hướng giải quyết

Many thanks

thay đổi nội dung bởi: delux, 07-10-2008 lúc 09:40 AM.
delux vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2008, 01:51 PM   #6
picpen
Đệ tử 5 túi
 
picpen's Avatar
 
Tham gia ngày: Jun 2008
Bài gửi: 112
:
Mình đã làm cái này rùi ! lúc đầu tưởng rễ nhưng loay hoay mãi mới song
Tuy nhiên để giả quyết bài toán này mình phải dùng ngôn ngữ C để lập trình ( CCS )
Với hợp ngữ thì sẽ khó hơn nhiều và mình cũng chưa viết được bằng hợp ngữ
Nếu bạn dùng C thì PM cho mình .ok
__________________
** xin hãy cho tôi là tượng đá
** Để muôn đời không nhớ thương ai ..!!
picpen vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2009, 10:22 PM   #7
special_one
Nhập môn đệ tử
 
Tham gia ngày: Apr 2009
Nơi Cư Ngụ: Thieu Lam Tu
Bài gửi: 4
:
Trích:
Nguyên văn bởi picpen View Post
Mình đã làm cái này rùi ! lúc đầu tưởng rễ nhưng loay hoay mãi mới song
Tuy nhiên để giả quyết bài toán này mình phải dùng ngôn ngữ C để lập trình ( CCS )
Với hợp ngữ thì sẽ khó hơn nhiều và mình cũng chưa viết được bằng hợp ngữ
Nếu bạn dùng C thì PM cho mình .ok
chào bạn!minh cũng mới chuyển wa pic nên còn hơi gà.bn co thể gửi cho minh vài ví dụ xuất led7 đoạn k, cảm ơn bạn trước ah dùng CCS nha!
special_one vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2008, 02:50 PM   #8
delux
Nhập môn đệ tử
 
Tham gia ngày: Dec 2006
Bài gửi: 5
:
Mình viết bằng hợp ngữ : ASM trong MPLAB

Xin mọi người giúp đỡ !
delux vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2008, 06:31 PM   #9
delux
Nhập môn đệ tử
 
Tham gia ngày: Dec 2006
Bài gửi: 5
:
Haha...
Cảm ơn anh Nam,cảm ơn mọi người...
Tôi đã làm được rồi....Viết bằng ASM...
Yeaahhh.....
delux vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2008, 06:56 PM   #10
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 delux View Post
Haha...
Cảm ơn anh Nam,cảm ơn mọi người...
Tôi đã làm được rồi....Viết bằng ASM...
Yeaahhh.....
Sẽ tốt hơn nữa nếu bạn chia sẻ những gì đã học hỏi được với cộng đồng.

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

thay đổi nội dung bởi: namqn, 17-11-2009 lúc 11:07 PM. Lý do: xẻ => sẻ
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2008, 08:56 PM   #11
love_ac
Đệ tử 4 túi
 
Tham gia ngày: Apr 2008
Nơi Cư Ngụ: Hanoi
Bài gửi: 78
:
Thực ra bạn có thể chia sẻ cho các bạn đi sau thì hay.Việc hiển thị ra led7 thanh chỉ chú ý ba đặc điểmsử dụng kiểu tra bảng)
-Thanh ghi PC(program counter)
-Lệnh addwf để add giá trị w-register đến PC
-Lện retlw giúp trả về giá trị mã (số hiển thị ra led)
ví dụ :
Code:
nhanma:
                     addwf    PC,f;                    cong gia tri w vao pc
                    retlw       0x2f;                 code cho so 0
                   ...
                   retlw      0x5f;                code cho so 9
và khi nhận mã thì
                 movlw          0x03;         muon xuat ra led7 so 4
                 call              nhanma
                 movwf         portd         ;dua ra post
[p]
mã trên chỉ là mình ví dụ thôi nhé

thay đổi nội dung bởi: love_ac, 07-10-2008 lúc 09:02 PM.
love_ac vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-11-2009, 10:44 PM   #12
stargreen1001
Nhập môn đệ tử
 
Tham gia ngày: Mar 2009
Bài gửi: 9
:
hic, mình cũng đang gặp vấn đề này, mình làm hiển thị ra 5 led 7 đoạn, giá trị được lấy từ timer1 trong hai thanh ghi tmr1l va tmr1h, có vẻ như rất dài, mình viết bằng asm
stargreen1001 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à 05:38 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