1.Mạch Mô Phỏng Protues 7.10.. Chỗ nút bấm ngắt đó sau này làm mạch thật chính là cảm biến thu phát hông ngoại..món này thiếu gì cách chế biến.
VIDEO DEMO
2.Mạch Nguyên Lý chuẩn:
3.Mạch In orcad 9.2:
4.Code chỉ chạy đếm sản phẩm mà chưa có setup Khi nào test ngon mình sẽ cho lên sàn.
[success title="CODE MẪU" icon="check-circle"]
#include <REGX51.H>
#include <stdio.h>
#define bat 1
#define tat 0
#define data P0
sbit Led1 = P1^0;
sbit Led2 = P1^1;
sbit L1 = P2^0;
sbit L2 = P2^1;
sbit L3 = P2^2;
sbit L4 = P2^3;
sbit set = P1^4;
sbit up = P1^5;
sbit dw = P1^6;
sbit ok = P1^7;
unsigned int m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ma led 7 doan anode chung
unsigned int num,donvi,chuc,tram,nghin;
unsigned int dem,donvi1,chuc1,tram1,nghin1;
/////////////////////////////////////////////
void delay(unsigned char ms)
{
unsigned char i,j;
for (i=0;i<ms;i++)
for (j=0;j<255;j++){;}
}
//////////////////////////////////////////////
void hienthi(void)
{
unsigned int k;
for(k=0;k<5;k++)
{
nghin=num/1000;
tram=(num%1000)/100;
chuc=((num%1000)%100)/10;
donvi=((num%1000)%100)%10;
data=m[nghin];
L4=bat;
delay(10);
L4=tat;
data=m[tram];
L3=bat;
delay(10);
L3=tat;
data=m[chuc];
L2=bat;
delay(10);
L2=tat;
data=m[donvi];
L1=bat;
delay(10);
L1=tat;
}
}
////////////////////////////////////////
void hienthidem(void)
{
unsigned int k;
for(k=0;k<5;k++)
{
nghin1=dem/1000;
tram1=(dem%1000)/100;
chuc1=((dem%1000)%100)/10;
donvi1=((dem%1000)%100)%10;
data=m[nghin1];
L4=bat;
delay(10);
L4=tat;
data=m[tram1];
L3=bat;
delay(10);
L3=tat;
data=m[chuc1];
L2=bat;
delay(10);
L2=tat;
data=m[donvi1];
L1=bat;
delay(10);
L1=tat;
}
}
////////////////////////////////////////////////
void EXT0_Init(void)
{
EX0=1; //Kich hoat ngat ngoai 0
IT0=1; //Chon ngat theo suon xuong
}
void Ngat_Ngoai_0(void) interrupt 0
{
//Chuong trinh con phuc vu ngat ngoai 0
//num=90;
//dem++;
//if(dem=num){dem=0;}
hienthi();
num++;
}
////////////////////////////////////////////////////
void main(void)
{
EA=1;
EXT0_Init();
while(1)
{
hienthi();
//hienthidem();
//setup();
//if(dem=num){Led1=Led2=tat;}
}
}
[/success]
Đăng nhận xét