基本的单片机C语言编程问题P1=0xff高电平

对一个引脚带的灯置0或1,用sbitlight=p2^0;light=0;light=1就可以了,分别是亮灭。但对整个P2口8个灯同时置0或1,用P2=0x00,p2=0... 对一个引脚带的灯置0或1,
用sbit light=p2^0;light=0;light=1就可以了,分别是亮灭。
但对整个P2口8个灯同时置0或1,用P2=0x00,p2=0xff,
这个ff是255,为什么不是P2=0x01呢?
新学单片机不是很明白。
展开
 我来答
意法半导体(中国)投资有限公司 2023-06-12
展开全部
char seg7[10]={0xc0,0xf9,0xa4,0xb0,0x9,0x92,0x82,0xf8,0x80} sbit w1=b2^0; sbit w2=b2^1; sbit k1=b3^0; /=1表示键盘按下 char count; void main(){ char flg=0; count =0; P0=0xf; /P0口接共阳极数码管,则低电平LED亮 w1=0; w2=0; /高电平LED亮 while(1){ P0=seg7[count/10];w1=1;w2=0; /显示十位 if(k1=0 & flg=0) flg=1; /键盘按下 delaymS(20); /延时20mS P0=seg7[count%10];w1=0;w2=1; /显示个位 if(k1=0 & flg=1) flg=2; /键盘按下有效 delaymS(20); /延时20mS if(k1=1 & flg=2) /键盘抬起 { count+; flg=0;} if(count>9)count=0; w1=0; w…
百度网友5ffd0d3
2013-09-11 · TA获得超过717个赞
知道小有建树答主
回答量:386
采纳率:100%
帮助的人:241万
展开全部
51单片机是8位的,意思就是每一组端口都有8个位;转换成2进制为1111 1111,10进制为255,16进制为0xff,
比如我现在要让P1口全亮(高电平为亮),那么是不是P1^0到P1^7这个8个端口全部为1,那么就为:
P1 = 2#1111 1111;但是在keil软件中不可以用2进制表示,那么我们就用10进制或16进制来赋值,
P1 = 0XFF;
P1 = 255;
如果 P1 = 0X01,这个意思就是P1^0这个端口为1,其它的端口都为0;
你主要是进制没学好,回去复习下各种进制转换就好了.
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机原理及其应用是一门研究将计算机和数字电子技术应用于具体实践中的学科,主要包括单片机的结构、工作原理、指令系统、汇编语言程序设计、C语言程序设计、嵌入式系统及其开发环境、抗干扰技术、数模与模数转换技术、单片机应用系统的开发等内容。单片机... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
cakoii
推荐于2017-11-26 · TA获得超过2852个赞
知道大有可为答主
回答量:1404
采纳率:85%
帮助的人:1122万
展开全部
P2=0xFF,就是将P2.0~P2.7全部设为1,也就是P2=11111111,当然就不是P2=0x01了咯.
十六进制的0xFF就是二进制的11111111,你换算成十进制就是255.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式