17年6个月前IP:未同步
120917
17楼
引用第15楼phpskycn于2009-07-08 01:24发表的  :
for应该只能放进一个
C++中精典的…
for(i=0,i<100,i++){
......
}
.......


C++没了解过,怎么是用逗号隔开的?

嘿,又花了几个小时时间,终于写出了我的第二个C程序:四数码管循环显示0~999,一开始以为很简单,就在原来的双数码管显示代码基础上小作修改,结果除了个位其它的怎么都是显示乱码,要么干脆几位不显示,想了好久没找到原因,后来尝试用“程序思维”一步步跟下去,终于发现了问题所在,一位数显示与两位数显示没有太大分别,可上了三位数就得区分了,关键在于区分“几位数”以及“取其位值”,虽然中间绕了很远,但,最终还是成功了,兴奋N久!
[s:232]
***********************我的第二个C程序:四数码管循环显示0~999*******************************
#include <iom48v.h>
#include <macros.h>
#include "delay.h"  
#include "led_dis.h"

#define Led_a 0b11111110
#define Led_b 0b11111101
#define Led_c 0b11111011
#define Led_d 0b11110111
#define Led_off 0b11111111

void main (void)
{
    DDRC=0xFF;
    DDRB=0xFF;
    DDRD=0xFF;
    PORTC=0xFF;
    PORTB=0xFF;
    PORTD=0xFF;
    while(1)
    {
    int a=0,b=0,c=0,d=0,e=0,Counter;
    
    for (Counter=0;e<10000;Counter=e++/2)     /*这两个参数决定了计数器的递增频率与总循环数*/
    {
        if(Counter<=999&&Counter>99)    /*三位数情况*/
        {
        d=Counter%10;
        c=Counter/10%10;
        b=Counter/100;
        }
        else if(Counter<=9999&&Counter>999)    /*四位数情况*/
        {
        d=Counter%10;
        c=Counter/10%100%10;
        b=Counter/100%10;
        a=Counter/1000;
        }
        else             /*一或两位数情况*/
        {
        d=Counter%10;
        c=Counter/10;
        }
                
        PORTD=DisTab[a];
        PORTC=Led_a;            /*点亮千位数码管*/
        Delay_ms(5);
        PORTD=DisTab[b];
        PORTC=Led_b;        /*点亮百位数码管*/
        Delay_ms(5);
        PORTD=DisTab[c];
        PORTC=Led_c;        /*点亮十位数码管*/
        Delay_ms(5);
        PORTD=DisTab[d];
        PORTC=Led_d;        /*点亮个位数码管*/
        Delay_ms(5);
        PORTC=Led_off;    /*关闭所有的数码管*/
        }
    }        
}
评论
文号 / 120917

万流景仰
名片发私信
学术分 11
总主题 73 帖总回复 986 楼拥有证书:学者 笔友
注册于 2008/03/23 23:15:00最后登录 2026/08/09 08:54:19
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:0

个人简介

暂未填写
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的