适用于国信长天开发板
#include<reg51.h> // 包含51单片机寄存器定义的头文件
#include<intrins.h>
#define uint unsigned int
sbit buzz=P0^6;
/**************************************************
函数功能:d延时函数,延时一段时间
***************************************************/
void delay(int x) //延时Xms
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++); //大约1ms
}
/**************************************************
函数功能:主函数
***************************************************/
void main(void)
{
unsigned char temp;
unsigned char code
Tab[]={0x80,0xc0,0xc6,0x92,0xf9};
//数码管显示0~9的段码表,程序运行中当数组值不发生变化时
//前面加关键字code ,可以大大节约单片机的存储空间
P2=0xa0; //令蜂鸣器的锁存器打开
buzz=0;
temp=0x01; //设定中间变量temp
while(1) //无限循环
{ int i;
for(i=0;i<5;i++)
{
P2=0xc0; //位选,令com公共端的锁存器打开
P0=temp; //控制哪个数码管亮
P2=0xe0; //令数码管的锁存器打开
P0=Tab; //让P0口输出数字的段码
// temp=temp<<1; //左移一位
temp=_crol_(temp,1); //左移一位
delay(1); //调用延时函数
}
temp=0x01; //当移到最左端时,再设定temp,重新开始
}
}