热门

最新

红包

立Flag

投票

同城

我的

发布
whylhd
寒岁
6 年前
truewhylhd

大佬救命,我用的是清翔的51单片机,下面这个程序是控制共阳8*8点阵屏亮出相应图形。下面这个程序是第一种代码(运行还算正常,但是第一行最后一列那个灯珠亮得比第一列的灯暗,也不知道为啥),将colwall数组中第一个元素和第二个元素互换位置是第二种代码。
第二种代码亮的实际效果和我在第二种代码写的不一样,本应是最后一列就第二行那个灯亮,结果最后一列的灯全亮了,而且最后一列亮得还比第一列暗。
求解,晚上就要交作业了 ,呜呜呜。
#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit dio=P3^4;
sbit s_k=P3^5;
sbit r_k=P3^6;
void main()
{
char rowwall=0x80,colwall[9]={0x7e,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe};
int i,p,q;
for(i=0;i<8;i++)
{
r_k=0;
for(q=0;q<8;q++)
{
s_k=0;
if(colwall[i]&0x01) dio=1;
else dio=0;
s_k=1;
colwall[i]>>=1;
}
for(p=0;p<8;p++)
{
s_k=0;
if(rowwall&0x01) dio=1;
else dio=0;
s_k=1;
rowwall>>=1;
}
rowwall=_cror_(rowwall,1);
r_k=1;
}
}

CSDN App 扫码分享
分享
评论
3
打赏
  • 复制链接
  • 举报
下一条:
Golang土拨鼠太可爱了,一上来就给我一种亲近感。Let's Go!
立即登录