效果
在单个数码管上跳动数字,0至9
包含文件 如下
seg.c
delay.c
delay.h
//seg.c
#include <reg52.h>
#include <intrins.h>
#include "delay.h"
#define SEGPORT P0
unsigned char segdata[16] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E};
void main()
{
unsigned char i;
while(1)
{
for(i = 0; i < 16; i++)
{
SEGPORT = segdata[i];
delay_s(1);
}
}
}
//delay.c
void delay_us(unsigned char t)
{
while(--t);
}
void delay_ms(unsigned char t)
{
while(t--)
{
delay_us(245);
delay_us(245);
}
}
void delay_s(unsigned char t)
{
while(t--)
{
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
}
}
//delay.h
#ifndef _DELAY_H
#define _DELAY_H
extern void delay_us(unsigned char t);
extern void delay_ms(unsigned char t);
extern void delay_s(unsigned char t);
#endif