找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机控制数码管显示按键数字左移的Proteus仿真+程序

[复制链接]
跳转到指定楼层
楼主
ID:343749 发表于 2019-4-15 11:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
led8位数码管显示按键数字,同时数字左移



单片机源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
  6. uchar  Display_Buffer[]={16,16,16,16,16,16,16,16} ;
  7. void delay(uint z)
  8. {
  9.         uint x,y;
  10.         for(x=z;x>0;x--)
  11.                 for(y=110;y>0;y--);
  12. }
  13. kscan(void)
  14. {
  15.         uchar i,temp,num=16;
  16.         for(i=0;i<4;i++)
  17.         {
  18.                 P3=_crol_(0xef,i);
  19.                 temp=P1;
  20.                 temp=temp&0x0f;
  21.                 if(temp!=0x0f)
  22.                 {
  23.                         delay(20);
  24.                         temp=P1;
  25.                         temp=temp&0x0f;
  26.                         if(temp!=0x0f)
  27.                         {
  28.                                  temp=(P3&0x0f0)|(P1&0x0f);
  29.                                 switch(temp)
  30.                                 {
  31.                                         case 0xe7:num=0;break;
  32.                                         case 0xeb:num=4;break;
  33.                                         case 0xed:num=8;break;
  34.                                         case 0xee:num=12;break;
  35.         
  36.                                         case 0xd7:num=1;break;
  37.                                         case 0xdb:num=5;break;
  38.                                         case 0xdd:num=9;break;
  39.                                         case 0xde:num=13;break;
  40.         
  41.                                         case 0xb7:num=2;break;
  42.                                         case 0xbb:num=6;break;
  43.                                         case 0xbd:num=10;break;
  44.                                         case 0xbe:num=14;break;
  45.         
  46.                                         case 0x77:num=3;break;
  47.                                         case 0x7b:num=7;break;
  48.                                         case 0x7d:num=11;break;
  49.                                         case 0x7e:num=15;break;
  50.                                         default:break;
  51.                                 
  52.                                 }
  53.                                 while((temp&0x0f)!=0x0f)
  54.                                 {
  55.                                         temp=P1;
  56.                                 }
  57.                         }
  58.                 }
  59.         }
  60.    return num;
  61. }

  62. void main()
  63. {
  64.          int k,m=0x7f,num;
  65.         P0=0x00;
  66.         P2=0xff;
  67.         while(1)
  68.         {
  69.                 num=kscan();
  70.                 if(num!=16)
  71.                 {
  72.                         for(k=1;k<8;k++)
  73.                         {
  74.                                 Display_Buffer[k-1]=Display_Buffer[k];
  75.                         }
  76.                         Display_Buffer[7]=num;
  77.                         num=16;
  78.                 }
  79.                 for(k=0;k<8;k++)
  80.                 {
  81.                         m=_crol_(m,1);
  82.                         P2=m;
  83.                         P0=table[Display_Buffer[k]];
  84.                         delay(2);
  85.                 }
  86.         }
  87. }
复制代码

所有资料51hei提供下载:
sy5.zip (75 KB, 下载次数: 36)


评分

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

查看全部评分

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

使用道具 举报

沙发
ID:623917 发表于 2019-10-22 23:10 | 只看该作者
为什么没有dns文件
回复

使用道具 举报

板凳
ID:623917 发表于 2019-10-22 23:11 | 只看该作者
为什么没有dns文件
回复

使用道具 举报

地板
ID:328014 发表于 2019-10-22 23:47 | 只看该作者
q348034246 发表于 2019-10-22 23:10
为什么没有dns文件

Proteus新版都是pdsprj文件了,dsn文件已经放弃了
回复

使用道具 举报

5#
ID:618753 发表于 2019-10-25 16:26 | 只看该作者
楼主很给力,帮助很大
回复

使用道具 举报

6#
ID:34298 发表于 2019-10-25 22:30 | 只看该作者
补充楼主的仿真    矩阵式键盘按键值的数码管左移动显示

矩阵式键盘按键值的数码管左移动显示实验WinRAR ZIP 压缩文件.zip

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

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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