[疑难问答] 帮忙优化下程序

[复制链接]
3028|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 | 显示全部楼层
很久都没有编过程序了,感觉生疏了
 楼主| huamunv 发表于 2009-10-24 21:42 | 显示全部楼层
2# 称序匠人
谢谢,给我提了醒
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

730

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部