6903|6

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

怎样用八个二极管演示八位二进制数累加的过程 [复制链接]



如题,最近在学单片机,却在刚入门儿的时候被一个似乎是很简单的程序给卡到这儿了。
我自己想的是这样的。
#include<reg52.h>
#define uint unsigned int
sbit a=P1;
void delay(uint);
main()
{
  while(1)
  {
      a=0xfe;
      while(a!=0x00)
      {
         delay(20);
         a--;
      }
  delay(20);
}
}
void delay(uint z)
{
    uint x,y;
    for(x=110;x>0;x--)
       for(y=z;y>0;y--);
}
结果是错误的,显示的是
1.C(13): error C193: '--': illegal operation on bit(s)
这样的一条提示信息。
高手指点下。似乎是说a不能这么减,那这个程序改怎么写?
此帖出自stm32/stm8论坛

最新回复

#include #define ui unsigned int #define uc unsigned char #include void delay (ui); sbit n1=P2^4; void main() {         uc add;         n1=0;         while (1)                 {                 add=0xfe;                 for(P1=add;P1>0x00;P1--)                 delay (300);                 } } void delay (ui z) {     ui x,y;         for(x=100;x>0;x--)                 for(y=z;y>0;y--);   }  详情 回复 发表于 2011-8-13 20:28
点赞 关注
 

回复
举报

85

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 占座,帖子顶起,等待回答。。。
此帖出自stm32/stm8论坛
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 sbit 是C51中定义位变量用的,这一位可以使0或者1。不能进行自减操作。你根本不用sbit 操作,直接用P1就可以了。
此帖出自stm32/stm8论坛
 
 

回复

79

帖子

0

TA的资源

一粒金砂(高级)

4
 
先试一下。。。。
寒自己一个。。。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
3楼正解!
问题可以关闭。
谢谢!!!
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(中级)

6
 
                                 可以用define定义,我也刚学。
此帖出自stm32/stm8论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 6楼 xxlest 的帖子

#include
#define ui unsigned int
#define uc unsigned char
#include
void delay (ui);
sbit n1=P2^4;
void main()

{
        uc add;
        n1=0;
        while (1)
                {
                add=0xfe;
                for(P1=add;P1>0x00;P1--)
                delay (300);
                }
}



void delay (ui z)

{
    ui x,y;
        for(x=100;x>0;x--)
                for(y=z;y>0;y--);  
}
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表