Thứ Ba, 19 tháng 3, 2013
PIC 16F877A- Mạch nhấn nút tăng, giảm hiển thị led 7 đoạn
Chương trình trên CCS
#include <16F877A.h>
#use delay(clock=4000000)
#use standard_io(b)
#use standard_io(c)
#use standard_io(e)
unsigned char ma7seg[]={0xc0,
0xf9,
0xa4,
0xb0,
0x99,
0x92,
0x82,
0xf8,
0x80,
0x90};
char chuc,donvi,machuc,madonvi,lapht;
void main()
{
set_tris_b(0);
set_tris_c(0);
set_tris_e(0b111);
donvi=0;
chuc=0;
for(;;)
{
for(lapht=0;lapht<150;lapht++)
{
madonvi=ma7seg[donvi];
output_b(madonvi);
output_low(pin_c1);
delay_ms(1);
output_high(pin_c1);
machuc=ma7seg[chuc];
output_b(machuc);
output_low(pin_c0);
delay_ms(1);
output_high(pin_c0);
}
//tang gia tri
if(input(pin_e0)==0)
{
//delay_ms(200);
donvi++;
if(donvi==10)
{
chuc++;
donvi=0;
if(chuc==10)
{
chuc=0;
donvi=0;
}
}
}
//giam gia tri
if(input(pin_e1)==0)
{
//delay_ms(200);
donvi--;
if(donvi==-1)
{
chuc--;
donvi=9;
if(chuc==-1)
{
chuc=9;
donvi=9;
}
}
}
}
}
Đăng ký:
Đăng Nhận xét (Atom)
bạn có mạch đếm sản phẩm từ 000 đến 999 không bạn
Trả lờiXóamình trả lời mail cho bạn rồi nhé
Xóa