![]() |
man1234567 发表于 2023-11-6 08:13 感谢大佬指正 |
标点错的地方太多了。![]() #include<reg51.h> #define uchar unsigned char sbit L1=P1^0; sbit L2=P1^1; sbit L3=P1^2; sbit L4=P1^3; uchar dis[16]={0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; unsigned int time; void delay(time) { unsigned int j; for(j=0;j<time;j++); } main() { uchar temp; uchar i; while(1) { P1=0xef; for(i=0;i<=3;i=i++) { if (L1==0) P0= dis[i*4+0]; if (L2==0) P0= dis[i*4+1]; if (L3==0) P0= dis[i*4+2]; if (L4==0) P0= dis[i*4+3]; delay(500); temp=P1; temp=temp|0x0f; temp=temp<<1; temp=temp|0x0f; P1=temp; } } } |
把
改为
|
#include<reg51.h> #define uchar unsigned char sbit L1=P1^0; sbit L2=P1^1; sbit L3=P1^2; sbit L4=P1^3; uchar dis[16]={0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; unsigned int time; void delay(time) { unsigned int j; for(j=0;j<time;j++) {} } void main() { uchar temp; uchar k,i; while(1) { P1=0xef; for(i=0;i<=3;i=i++) { if (L1==0) P0= dis[i*4+0]; if (L2==0) P0= dis[i*4+1]; if (L3==0) P0= dis[i*4+2]; if (L4==0) P0= dis[i*4+3]; delay(500); temp=P1; temp=temp|0x0f; temp=temp<<1; temp=temp|0x0f; P1=temp; } } } 已进行修改,可通过编译,不保证运行。 主要问题:符号错乱,包括但不限于丢失、全角、错用等。 个人感觉:搞科研的如果不细心不如不做,不喜欢自己检查的不如不玩。 |
P0没上拉电阻 |
我自己写了个代码,但是为什么运行出来不对,有两个警报 #include<reg51.h>, #define uchar unsigned char sbit L1=P1^0; sbit L2=P1^1; sbit L3=P1^2; sbit L4=P1^3; uchar dis[16]={0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,oxa1,0x86.0x8e}; unsigned int time; delay(time) { unsigned int j; for(j=0;j<time;j++) {} } main() { uchar temp; uchar k,i; while(1) { P1=0xef; for(i=0;i<=3;i=i++) { if (L1==0) P0= dis[i*4+0]; if (L2==0) P0= dis[i*4+1]; if (L3==0) P0= dis[i*4+2]; if (L4==0) P0= dis[i*4+3]; delay(500) temp=P1; temp=temp|0x0f; temp=temp<<1; temp=temp|0x0f; P1=temp; } } } |