Nhớ dùng 7seg CC, còn code của thầy thì dùng 7seg CA
++++++++++++++++++++++++Đếm từ 0 đến 99+
#include<p18f4520.h>
#include<delays.h>
#pragma config OSC=HS
#pragma config WDT = OFF
#pragma config MCLRE = OFF
unsigned char Code7Seg[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
void main()
{
unsigned dem,chuc,dvi;
unsigned int i;
TRISC=0x00;
TRISD=0x00;
ADCON1=0x0f;
while(1)
{
for(dem=0;dem<99;dem++)
{
chuc=dem/10;
dvi=dem%10;
for(i=0;i<50;i++)
{
PORTC=Code7Seg[chuc];
PORTDbits.RD0=0;
Delay1KTCYx(10);
Trang 2PORTDbits.RD0=1;
PORTC=Code7Seg[dvi];
PORTDbits.RD1=0;
Delay1KTCYx(10);
PORTDbits.RD1=1;
}
}
}
}
++++++++++++++++++++++++++++Hiện số bất kỳ +
#include<p18f4520.h>
#include<delays.h>
#pragma config OSC=HS
#pragma config WDT = OFF
#pragma config MCLRE = OFF
unsigned char Code7Seg[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
void main()
{
unsigned dem,chuc,dvi;
unsigned int i;
TRISC=0x00;
TRISD=0x00;
ADCON1=0x0f;
dem=24;
Trang 3while(1)
{
chuc=dem/10;
dvi=dem%10;
PORTC=Code7Seg[chuc];
PORTDbits.RD0=0;
Delay1KTCYx(10);
PORTDbits.RD0=1;
PORTC=Code7Seg[dvi];
PORTDbits.RD1=0;
Delay1KTCYx(10);
PORTDbits.RD1=1;
}
}
++++++++++++++++++++++++Hai led7seg nhấp nháy +
#include<p18f4520.h>
#include<delays.h>
#pragma config OSC=HS
#pragma config WDT = OFF
#pragma config MCLRE = OFF
unsigned char Code7Seg[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
void main()
{
Trang 4unsigned dem,chuc,dvi;
unsigned int i;
TRISC=0x00;
TRISD=0x00;
ADCON1=0x0f;
while(1)
{
PORTC=0x5B;
PORTDbits.RD0=0;
Delay10KTCYx(30);
PORTDbits.RD0=1;
PORTC=0x7D;
PORTDbits.RD1=0;
Delay10KTCYx(30);
PORTDbits.RD1=1;
}
}
+++++++++++++++++++++++nhấn công tắc tăng thêm 1+++
#include<p18f4520.h>
#include<delays.h>
#pragma config OSC=HS
#pragma config WDT = OFF
#pragma config MCLRE = OFF
Trang 5unsigned char Code7Seg[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
#define key PORTBbits.RB3
void main()
{
unsigned dem,chuc,dvi;
unsigned int i;
TRISB=0b00010000;
TRISC=0x00;
TRISD=0x00;
ADCON1=0x0f;
dem=0;
while(1)
{
chuc=dem/10;
dvi=dem%10;
PORTC=Code7Seg[chuc];
PORTDbits.RD0=0;
Delay1KTCYx(10);
PORTDbits.RD0=1;
PORTC=Code7Seg[dvi];
PORTDbits.RD1=0;
Delay1KTCYx(10);
PORTDbits.RD1=1;
if(key==1)
{
Delay1KTCYx(100);
if(key==1)
Trang 6{
dem++;
}
if(dem==99)
{
dem=0;
}
}
}
}
Tiếp tục code
#include<p18f4520.h>
#include<delays.h>
#pragma config OSC=HS
#pragma config WDT = OFF
#pragma config MCLRE = OFF
unsigned char Code7Seg[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
#define key PORTBbits.RB3
void main()
{
unsigned dem,chuc,dvi;
unsigned int i;
TRISB=0b00010000;
TRISC=0x00;
TRISD=0x00;
ADCON1=0x0f;
dem=0;
while(1)
{
Trang 7if(key==1)
{
Delay10KTCYx(20); {
dem++;
}
if(dem==99)
{
dem=0;
}
}
chuc=dem/10;
dvi=dem%10;
PORTC=Code7Seg[chuc]; PORTDbits.RD0=0;
Delay1KTCYx(10);
PORTDbits.RD0=1;
PORTC=Code7Seg[dvi]; PORTDbits.RD1=0;
Delay1KTCYx(10);
PORTDbits.RD1=1;
}
}