找回密码
 立即注册

QQ登录

只需一步,快速开始

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

初学者,一个简单的51数码管显示仿真

[复制链接]
跳转到指定楼层
楼主
Protues仿真的51单片机控制8个数码管进行显示

仿真效果.png (79.42 KB, 下载次数: 50)

仿真效果.png

4.数码管封装尝试.zip

39.74 KB, 下载次数: 18, 下载积分: 黑币 -5

8数码管仿真

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:1 发表于 2016-12-5 16:08 | 只看该作者
楼主的源码:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. sbit DTData=P2^6;
  6. sbit DTCtrl=P2^7;
  7. //共阴管8根数据线,8个管     
  8. //高电平控制管子的选择,低电平控制亮灭
  9. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  10. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
  11. 0x40};
  12. uchar code position[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};
  13. void delayms(uint xms)
  14. {   
  15.         uint i,j;
  16.         for(i=xms;i>0;i--)
  17.                 for(j=110;j>0;j--)
  18.                 {;}
  19. }

  20. void dtshow(uchar digit,uchar dat)
  21. {
  22.         uchar dat1=dat;       
  23.         P0=0;
  24.         P0=position[digit];
  25.         DTCtrl=1;
  26.         DTCtrl=0;

  27.         P0=0x0;
  28.         P0=table[dat1];
  29.         DTData=1;       
  30.         DTData=0;
  31.         DTData=0;
  32.         delayms(1);
  33. }

  34. void dtshowstring(uchar datstring[])
  35. {
  36.         uchar k=8;
  37.         uchar temp;
  38.         for(k=0;k<8;k++)
  39.         {
  40.                 temp=datstring[k];
  41.                 dtshow(k,temp);
  42.                 delayms(1);
  43.         }
  44. }
  45. void main()
  46. {
  47.         uchar num=0;
  48.         uint tnum=0;
  49.         uchar numstring[]={1,2,16,4,5,16,7,8,9,3};
  50.         while(1)
  51.         {
  52.                 for(tnum=50;tnum>0;tnum--)
  53.                 {
  54.                         for(num=0;num<8;num++)
  55.                         {
  56.                                 dtshowstring(numstring);
  57.                         }
  58.                 }
  59.                 delayms(500);
  60.         }
  61. }            

复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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