⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7seg.c

📁 EX5_7SEG: (数码管) 8位数码管显从左至右依次显示0-7。
💻 C
字号:
/*******************************************************************
 *                                                                  *
 * ME850单片机开发实验仪演示程序 - 8位数码管显示                      *
 *                                                                  *
 * 8位数码管从右至左显示 0-7                                        *
 *                                                                  *
 * 版本: V1.0 (2008/07/20)                                         *
 * 作者: gguoqing (Email: gguoqing@willar.com)                     *
 * 作者: gguoqing (gguoqing@willar.com)                            *
 * 网站: www.sofi-tech.com(硕飞科技) www.mcusj.com(伟纳单片机世界) *
 * 邮箱: sofitech@tom.com                                        *
 *                                                                  *
 *【版权】Copyright(C)伟纳电子 www.willar.com  All Rights Reserved  *
 *【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!        *
 *                                                                  *
 *******************************************************************/
#include <reg52.h>
#include <intrins.h>

char code reserve[3]_at_ 0x3b; //保留0x3b开始的3个字节给ICE52

// 7段显示代码
unsigned char code display[] =
{
  0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90
};

/**********************************************************

 延时子程序

 **********************************************************/
void delayms( unsigned int ms )
{
  unsigned char k;
  while (ms--)
  {
    for (k = 0; k < 114; k++)
      ;
  }
}

/**********************************************************

 显示函数

 **********************************************************/
void main(void)
{
  unsigned char k, shift;

  P0 = 0xff;                    //端口初始化
  P2 = 0xff;

  while (1)
  {
    shift = 0xfe;               //位扫描初值
    P2 = 0xff;                  //关闭显示
    for (k = 0; k < 8; k++)
    {
      P0 = display[k];          //送段码
      P2 = shift;               //送位码
      shift = _crol_(shift, 1); //左移一位,修改位码
      delayms(1);               //延时1ms
    }
  }
}

 /**********************************************************/

⌨️ 快捷键说明

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