找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8452|回复: 5
收起左侧

这单片机程序中间那个display函数是干啥的?

[复制链接]
ID:583470 发表于 2019-9-14 21:12 | 显示全部楼层 |阅读模式
#include<reg52.h>

#define uint unsigned int
#define uchar unsigned char
#define SEG P0//P0.0开始一场接入a-h)
#define WE P2   // (P2.0开始依次接入1-4)

void delay (uint z)
{
      uint x,y;
      for(x = z;x > 0;x--)
      for(y = 110;y > 0;y--)
            {

            }
}
void display_led(uchar WEI,uchar NUM)
{
      uchar code scandate[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
      uchar code bitdate[] = {0xf7,0xfb,0xfd,0xfe};
      WE = bitdate[WEI-1];
      delay(5);
      SEG = scandate[NUM];
}

void main(void)
{      SEG = 0x00;
      WE = 0xff;
      while(1)
      {
      display_led(1,8);
      display_led(2,8);
      display_led(3,8);
      display_led(4,8);     
}}

回复

使用道具 举报

ID:583470 发表于 2019-9-14 21:12 | 显示全部楼层
数码管动态扫描
回复

使用道具 举报

ID:213173 发表于 2019-9-15 06:32 | 显示全部楼层
这是一个4位共阴极数码管动态驱动测试程序,display_led是显示函数,动态配置段码和位码就可以在数码管显示相应数字,给你改了一点,通过显示效果更易理解。
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. #define SEG P0//(P0.0开始一场接入a-h)
  5. #define WE P2   // (P2.0开始依次接入1-4)

  6. void delay (uint z)
  7. {
  8.         uint x,y;
  9.         for(x = z;x > 0;x--)
  10.                 for(y = 110;y > 0;y--);
  11. }
  12. void display_led(uchar WEI,uchar NUM)
  13. {
  14.         uchar code scandate[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  15.         uchar code bitdate[] = {0xf7,0xfb,0xfd,0xfe};
  16.         WE = bitdate[WEI-1];
  17. //        delay(5);
  18.         SEG = scandate[NUM];
  19. }

  20. void main(void)
  21. {
  22.         SEG = 0x00;
  23.         WE = 0xff;
  24.         while(1)
  25.         {
  26.                 display_led(1,5);
  27.                 delay(5);
  28.                 display_led(2,6);
  29.                 delay(5);
  30.                 display_led(3,7);
  31.                 delay(5);
  32.                 display_led(4,8);     
  33.                 delay(5);
  34.         }
  35. }
复制代码
无标题.jpg


回复

使用道具 举报

ID:155507 发表于 2019-9-15 06:48 | 显示全部楼层
程序中间那个display函数是数码管显示函数
回复

使用道具 举报

ID:235200 发表于 2019-9-15 06:59 | 显示全部楼层
用于4位数码管显示的
回复

使用道具 举报

ID:610231 发表于 2019-9-15 07:04 | 显示全部楼层
这是数码管显示吧,WE是位选,SEG是段选
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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