Bài 4: Dùng vi điều khiển 16F887 kết nối với 8 led 7 đoạn anode chung theo phương pháp quét và viết chương trình hiển thị 8 số từ số 0 đến số 7 trên 8 led mô phỏng trên Proteus
- Sơ đồ mạch:
Hình 1: Sơ đồ kết nối 2 port C và D điều khiển 8 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};
VOID MAIN()
{
SET_TRIS_C(0x00); SET_TRIS_D(0x00);
WHILE(TRUE)
{
OUTPUT_C(0xC0); OUTPUT_HIGH(PIN_D0); DELAY_MS(1); OUTPUT_LOW(PIN_D0);
OUTPUT_C(0XF9); OUTPUT_HIGH(PIN_D1); DELAY_MS(1); OUTPUT_LOW(PIN_D1);
OUTPUT_C(0XA4); OUTPUT_HIGH(PIN_D2); DELAY_MS(1); OUTPUT_LOW(PIN_D2);
OUTPUT_C(0XB0); OUTPUT_HIGH(PIN_D3); DELAY_MS(1); OUTPUT_LOW(PIN_D3);
OUTPUT_C(0x99); OUTPUT_HIGH(PIN_D4); DELAY_MS(1); OUTPUT_LOW(PIN_D4);
OUTPUT_C(0X92); OUTPUT_HIGH(PIN_D5); DELAY_MS(1); OUTPUT_LOW(PIN_D5);
OUTPUT_C(0X82); OUTPUT_HIGH(PIN_D6); DELAY_MS(1); OUTPUT_LOW(PIN_D6);
OUTPUT_C(0XF8); OUTPUT_HIGH(PIN_D7); DELAY_MS(1); OUTPUT_LOW(PIN_D7);
}
} Link download chương trình mô phỏng: https://drive.google.com/file/d/1TUymR7XdeRW9z5WsCFFGkFRPV2pmwXsk/view
#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};
VOID MAIN()
{
SET_TRIS_C(0x00); SET_TRIS_D(0x00);
WHILE(TRUE)
{
OUTPUT_C(0xC0); OUTPUT_HIGH(PIN_D0); DELAY_MS(1); OUTPUT_LOW(PIN_D0);
OUTPUT_C(0XF9); OUTPUT_HIGH(PIN_D1); DELAY_MS(1); OUTPUT_LOW(PIN_D1);
OUTPUT_C(0XA4); OUTPUT_HIGH(PIN_D2); DELAY_MS(1); OUTPUT_LOW(PIN_D2);
OUTPUT_C(0XB0); OUTPUT_HIGH(PIN_D3); DELAY_MS(1); OUTPUT_LOW(PIN_D3);
OUTPUT_C(0x99); OUTPUT_HIGH(PIN_D4); DELAY_MS(1); OUTPUT_LOW(PIN_D4);
OUTPUT_C(0X92); OUTPUT_HIGH(PIN_D5); DELAY_MS(1); OUTPUT_LOW(PIN_D5);
OUTPUT_C(0X82); OUTPUT_HIGH(PIN_D6); DELAY_MS(1); OUTPUT_LOW(PIN_D6);
OUTPUT_C(0XF8); OUTPUT_HIGH(PIN_D7); DELAY_MS(1); OUTPUT_LOW(PIN_D7);
}
}
Comments
Post a Comment