- Đây là ảnh mô phỏng protues.
- Đây là code chương trình.
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#define _XTAL_FREQ 8000000
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (Power-up Timer is disabled)
#pragma config CP = OFF // Code Protection bit (Code protection disabled)
const unsigned char Code7Seg[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82,0xF8, 0x80, 0x90};
unsigned int count=0;
void main (void)
{
TRISB = 0X00;
PORTB = 0XFF;
while(1)
{
__delay_ms(100);
PORTB = Code7Seg[count];
__delay_ms(300);
count++;
if(count==10)
{
count = 0;
}
}
}
#include <stdio.h>
#include <stdlib.h>
#define _XTAL_FREQ 8000000
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (Power-up Timer is disabled)
#pragma config CP = OFF // Code Protection bit (Code protection disabled)
const unsigned char Code7Seg[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82,0xF8, 0x80, 0x90};
unsigned int count=0;
void main (void)
{
TRISB = 0X00;
PORTB = 0XFF;
while(1)
{
__delay_ms(100);
PORTB = Code7Seg[count];
__delay_ms(300);
count++;
if(count==10)
{
count = 0;
}
}
}
Code rất đơn giản và ngắn gọn ai chưa hiểu chỗ nào comment ở dưới mình sẽ trả lời nha. Các bạn thử tìm hiểu cách viết sử dụng vòng lặp for đi nha ! Cách này cũng rất hay.
EmoticonEmoticon