找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 14307|回复: 2
收起左侧

单片机实验——动态8位数码管显示生日

[复制链接]
ID:108852 发表于 2016-4-2 15:51 | 显示全部楼层 |阅读模式
3.4.1实验电路与原理说明(电路原理图,Protues
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps7CE7.tmp.jpg

说明:有p1口控制数码管的的位选,p2口控制每个数码管的段选,采用扫描式显示。
3.4.2程序流程图

3.4.3源程序清单
#include <reg51.h>
void delay(unsigned int i);      //函数声名
void display ();
//此表为 LED 的字模, 共阴数码管 0-9  -
unsigned char code   Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};  //段码控制
//此表为8个数码管位选控制, 共阴数码管 1-8个  -
unsigned char code   dispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};    //位选控制   查表的方法控制
unsigned char date[8]={1,9,9,3,0,8,1,2};//显存
  void main()
   {
     int k;int j;unsigned char tem;
         while(1)
   {        
           for (k=0;j<200;j++)
           {
            display ();
           }
         tem=date[0];
         for (j=0;j<7;j++)
           {
             date[j]=date[j+1];
                 }
                  date[7]=tem;
           }
    }
        void display ()
{
  int i;
  for (i=0;i<8;i++)
    {
      P1=dispbit[ i];
     P0=Disp_Tab[date];
      delay(50);  
          P0=0x00;
            delay(5);
    }
}
        void delay(unsigned int t)           //延时
{
while(--t);
}

评分

参与人数 1黑币 +30 收起 理由
admin + 30

查看全部评分

回复

使用道具 举报

ID:108852 发表于 2016-4-2 15:56 来自手机 | 显示全部楼层
啦啦啦
回复

使用道具 举报

ID:756763 发表于 2020-5-20 18:16 | 显示全部楼层
补图?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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