Làm theo hướng dẫn Bài 1.. Lập trình xử lý ngắt phần cứng ngoài Bước 1.. Thiết kế mạch theo sơ đồ dưới đây Bước 2.. Viết chương trình thực hiện xử lý ngắt ngoài 0 tương ứng sự kiện ngườ
Trang 1BÀI THỰC HÀNH
SỐ 4
Phần 1 Làm theo hướng dẫn
Bài 1 Lập trình xử lý ngắt phần cứng ngoài
Bước 1 Thiết kế mạch theo sơ đồ dưới đây
Bước 2 Viết chương trình thực hiện xử lý ngắt ngoài 0 tương ứng sự kiện người dùng bấm phím B2
#include <at89x51.h>
//Khai bao bien toan cuc
int count=0;
//Chuong trinh tao do tre
void delay(int interval)
{
int i,j;
for(i=0;i<100;i++)
{
for(j=0;j<interval;j++);
}
}
//Chuong trinh hien thi den led 7 thanh (khong dieu khien dot)
Trang 2}
//Chuong trinh con xu ly ngat ngoai 0
void EXT0_Process() interrupt 0{
EA=0; //Cam ngat
count++;
EA=1; //Cho phep ngat
}
//Chuong trinh con hien thi so (<9999) ra module led 7 thanh
void display_number(int iNum){
int i;
unsigned char pos=0x08;
unsigned char temp;
for(i=0;i<4;i++){
temp=iNum%10;
iNum=iNum/10;
P2=pos;
output_7seg(temp);
delay(5);
pos=pos>>1;
}
}
//Chuong trinh khoi tao he thong
void init(){
P3_2=1; //Thiet lap chan P3_2 lam chan vao
IE=0x81; //Cho phep ngat ngoai 0
IT0=1; //Ngat theo suon
}
void main(){
init();
while(1){
display_number(count);
}
}
Bước 3 Quan sát kết quả, nhận xét và đặt câu hỏi với giáo viên để nhận giải đáp
Trang 3Bài 2 Tạo độ trễ chính xác sử dụng bộ định thời
Bước 1 Thiết kế mạch theo sơ đồ dưới đây
Bước 2 Viết chương trình
#include <at89x51.h>
//Chuong trinh tao do tre chinh xac su dung Timer
void delay_hardware_50ms(){
TMOD=TMOD & 0xF0; //Xoa phan thiet lap cu cua Timer0
TMOD=TMOD | 0x01;
TH0=0x3C; //Thiet lap gia tri khoi dau la 3CB0 (He 16)
TF0=0; //Xoa co tran timer 0
TR0=1; //Khoi dong timer 0
TR0=0; //Dung timer 0
}
//Chuong trinh tao tre chinh xac 1 s
void delay_hardware_1s(){
int i;
Trang 4delay_hardware_1s();
P0=0x55;
delay_hardware_1s();
}
}
Bước 3 Quan sát kết quả, nhận xét và đặt câu hỏi với giáo viên để nhận giải đáp
Phần 1 Làm theo hướng dẫn
Bài 4 Viết chương trình tạo trễ 1ms sử dụng bộ định thời
Bài 5 Xây dựng mô hình và viết chương trình mô phỏng hệ thống đèn giao thông tại một ngã tư với các yêu cầu sau
Có 2 cột đèn (mỗi cột có 3 đèn xanh, đỏ, vàng)
Mỗi cột đèn có gắn một đồng hồ đếm ngược
Dưới đây là thiết kế tham khảo