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 15-06-2007, 08:24 PM   #37
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 mgdaubo View Post
Em có vài thắc mắc(mới học PIC được 1 buổi tối):
1/Em thấy pic16F877a PORTA chỉ có từ RA0-->RA4, em muốn dùng hết 8bit PORTA thì dùng chân nào nữa? có phải AN5-->AN7 ko?

2/Em đang viết chương trình chạy 1 dãy led (32led),chương trình thế này: có nhiều mode chạy led, khi bắt đầu thì chọn ngẫu nhiên 1 mode chạy, trong quá trình chạy nếu nhấn reset MRST thì pic reset lại và nó lại chọn ngẫu nhiên 1 mode khác... viết bằng ASM.
Nhưng hiện em đang bí phần tạo số ngẫu nhiên, xin hỏi ASM cho pic có cách nào tạo được số ngẫu nhiên ko? nếu dùng C thì sao?

3/Anh nào viết 1 tut về sử dụng chức năng Analog của portA đi
1/ PIC16F877A được thiết kế PORTA như vậy, không có các chân RA6 và RA7. Các bit 6 và 7 không được sử dụng trong các thanh ghi PORTA và TRISA. Do đó bạn không thể dùng PORTA như một port 8-bit, bạn chỉ có thể dùng nó như một port 6-bit.

2/ Ở www.piclist.com có các đoạn code hợp ngữ để tạo số ngẫu nhiên, trang sau đây có các đoạn code để tạo số ngẫu nhiên 8-bit:

http://www.piclist.com/techref/microchip/rand8bit.htm

Các trình biên dịch C thường có hàm sinh số ngẫu nhiên, nếu viết chương trình bằng C thì chỉ cần dùng hàm đó.

3/ Dưới đây là các bước thực hiện để sử dụng module A/D (được dịch và chú thích thêm từ datasheet của PIC16F877A)

Trích:
1. Cấu hình module A/D
- Cấu hình các chân analog/điện áp chuẩn (tham chiếu) và các chân digital (dùng thanh ghi ADCON1)
- Chọn kênh ngõ vào A/D (thanh ghi ADCON0)
- Chọn nguồn xung chuyển đổi A/D (thanh ghi ADCON0)
- Bật module A/D (thanh ghi ADCON0)

2. Cấu hình ngắt A/D (nếu cần)
- Xóa bit ADIF (thanh ghi PIR1)
- Bật bit ADIE (thanh ghi PIE1)
- Bật bit PEIE (thanh ghi INTCON)
- Bật bit GIE (thanh ghi INTCON)

3. Chờ đủ thời gian lấy mẫu

4. Bắt đầu chuyển đổi: bật bit GO/DONE (thanh ghi ADCON0)

5. Chờ cho việc chuyển đổi hoàn tất bằng 1 trong 2 cách sau:
- Hỏi vòng bit GO/DONE để phát hiện nó bị xóa (đã cấm ngắt)
- Chờ ngắt A/D

6. Đọc cặp thanh ghi kết quả (ADRESH:ADRESL), xóa bit ADIF nếu cần

7. Với phép chuyển đổi tiếp theo, quay trở về bước 1 hay 2 tùy trường hợp.

TAD là thời gian chuyển đổi 1 bit.
Datasheet của PIC16F877A đã giải thích chi tiết về các thanh ghi liên quan đến module A/D. Bạn hãy đọc những phần đó.

Nếu cần thiết, bạn có thể tự viết đoạn code và post lên đây để các thành viên khác có thể xem xét giúp bạn.

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
 


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
bác fall cho em hỏi tý về CCSC tại sao lại "Out of ROM" sớm thế? MoH Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 12 20-10-2006 11:31 AM
Hội thảo: "Tầm nhìn dientuvietnam 2006" falleaf Đóng góp ý kiến 2 03-08-2006 06:48 PM
Ý kiến về "Tài liệu hướng dẫn PIC - Tiếng Việt" baoquyen Đóng góp ý kiến 8 04-12-2005 10:04 PM
"Mechatronics handbook " elecminh Điều khiển 3 07-09-2005 12:42 AM
Nộp bài tập "Hoc PIC trong 1 ngày" teo Cơ bản về vi điều khiển và PIC 5 02-06-2005 01:11 AM


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