求大神帮忙看一下我的单片机程序错在哪? 10

#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbi... #include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit data_595si =P1^0;
sbit clk_595srck =P1^4;
sbit e_595rck =P2^3;

void write_byte_74hc595(uchar dat)
{
uchar i;
e_595rck=0;
for(i=0;i<8;i++)
{
clk_595srck=0;
data_595si=(dat<<i)&0x80;
clk_595srck=1;
}
e_595rck=1;
data_595si=1;
}
void delay(uint x)
{
for(;x>=0;x--);
}
void main()
{
P1=0xfe;
delay(1000);
while(1)
{
P1=_crol_(P^1,1);
delay(1000);
}
}
展开
 我来答
VX_JJJackie2
2018-01-16 · 超过27用户采纳过TA的回答
知道答主
回答量:57
采纳率:72%
帮助的人:17.4万
展开全部

1.74HC595是串行移位寄存器,通常用于串转并拓展IO口,你这边定义了74HC595的代码,但是并没有使用。

2.看主函数的意思是要实现流水灯吧,_crol_()是左移末尾补1函数

P1=_crol_(P^1,1); //应该改为P1=_crol_(P1,1);
更多追问追答
追问
第一条写进去也不影响执行啊,第二条我改了还是不能烧录到单片机中
第一条写进去也不影响执行啊,第二条我改了还是不能烧录到单片机中
11kxmx
2018-01-16 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.2万
采纳率:70%
帮助的人:2434万
展开全部
这是什么 P1=_crol_(P^1,1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是先来看看的
2018-01-15
知道答主
回答量:45
采纳率:60%
帮助的人:10.9万
展开全部
data_595si=(dat>>(7-i))&0x01;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxiufan
2018-01-15 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38379
国家科技进步奖

向TA提问 私信TA
展开全部
P1=_crol_(P^1,1);这是错误的。
P1=_crol_(P1,1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式