ex5_2.c

来自「单片机应用技术(C语言版)程序源代码.rar」· C语言 代码 · 共 32 行

C
32
字号
//程序:ex5_2.c
//功能:六位数码管动态显示“012345”
#include <reg51.h>
//函数名:delay50ms
//函数功能:采用定时器1、工作方式1实现50ms延时,晶振频率12MHz
//形式参数:无 
//返回值:无
void delay50ms()
{  
   TH1=0x3c;		// 置定时器初值
   TL1=0xb0;
   TR1=1;		// 启动定时器1
   while(!TF1);		// 查询计数是否溢出,即定时到,TF1=1
   TF1=0;		// 50ms定时时间到,将定时器溢出标志位TF1清零
}
void main()		//主函数
{
   unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92};		//设置数字0~5字型码
   unsigned char i,w;
   TMOD=0x10;		//设置定时器1工作方式1
   while(1) {
      w=0x01;		//位选码初值为01H
      for(i=0;i<6;i++)
      {
         P2=~w;		//位选码取反后送位控制口P2口
         w<<=1;		//位选码左移一位,选中下一位LED
         P1=led[i];	//显示字型码送P1口
         delay50ms();	//延时50ms
      }
            }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?