锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

8位共阴数码管动态扫描自增自减

时间:2024-05-23 00:07:10

#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit duan=P2^2;//定义P2.2为段操作,爱设置哪个都行
sbit wei=P2^3;//定义P2.3为位操作
/*------------------------------------------------
程序主要作用于动态扫描,没什么实际应用
----------------------查表表格--------------------------*/

unsigned char code shuzhi[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
};//数字表0123456789abcdef定义进RAM
unsigned char code weizhi[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f
};//共阴位置表01234567定义进RAM
unsigned char huanchong[8];//定义一个一维数组做为缓冲区
/*---------------------------定义进入ROM
函数声明
------------------------------------------------*/
void yeishi(unsigned int t); //函数声明
/*------------------------------------------------
主函数
------------------------------------------------*/
main ()
{

unsigned char i,j;
//定义一个char型变量 i 取值范围 0~255,如果定义j为unsigned long int就可以实现0~4294967295
while (1) //主循环
{
j=0;
j++; //j不断加1,直到255溢出,如果改成--j就是自减

for(i=0;i<8;i++)//for循环,i初始为0自加小于8,0-7
{
///////////////拆分数j//////////////////////////
huanchong[0]=shuzhi[j/100];
huanchong[1]=shuzhi[(j/10)%10];
huanchong[2]=shuzhi[j%10];
////////通过数学运算得到每个位的数值并赋值给缓冲区因为只有255三位
只定义三位
别问我为什么要这样算,我数理化英都不好,没看见我的变量定义全是拼音么?而且我都不能保证
拼音是对的
有一定规律:
huanchong[0]=shuzhi[j/10000000];
huanchong[1]=shuzhi[(j/1000000)%10];
huanchong[2]=shuzhi[(j/100000)%10];
huanchong[3]=shuzhi[(j/10000)%10];
huanchong[4]=shuzhi[(j/1000)%10];
huanchong[5]=shuzhi[(j/100)%10];
huanchong[6]=shuzhi[(j/10)%10];
huanchong[7]=shuzhi[j%10];
////////////////////只用P0口,P0的定义已经在头文件里面了////////////*/
P0=weizhi[i];
wei=1;//位开关,1为开,0为关
wei=0;
P0=huanchong[i];//通过前面的运算,调用缓冲区数值
duan=1;//段开关,1为开,0为关
duan=0;
yeishi(300);//延时函数调用设置为300,按情况定,越大没效果,越小有重影
}

}
}
/*------------------------------------------------
含有输入参数 unsigned int t,无返回值 unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------*/

void yeishi(unsigned int t)
{
while(--t);
}

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章