Xuất nhập Port đơn giản cho AVR
Chào các bạn, hôm nay chúng ta sẽ tìm hiểu về lập trình xuất nhập port cho vi điều khiển AVR. Việc xuất nhập port rất đơn giản các bạn tham khảo đoạn code sau:
Các bạn đọc ghi chú để hiểu các câu lệnh có tác dụng ntn nha. (Ghi chú sau dấu // )
1. Điều khiển xuất dữ liệu ra PORTD.0
#include <mega8.h>
#include <delay.h> //Thu vien Ham delay chuan, Set clock CPU 8Mhz
#define LED PORTD.0 //Chan PD0 gan LED
/**************Ctr tao xung 1Hz dieu khien LED********************/
void main(){ //Chuong trinh chinh
DDRD.0=1; //Chan PD0 la chan xuat du lieu
LED=0; //Cho LED tat
delay_ms(2000); //Tao tre 2 giay
while(1){ //Vong lap ctr - Vong lap vo tan
LED=1; //LED sang
delay_ms(500); //Tre 0.5 giay
LED=0; //LED tat
delay_ms(500);
}
}
Mạch nguyên lý:
2. Điều khiển LED thông qua nút nhấn:
#include <mega8.h>
#include <delay.h> //Thu vien Ham delay chuan, Set clock CPU 8Mhz
#define LED PORTD.0 //Chan PD0 gan LED
#define BUT PINC.0 //Chan PC0 lam nut nhan
/**************Ctr nhan nut dieu khien LED********************/
void main(){ //Chuong trinh chinh
DDRD.0=1; //Chan PD0 la chan xuat du lieu
DDRC.0=0; //Chan PC0 la chan nhap du lieu
PORTC.0=1; //Su dung tro cau chan PC0
LED=0; //Cho LED tat
while(1){ //Vong lap ctr - Vong lap vo tan
if(!BUT){ //Nhan nut thi LED chop 2 lan roi tat
LED=1; //LED sang lan 1
delay_ms(200);
LED=0; //LED tat
delay_ms(500);
LED=1; //LED sang lan 2
delay_ms(200);
LED=0; //LED tat
while(!BUT); //Neu nut van nhan thi ko lam gi ca
}
}
}
Mạch nguyên lý:
Qua bài viết này các bạn sẽ biết cấu trúc của một chương trình trong C như thế nào và cách điều khiển port xuất nhập vào ra ntn trước khi vào lập trình nâng cao.
Tải Code và mô phỏng trong File đính kèm......
Chúc bạn học tốt!!
Tải về đính kèm: