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 19-03-2006, 09:26 AM   #11
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
Traffic light

Chào cả nhà!

Ý định tuần này của nhh là viết chương trình cho cái digital clock với timer, led 7 đoạn, phím nhấn,...nhưng nghĩ đi nghĩ lại giang hồ luyện chiêu này bằng IC thời gian thực DS1307, DS1337,...giao tiếp I2C...mình lại dùng timer định thì nhảy tới nhảy lui thật khó coi quá !

Mục đích cũng để tìm hiểu hoạt động của các timer, do vậy mà nhh tạm gác cái digital clock này lại. Bù lại mình sẽ làm một cái mạch đèn giao thông ,dùng ngắt timer0.

PIC16F877A có 3 timer ,timer0 và timer2 là hai timer 8bit còn timer1 là timer 16bit.
nhh chỉ đề cập đến những phần có liên quan đến timer0 trong ứng dụng này.Còn lại tham khảo trong datasheet viết rất rõ.
Các thanh ghi tác động timer0 gồm INTCON và OPTION_REG. Để khởi động timer0,xóa bit T0CS về 0.Lúc này thanh ghi TMR0 sẽ tự động tăng lên một ứng với mỗi chu kỳ lệnh



Hoạt động ngắt của timer0 rất đơn giản,ngắt xảy ra khi tràn timer0 từ FFh về 00h
Khi ngắt này xảy ra cờ ngắt timer0 phất lên (bit TMR0IF được set lên 1) ,khi vào ngắt phải xóa cờ này về 0.
Bit PSA trên thanh ghi OPTION_REG chỉ định Prescaler cho timer0 hay WDT.Dùng timer0 thì xóa bit này.
Ba bit PS0,PS1,PS2 dùng chia tốc độ timer0 từ 2 đến 256 ,chia tốc độ WDT từ 2 đến 128.

Trong ứng dụng này do timer0 tràn sớm hơn 1s khi dùng thạch anh 10MHz,do vậy dùng thêm một biến đếm số lần tràn sao cho khi biến này giảm xuống 0 thì xấp xỉ 1s.

Trong 20s đầu,đèn xanh bật ON,từ giây 21 đến 30 có thêm đèn vàng ON, 20s cuối đèn đỏ ON.

Các chân từ a đến g của led 7 seg đầu nối với RC0 đến RC6, led còn lại nối RB0 đến RB6.
__________________
Ngày mai bắt đầu từ ngày hôm nay

Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này:
http://www.picvietnam.com/forum//showthread.php?t=1263
nhh 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
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
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
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM
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à 05:48 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