Bài 3: Dùng vi điều khiển 16F887 kết nối với 1 led 7 đoạn anode chung và viết chương trình đếm từ 0 đến 9 với thời gian trễ tuỳ chọn mô phỏng trên Proteus
- Sơ đồ mạch: dùng portD kết nối với 1 led 7 đoạn anode chung. Mức logic 1 làm led tắt, mức logic 0 làm led sáng, điện trở hạn dòng cho led là 330Ω.
Hình 1. Sơ đồ mạch đếm từ 0 đến 9 dùng led 7 đoạn anode chung |
- Chương trình:
#INCLUDE <16F887.H>
#FUSES NOWDT,PUT,HS,NOPROTECT,NOLVP
#USE DELAY(CLOCK=20M)
CONST UNSIGNED CHAR MA7DOAN [10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
SIGNED INT DEM;
UNSIGNED INT MA_DEM;
VOID MAIN()
{
SET_TRIS_D(0x00);
WHILE(TRUE)
{
FOR (DEM=0;DEM<10;DEM++)
{
MA_DEM = MA7DOAN[DEM];
OUTPUT_D(MA_DEM);
DELAY_MS(1000);
}
}
}
#FUSES NOWDT,PUT,HS,NOPROTECT,NOLVP
#USE DELAY(CLOCK=20M)
CONST UNSIGNED CHAR MA7DOAN [10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
SIGNED INT DEM;
UNSIGNED INT MA_DEM;
VOID MAIN()
{
SET_TRIS_D(0x00);
WHILE(TRUE)
{
FOR (DEM=0;DEM<10;DEM++)
{
MA_DEM = MA7DOAN[DEM];
OUTPUT_D(MA_DEM);
DELAY_MS(1000);
}
}
}
- Giải thích chương trình:
Tài liệu tham khảo:
- Nguyễn Đình Phú (2014). Giáo trình VI ĐIỀU KHIỂN PIC 16F887.
Comments
Post a Comment