找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
#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);     
}}

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

使用道具 举报

沙发
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. }
复制代码



回复

使用道具 举报

地板
ID:155507 发表于 2019-9-15 06:48 | 只看该作者
程序中间那个display函数是数码管显示函数
回复

使用道具 举报

5#
ID:235200 发表于 2019-9-15 06:59 | 只看该作者
用于4位数码管显示的
回复

使用道具 举报

6#
ID:610231 发表于 2019-9-15 07:04 | 只看该作者
这是数码管显示吧,WE是位选,SEG是段选
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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