找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17620|回复: 0
打印 上一主题 下一主题
收起左侧

数码管使用数组的方法控制共阴极数码管显示1-10,A-F

[复制链接]
跳转到指定楼层
楼主
ID:80436 发表于 2015-5-22 01:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

********************数码管****************
/*本程序使用数组的方法控制共阴极数码管显示1-10,A-F*/
/*作者 谢海斌    2010.12.21            */
#include <REG52.h> //51头文件
#define sm P1 //设置LED连接的I/O组
unsigned char table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//使用数组的方法能有效减少代码存储空间
**************** 延时函数*****
void delay(unsigned int a)
{
unsigned int i;  
while(--a!=0)
{
for(i=0;i<=600;i++);
}
}
void main()
{
while(1)
{
sm=table[0];
delay(200);//200毫秒
sm=table[1];
delay(200);
sm=table[2];
delay(200);
sm=table[3];
delay(200);
sm=table[4];
delay(200);
sm=table[5];
delay(200);
sm=table[6];
delay(200);
sm=table[7];
delay(200);
sm=table[8];
delay(200);
sm=table[9];
delay(200);
sm=table[10];
delay(200);
sm=table[11];
delay(200);
sm=table[13];
delay(200);
sm=table[0];
delay(14);
sm=table[15];
delay(200);
}
}
再来个AMTEL16L版本的

#include <iom16v.h>
#include <macros.h>


#define uchar unsigned char
#define uint  unsigned int
#pragma data:code
const table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
                           0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint MS)                  
{
uint i,j;
for( i=0;i<MS;i++)
for(j=0;j<1141;j++);        //1141是在8MHz晶振下,通过软件仿真反复实验得到的数值
}


void show(uchar data,uchar num)
{
        PORTB=table[data];
             PORTA|=BIT(3);//00001000
             PORTA&=~BIT(3);
       
            PORTB=0XFF;                 
             PORTB&=~BIT(num);//0XFE;
             PORTA|=BIT(4);
             PORTA&=~BIT(4);
            delay(1);
}
void main()
{
     uint i,j;
     DDRA=0XFF;
     DDRB=0XFF;
     PORTA|=BIT(6);
     


     while(1)
     {
      for(j=0;j<600;j++)
       {
        for(i=0;i<6;i++)
        {
          show((i+j/100)%6,i);     
        }
       }
     }


}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表