前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单片机入门:单个数码管显示动态数字

单片机入门:单个数码管显示动态数字

作者头像
电子工程师成长日记
发布2022-07-21 15:45:20
6620
发布2022-07-21 15:45:20
举报

本文通过仿真原理图设计和程序设计,实现了单个数码管显示0-9,显示数字动态显示。

仿真原理图采用protues8.7设计,特别注意P0口需要外接上拉电阻,以及引脚与单片机IO口的连接。具体如图。

本设计的代码采用KEIL5设计,具体如下:

代码语言:javascript
复制
/*-----------------------------------------------
  名称:单个共阳数码管动态显示变化数字
  内容:通过循环赋值给P1,让数码管显示特定的字符或者数字
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

unsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
 // 显示数值表0-9

void Delay(unsigned int t); //函数声明
/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{
                  
unsigned char i;  //定义一个无符号字符型局部变量 i 取值范围 0~255

  while (1)         //主循环
  {
    for(i=0;i<10;i++)   //加入 for循环,表明for循环大括号中的程序循环执行10次
    {
      P0=dofly_table[i]; //循环调用表中的数值
      Delay(60000);      //延时,方便观看数字变化
    }
   //主循环中添加其他需要一直工作的程序
  }
}/*------------------------------------------------
 延时函数,含有输入参数 unsigned int t,无返回值
 unsigned int 是定义无符号整形变量,其值的范围是
 0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
  while(--t);
}

结合仿真和程序,本设计的仿真视频如下:

http://mpvideo.qpic.cn/0bf2k4alwaaa7qalpbto4zpvav6dxnlqboya.f10002.mp4?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子工程师成长日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档