PIC16f887 Đếm người đi qua cửa hiển thị LED7x2

Giả sử bố trí hệ thống trong câu 2 thành hệ thống đếm người đi qua cửa (LED phát
và thu đặt hai bên cửa đối diện nhau), thiết kế sơ đồ nguyên lý và lập trình theo yêu cầu sau:

a. Viết chương trình con đếm lượng người đi qua, kết quả trả về cho tên hàm. Chương
trình con được đặt tên dưới dạng:
int Dem_Nguoi(int8 SoNguoiHienTai){
// Nội dung, mã đếm người
}
b. Viết chương trình con hiển thị số lượng người lên 2 LED 7 thanh, dưới dạng:
void display(int So_Nguoi){
// Nội dung, mã hiển thị
}

--------------------------------

#include<main.h>
int8 const led7[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int led1,led2;
int8 SoNguoiHienTai;
int So_Nguoi;

int Dem_Nguoi()
{
if(input(pin_a0)==0)
SoNguoiHienTai++;
return SoNguoiHienTai;
}

Void display()
{
led1=So_Nguoi/10;
led2=So_Nguoi%10;
for(int i=0;i<5;i++)
{
output_high(pin_c1);
output_d(led7[led1]);
delay_ms(1);
output_low(pin_c1);

output_high(pin_c2);
output_d(led7[led2]);
delay_ms(1);
output_low(pin_c2);
}
So_Nguoi=SoNguoiHienTai;
}

void main()
{
set_tris_a(0xff);
set_tris_c(0x00);
set_tris_d(0x00);

while (TRUE)
{
Dem_Nguoi();
display();
}
}

DOWNLOAD Code và Mô Phỏng



Từ khóa :

Không có nhận xét nào:

Đăng nhận xét