![]() |
|
|
#11 |
|
Đệ tử 9 túi
|
Quét led7 thanh.
Sau đây mình copy một số bài bên dientuvietnam.net sang đây và trả lời từng câu hỏi mà các bạn hỏi nhé.
Rảnh rỗi ngồi viết chương trình hiển thị led7 thanh chơi chơi. Ở đây em chỉ dùng 1 led thôi cho đơn giản. Còn việc quét led đã viết ở các bài trước rùi .Đây là sơ đồ nguyên lý: ![]() Code:
#include<pic.h>
__CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS );
// bộ font cho led7
const unsigned char Font[]={ 0b00000011, 0b10011111, 0b00100101, 0b00001101, 0b10011001,\
0b01001001, 0b01000001, 0b00011111, 0b00000001, 0b00001001};
void init(void)
{
//-------------------------init for PORTs
OPTION = 0b00000000; // dùng Prescaler với k= 1:2
TRISD = 0b00000000;
TRISE = 0b11111111;
PORTD = Font[0] ; // ban đầu cho hiển thị số 0
//-------------------------init for interrupt vầ timer0
GIE = 1; // cho phép ngắt toàn cục
T0IE = 1; // cho phép ngắt timer0
TMR0 = 6; // đặt giá trị đầu cho TMR0
}
void interrupt MyInt(void){
static int counter; // biến đếm sự kiện ngắt timer
static unsigned char i; // biến đếm số đang hiển thị trên led
if (T0IF & T0IE){ // nếu có ngắt
T0IF = 0 ;
TMR0 = 6;
++ counter;
if( counter == 1000){ // cứ 1s thì hiển thị hiển thị tiếp
counter = 0 ; // reset lại bộ đếm
PORTD = Font[i++];
if( i ==10) i = 0;
};
};
}
void main(){
init();
while(1);
}
Code:
if (T0IF & T0IE){
Code:
if (T0IF) Nếu lúc đó ta đã disable ngắt timer0 mà giờ nó lại thực hiện chương trình trong timer0 thì chương trình chạy quá sai rùi. Đây là chú ý của anh BA . Nếu không nhận ra thì có khi sai nhiều đó . Khi chúng ta viết chương trình ngắt trong ngắt thì sẽ thấy điều này .Chúc các bạn thành công. thay đổi nội dung bởi: ngohaibac, 05-01-2007 lúc 04:00 PM. |
|
|
|
|
|
Similar Threads
|
||||
| Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
| Cách giao tiếp DS1877 và PIC6F877A | nbqvdp | Cơ bản về vi điều khiển và PIC | 7 | 05-08-2010 06:46 PM |
| Hỏi về chương trình HTPIC của ngohaibac | riquelme | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 26 | 20-01-2007 09:42 PM |
| Giúp đỡ về HTPIC | riquelme | Cơ bản về vi điều khiển và PIC | 0 | 11-01-2007 11:56 PM |
| Giao tiếp Pic6f877A qua cổng máy in???? | spirit | Cơ bản về vi điều khiển và PIC | 8 | 11-09-2006 01:04 PM |