12-03-2006, 04:18 PM | #1 |
Đệ tử 9 túi
|
HTPIC - các chương trình cho PIC6F877A
Tôi đã viết các bài viết ở Điện tử Việt Nam tại luồng này:
http://dientuvietnam.net/forums/show...4688#post14688 Ngôn ngữ là: HTPIC Có lẽ bài toán nháy led là bài toán đơn giản và tạo hứng thú cho các bạn học vi điều khiển. Tôi xin mạn phép up chương trình nháy led đơn giản và xin các bạn cho ý kiến là liệu có thể tối ưu chương trình này đến mức nào nữa? Miêu tả phần cứng: nối các chân của PORTD với các 8led. Các chân còn lại của led nối với một con trở hạn dòng 330Ohm, sau đó nối với GND. Đây là sơ đồ nguyên lý: Hình 1: Nháy 8led rất đẹp . Hiện tuợng: các bạn chạy thử xem thế nào Giải pháp: có 2 giải pháp là dùng ngắt hoặc dùng delay. Chương trình đầu là dùng delay: Sau đây là chương trình: Code:
#include<pic.h> __CONFIG(HS & PWRTEN & BOREN & LVPDIS & WDTDIS ); //================================================================ //== ham Delay doi so la so miligiay can gay tre void delayMS(unsigned int time){ while(time--){ TMR0 = 6; T0IF = 0; // xoa co ngat while(!T0IF); }; } // == Ham khoi tao cho chip PIC16F877A void init(void){ // Khoi tao I/O cho cac port ADCON1 = 0x07; // PortA dung la I/O Port TRISA = 0xFF; // Port A as input TRISB = 0xFF; TRISC = 0xFF; TRISD = 0x00;// PortD as output // Khoi tao cho cac thanh ghi OPTION = 0x00; // dung prescaler cho timer0 voi ti le la 1:2 } // Chuong trinh chinh void main(void){ unsigned char i; init(); while(1){ for(i = 0;i<8;i++){ PORTD = (1<<i) + (1<<(7-i)); delayMS(5000); }; }; } File gửi kèm có 2 file: PJ1.c và PJ2.c . PJ1.C là chương trình dùng delay, PJ2 là dùng ngắt. Xin mọi người cho ý kiến. thay đổi nội dung bởi: ngohaibac, 05-01-2007 lúc 03:22 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 |