找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求解,用一个数码管显示8个独立按键

[复制链接]
跳转到指定楼层
楼主
ID:71311 发表于 2014-12-29 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"reg51.h"
#define smg P0
#define key P1
#define uchar unsigned char
#define uint unsigned int
unsigned char code sz[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uchar k);

   void main(void)
   {


     while(1)
         {
         


         switch(key)
          {
             case 0x01:
                            smg=~sz[1];break;
              case 0x02:
                            smg=~sz[2];break;
                 case 0x04:
                            smg=~sz[3];break;
                 case 0x08:
                            smg=~sz[4];break;
                 case 0x10:
                            smg=~sz[5];break;
              case 0x20:
                            smg=~sz[6];break;
                 case 0x40:
                            smg=~sz[7];break;
                 case 0x80:
                            smg=~sz[8];break;
           }
          }
        }
程序下载到单片机上,好像不运行
               

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

使用道具 举报

沙发
ID:71322 发表于 2014-12-29 15:33 | 只看该作者
P1口没按下键应该是高电平吧,按下键为低电平,所以KEY的值需反向,比如0x01改为0xFE
回复

使用道具 举报

板凳
ID:71260 发表于 2014-12-29 22:22 来自手机 | 只看该作者
输入1才能读取
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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