找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[望不吝赐教]为什么用这种方式就不能实现动态扫描?

[复制链接]
admin 发表于 2012-9-2 05:55:53 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
#include<reg52.h>
#define uchar unsigned char
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d
};
uchar code we[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf
};
sbit dula=P2^6;
sbit wela=P2^7;
uchar numdu,numwe;
void delay(int xms);
void main()
{
while(1)
{
wela=1;
P0=we[0];
wela=0;
dula=1;
P0=table[0];
dula=0;
P0=0XFF;
delay(1);

wela=1;
P0=we[1];
wela=0;
dula=1;
P0=table[1];
dula=0;
P0=0XFF;
delay(1);


wela=1;
P0=we[2];
wela=0;
dula=1;
P0=table[2];
dula=0;
P0=0XFF;
delay(1);


wela=1;
P0=we[3];
wela=0;
dula=1;
P0=table[3];
dula=0;
P0=0XFF;
delay(1);


wela=1;
P0=we[4];
wela=0;
dula=1;
P0=table[4];
dula=0;
P0=0XFF;
delay(1);

wela=1;
P0=we[5];
wela=0;
dula=1;
P0=table[5];
dula=0;
P0=0XFF;
delay(1);
}
//因为觉得上面的写的繁琐,所以就想用下面的方式,但是不行,不知道为什么
/*while(1)
{
wela=1;
P0=we[numwe++];
wela=0;

dula=1;
P0=table[numdu++];
dula=0;
P0=0XFF;
if(numwe==6) numwe=0;
if(numwe==6) numdu=0;
delay(20);
}
*/
}
void delay(int xms)
{
uchar i,j;
for(j=xms;j>0;j--)
for(i=110;i>0;i--);
}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-24 01:43 , Processed in 0.053757 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表