Bài 5: Dùng vi điều khiển 16F887 kết nối với 2 led 7 đoạn anode chung theo phương pháp quét và viết chương trình đếm từ 00 đến 99 hiển thị trên 2 led 7 đoạn quét, thời gian trễ tuỳ chọn.
Hình 1: Sơ đồ kết nối 2 port C và D điều khiển 2 led 7 đoạn quét.
|
- Chương trình:
#INCLUDE <16F887.H>
#FUSES NOWDT,PUT,HS,NOPROTECT,NOLVP
#USE DELAY(CLOCK=16M)
CONST UNSIGNED CHAR MA7DOAN [10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
UNSIGNED INT8 DEM, I;
VOID HIENTHI_DELAY()
{
FOR (I=0;I<200;I++)
{
OUTPUT_C(MA7DOAN[DEM %10]); OUTPUT_HIGH(PIN_D0);
DELAY_MS(1); OUTPUT_LOW(PIN_D0);
OUTPUT_C(MA7DOAN[DEM /10]); OUTPUT_HIGH(PIN_D1);
DELAY_MS(1); OUTPUT_LOW(PIN_D1);
}
}
VOID MAIN()
{
SET_TRIS_C(0x00); SET_TRIS_D(0x00); OUTPUT_D(0X00);
WHILE(TRUE)
{
FOR(DEM=0;DEM<100;DEM++)
{
HIENTHI_DELAY();
}
}
}
Link download chương trình mô phỏng (Code và Proteus): https://drive.google.com/file/d/1TVc6fisZ6At9eUhEa1_w0OtASSUqHd58/view
Comments
Post a Comment