找回密码
 立即注册

QQ登录

只需一步,快速开始

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

下面这个程序不太懂

[复制链接]
跳转到指定楼层
楼主
ID:35523 发表于 2015-7-28 20:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;//138译码器的数据输入端
sbit ADDR3=P1^3;
sbit ENLED=P1^4;//138译码器的使能端

sbit KEY1=P2^4;
sbit KEY2=P2^5;
sbit KEY3=P2^6;
sbit KEY4=P2^7;
unsigned char code LedChar[] = {0xc0,0xf9,0xa4,0xb0,
                                                0x99,0x92,0x82,0xf8,
                                                                0x80,0x90,0x88,0x83,
                                                                0xc6,0xa1,0x86,0x8e};
void main()
{
        bit backup=1;
        unsigned char cnt=0;
        ENLED=1;
        ADDR3=0;
        ADDR2=1;
        ADDR1=1;
        ADDR0=0;
        P2=0xf7;
        P0=LedChar[cnt];
        while(1)
        {
                if(KEY4!=backup)//backup 在上面定义是1
                {
                        if(backup==0)//backup 是如何等于0的?
                        {
                                cnt++;
                                if(cnt==10)
                                {
                                        cnt=0;
                                }
                                P0=LedChar[cnt];
                        }
                        backup=KEY4;
                }
        }
}                                                               



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

使用道具 举报

沙发
ID:1 发表于 2015-7-28 21:45 来自手机 | 只看该作者
楼主有电路图吗?看起来像是一个数码管显示程序
回复

使用道具 举报

板凳
ID:7485 发表于 2015-7-29 11:36 | 只看该作者
楼主也太吝啬字了吧?那地方“不太懂”?
回复

使用道具 举报

地板
ID:7485 发表于 2015-7-29 11:43 | 只看该作者
本帖最后由 ahshmj 于 2015-7-29 11:48 编辑

backup=KEY4;是读键,如果有键按下backup就会=0。
但是感觉程序有点不妥呢?
回复

使用道具 举报

5#
ID:79544 发表于 2015-7-29 13:07 | 只看该作者
  1. if(KEY4!=backup)//backup 在上面定义是1
  2.                 {
  3.                         if(backup==0)//backup 是如何等于0的?//应该是按键的次数
  4.                         {
  5.                                 cnt++;//显示的数自加
  6.                                 if(cnt==10)//当加到9
  7.                                 {
  8.                                         cnt=0;//从0开始
  9.                                 }
  10.                                 P0=LedChar[cnt];//显示
  11.                         }
  12.                         backup=KEY4;
复制代码
//按得次数等于按键
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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