打印
[疑难问答]

帮忙优化下程序

[复制链接]
1652|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huamunv|  楼主 | 2009-10-23 22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个程序写的有缺陷,请各位大侠帮忙优化下。是个响应外部中断1的简单程序。

#include < reg52.h >
#define uchar unsigned char
sbit int1=P3^3;
unsigned char code  LEDData[11] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};                                    
unsigned char data  display[3] = {0x00,0x00,0x00};
unsigned char code  scan_bit[4] = {0xf7,0xfb,0xfd};
unsigned char count=0,a;
void delay(uchar x)
{
uchar k;
while(x--)
{
  for(k=0;k<100;k++);
}
}
void main(void)
{  
   char n;              
   EA=1;
   EX1=1;
   while(1)
   {
    for(n=0;n<3;n++)
{   
  P2=scan_bit[n];
  P0 =LEDData[display[n]] ;            
     delay(1);   
}
   }
}
void  counter(void) interrupt 2
{  
   count++;   
   while(!int1)
   {   
    a=count;
    display[2]=a/100;
    a=a%100;
    display[1]=a/10;
    display[0]=a%10;  
   }
}
沙发
称序匠人| | 2009-10-23 22:02 | 只看该作者
count 这个全局变量 你一直++ 是否考虑到它到255 最大后怎么办

使用特权

评论回复
板凳
laslison| | 2009-10-23 22:03 | 只看该作者
还能怎么简化

使用特权

评论回复
地板
suoma| | 2009-10-24 21:05 | 只看该作者
很久都没有编过程序了,感觉生疏了

使用特权

评论回复
5
huamunv|  楼主 | 2009-10-24 21:42 | 只看该作者
2# 称序匠人
谢谢,给我提了醒

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

730

帖子

1

粉丝