• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

关于C51的几个问题请教

第一次使用C语言编写51程序,遇到几个问题不明白如何处理:
1.定义一个8BIT的变量COM20,在程序运行过程中需要单独对COM20的各个BIT操作,如何处理,该怎么定义这个变量,比如要将COM20第5位置1?
2.在汇编中NOP怎么才能用在C51中??
请高手指教,谢谢!!
全部回复(9)
正序查看
倒序查看
少帅
LV.5
2
2007-01-16 17:13
COM20^1 就是第一位
COM20^2 就是第二位
........

and so on
0
回复
xhm909
LV.4
3
2007-01-16 22:01
@少帅
COM20^1就是第一位COM20^2就是第二位........andsoon
我在头文件中定义了unsigned char COM20;
但是在程序中COM20^5=0;
编译不过,提示“=”出错了,不明白怎么错了
0
回复
2007-01-17 11:01
@xhm909
我在头文件中定义了unsignedcharCOM20;但是在程序中COM20^5=0;编译不过,提示“=”出错了,不明白怎么错了
#include

sbit com20_5=com20^5;

void main(void)
{
  _nop_();
  com20_5=0;
}
0
回复
xhm909
LV.4
5
2007-01-17 12:26
@我爱电源网
#includesbitcom20_5=com20^5;voidmain(void){  _nop_();  com20_5=0;}
感谢2楼与4楼的指点,谢谢
0
回复
fei90
LV.7
6
2007-01-17 20:39
@xhm909
感谢2楼与4楼的指点,谢谢
请各们朋友帮忙想想:
大家都知道流水灯,跑马灯程式怎么编
那我现在要P1口八个LED灯从灭慢慢亮到全亮《5S》,再从全亮慢慢暗下来直到全部灭《5S》
也就是 灭-微微亮--微微亮-亮---最亮 再反过来
这个程式该怎么写呢?
0
回复
2007-01-18 10:44
@fei90
请各们朋友帮忙想想:大家都知道流水灯,跑马灯程式怎么编那我现在要P1口八个LED灯从灭慢慢亮到全亮《5S》,再从全亮慢慢暗下来直到全部灭《5S》也就是灭-微微亮--微微亮-亮---最亮再反过来这个程式该怎么写呢?
用个带PWM口的就OK啦!
0
回复
fei90
LV.7
8
2007-01-18 11:17
@我爱电源网
用个带PWM口的就OK啦!
带PWM口的???
楼上兄弟能否推荐一下具体的IC
不知有没有8PIN或14PIN的
0
回复
2007-01-18 12:10
@fei90
带PWM口的???楼上兄弟能否推荐一下具体的IC不知有没有8PIN或14PIN的
PIC16F系列 14PIN 的随便选一款就行
很好用!我用过684很好用!
0
回复
sdjufeng
LV.6
10
2007-01-20 10:05
上面几位朋友的方法你试验过了吗?能行吗?
你应该这样:
unsigned bdata com20;
sbit c23=com20^3;
......
com20^0=1;   //引用方式1
if (c23=0)   //引用方式2
  ...
0
回复