找回密码
 立即注册

QQ登录

只需一步,快速开始

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

译码器控制数码管 为什么这个程序,无法把ledbuff[]的值赋给P0?

[复制链接]
跳转到指定楼层
楼主

为什么这个程序,无法把ledbuff[]的值赋给P0?

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uchar ledbuff[8]={
0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00};
sbit SA=P1^0;
sbit SB=P1^1;
sbit SC=P1^2;
uint time=0;
ulong sec=0;
uchar i=0;                                
void main()
{        TMOD=0x01;
    TH0=(65536-1000)/256;
    TL0=(65536-1000)%256;
    TR0=1;
        while(1)
         {
          if(TF0==1)
            {
                         TF0=0;
                        TH0=(65536-2000)/256;
            TL0=(65536-2000)%256;
                        time++;
                        if(time>=1000)
                          {
                                   time=0;
                                sec++;
                                ledbuff[0]=table[sec%10];
                                ledbuff[1]=table[sec/10%10];
                                ledbuff[2]=table[sec/100%10];
                                ledbuff[3]=table[sec/1000%10];
                                ledbuff[4]=table[sec/10000%10];
                                ledbuff[5]=table[sec/100000%10];
                                ledbuff[6]=table[sec/1000000%10];
                                ledbuff[7]=table[sec/10000000%10];
                          }
                         switch(i)
                                {case 0:SC=1;SB=1;SA=1;P0=ledbuff[0];break;
                                 case 1:SC=1;SB=1;SA=0;P0=ledbuff[1];break;
                                 case 2:SC=1;SB=0;SA=1;P0=ledbuff[2];break;
                                 case 3:SC=1;SB=0;SA=0;P0=ledbuff[3];break;
                                 case 4:SC=0;SB=1;SA=1;P0=ledbuff[4];break;
                 case 5:SC=0;SB=1;SA=0;P0=ledbuff[5];break;
                                 case 6:SC=0;SB=0;SA=1;P0=ledbuff[6];break;
                             case 7:SC=0;SB=0;SA=0;P0=ledbuff[7];break;        
                             default :break;           
                        }                             
                }        

         }

}


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

使用道具 举报

沙发
ID:1 发表于 2017-3-23 19:00 | 只看该作者
现在程序运行有什么效果?
回复

使用道具 举报

板凳
ID:111634 发表于 2017-3-23 21:05 | 只看该作者
极简单的功能,极复杂的程序!不知老师是怎么教的,学生是怎么学的?
回复

使用道具 举报

地板
ID:182878 发表于 2017-3-23 21:07 | 只看该作者
看到头晕 。有点乱
回复

使用道具 举报

5#
ID:155598 发表于 2017-3-30 16:07 | 只看该作者
admin 发表于 2017-3-23 19:00
现在程序运行有什么效果?

发现错误了,就是switch里面的的错误,改成外部循环就行了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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