Mạch Đếm Sản Phẩm (Counter)

0
7020

Xin Chào!

Tuần này mình muốn chia sẻ  Mạch Đếm Sản Phẩm (Counter) cho bạn nào cần hoặc các bạn sinh viên tham khảo làm đồ án!

Nguyên Lý Mạch Đếm Sản Phẩm

abc

 

Code Mạch Đếm Sản Phẩm

#include <mega8.h>
#include"delay.h"

unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 
unsigned int i=0;

void led7seg(int number)
{
 unsigned char n,t,c,dv; 
 unsigned char Co = 0;
 n=number/1000;
 t=(number%1000)/100;
 c=(number%100)/10;
 dv=number%10; 
 
 // ban data vao so hang nghin
 PORTC=0x00; 
 if(n==0)
 {
 PORTD=0xff;
 } 
 else 
 {
 Co = 1;
 PORTD = led[n];
 }
 PORTC.2=1;
 delay_ms(1);
 
 // ban data vao so hang tram
 PORTC=0x00; 
 if((Co==0)&(t==0))
 PORTD=0xff;
 else
 { 
 Co = 1;
 PORTD=led[t]; 
 }
 PORTC.3=1;
 delay_ms(1);
 
 // ban data vao so hang chuc
 PORTC=0x00;
 if((Co==0)&(c==0))
 PORTD=0xff;
 else
 { 
 Co = 1;
 PORTD=led[c]; 
 }
 PORTC.4=1;
 delay_ms(1);
 
 // ban data vao so hang don vi 
 PORTC=0x00;
 PORTD=led[dv]; 
 PORTC.5=1;
 delay_ms(1); 
}
void main(void)
{

PORTB=0xFF;
DDRB=0x00;

PORTC=0x00;
DDRC=0xff;

PORTD=0xFF;
DDRD=0xFF;

while (1)
 {
 if(PINB.0==0)
 { 
 delay_ms(10);
 if(PINB.0==0)
 { 
 while(PINB.0==0)
 {
 led7seg(i);
 } 
 i++;
 if(i==9999)
 {
 i=0;
 }
 }
 } 
 led7seg(i);
 }
}
Download Code+Nguyên Lý+PCB 
Chúc các bạn thành công!
Like và Chia sẻ cho bạn bè nếu bạn thấy hay và hữu ích