51心形灯范例程序。
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ uchar x1=0xff; P3=x1>>i; Delay(speed);
} for(i=1;i<9;i++) {
uchar x1=0xff; P1=x1>>i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P0=x1<<i; Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action4(uchar speed) { for(i=1;i<9;i++) { uchar x1=0xff; P0=x1>>i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P1=x1<<i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P3=x1<<i; Delay(speed); }
} for(i=1;i<9;i++) {
uchar x1=0xff; P1=x1<<i; P2=x1<<i; Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action14(uchar speed) { for(i=1;i<9;i++) { uchar x1=0xff; P2=x1<<i; P1=x1<<i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P0=x1>>i; P3=x1<<i; Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action15(uchar speed) { for(i=1;i<9;i++) { uchar x1=0xff; P0=x1<<i; P3=x1>>i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P2=x1>>i; P1=x1>>i; Delay(speed); }
for(i=1;i<9;i++) {
uchar x1=0x01; P0=_cror_(x1,i); P2=_crol_(x1,i); P3=_crol_(x1,i); P1=_crol_(x1,i); Delay(speed); } } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action8(uchar speed) { uchar j; for(j=1;j<4;j++) { for(i=1;i<9;i++) { uchar x1=0x0fe; P0=_crol_(x1,i); P2=_cror_(x1,i); P3=_cror_(x1,i); P1=_cror_(x1,i); Delay(speed); } } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action9(uchar speed) { uchar j; for(j=1;j<4;j++) { for(i=1;i<9;i++) { uchar x1=0x0fe; P0=_cror_(x1,i); P2=_crol_(x1,i); P3=_crol_(x1,i); P1=_crol_(x1,i); Delay(speed); } } P0=0xff;P1=0xff;P2=0xff;P3=0xff; }
全暗四灯亮式流动逆时针最高位最高位最低位最高位最低位最高位最低位最低位p0p2p1p3stc89c5152voidaction10ucharspeed
STC89C51 心形灯范例程序
一:引脚图 最高位
最高位
P0
最低位 最低位
STC89C51/52
P2
最低位 最高位
P1
最高位
最低位
二:示例程序
#include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar i; sbit led=P2^0; void Delay(uint t); void action1(uchar speed); //全心(从上往下) void action2(uchar speed); //全心(从下往上) void action3(uchar speed); //全心(顺时针) void action4(uchar speed); //全心(逆时针) void action5(uchar speed); //间隔闪烁流动 void action6(uchar speed); //全心(四灯灭式流动)(顺时针) void action7(uchar speed); //全心(四灯灭式流动)(逆时针) void action8(uchar speed); //全暗(四灯亮式流动)(顺时针) void action9(uchar speed); //全暗(四灯亮式流动)(逆时针)
while(1) {
action1(100);//全心(从上往下) action2(100);//全心(从下往上) action3(100);//全心(顺时针) action4(100);//全心(逆时针) action5(100);//间隔闪烁流动 action6(100);//全心(四灯灭式流动)(顺时针) action7(100);//全心(四灯灭式流动)(逆时针) action8(50); //全暗(四灯亮式流动)(顺时针) action9(50); //全暗(四灯亮式流动)(逆时针) action8(20); //全暗(四灯亮式流动)(顺时针) action8(20); //全暗(四灯亮式流动)(顺时针) action8(20); //全暗(四灯亮式流动)(顺时针) action8(20); //全暗(四灯亮式流动)(顺时针) action8(20); //全暗(四灯亮式流动)(顺时针) action9(20); //全暗(四灯亮式流动)(逆时针) action9(20); //全暗(四灯亮式流动)(逆时针) action9(20); //全暗(四灯亮式流动)(逆时针) action9(20); //全暗(四灯亮式流动)(逆时针) action9(20); //全暗(四灯亮式流动)(逆时针) action10(100)//全暗(单灯亮式流动)(顺时针) action11(100);//全暗(单灯亮式流动)(逆时针) action12(100);//右半心(从上顺时针向下)右半心(从下顺时针向上) action13(100);//右半心(从下顺时针向上)右半心(从上顺时针向下) action14(100);//上半心(从右向左),下半心(从左向右) action15(100);//上半心(从左向右),下半心(从右向左) action16(40);//上半心,下半心,左半心,右半心(交替闪烁<快速>) }
} void action1(uchar speed)
{ for(i=1;i<9;i++) { uchar x1=0xff; P0=x1>>i; P2=x1>>i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P1=x1<<i; P3=x1>>i; Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff;
{ for(i=1;i<9;i++) { uchar x1=0x01; P0=_crol_(x1,i); P2=_cror_(x1,i); P3=_cror_(x1,i); P1=_cror_(x1,i); Delay(speed); }
} P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action7(uchar speed) { uchar j; for(j=1;j<4;j++) {
void action10(uchar speed) {
for(i=1;i<9;i++) { uchar x1=0x0fe; P2=_cror_(x1,i); Delay(speed); } P2=0xff; for(i=1;i<9;i++) { uchar x1=0x0fe; P3=_cror_(x1,i); Delay(speed); } P3=0xff; for(i=1;i<9;i++) { uchar x1=0x0fe; P1=_cror_(x1,i); Delay(speed); } P1=0xff; for(i=1;i<8;i++) { uchar x1=0x0fe; P0=_crol_(x1,i); Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action11(uchar speed) { for(i=1;i<9;i++) { uchar x1=0x0fe; P0=_cror_(x1,i); Delay(speed); } P0=0xff; for(i=0;i<8;i++) { uchar x1=0xfe; P1=_crol_(x1,i);
Delay(speed); } P1=0xff; for(i=0;i<8;i++) { uchar x1=0xfe; P3=_crol_(x1,i); Delay(speed); } P3=0xff;
for(i=0;i<8;i++) { uchar x1=0xfe; P2=_crol_(x1,i); Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action12(uchar speed) { for(i=1;i<9;i++) { uchar x1=0xff; P2=x1>>i; P1=x1>>i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P3=x1>>i; P0=x1<<i; Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action13(uchar speed) { for(i=1;i<9;i++) { uchar x1=0xff; P0=x1>>i; P3=x1<<i; Delay(speed);
for(i=1;i<9;i++) {
uchar x1=0xff; P2=x1<<i; Delay(speed);
} P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action5(uchar speed) { for(i=1;i<17;i++) { P0=0xaa; P1=0x55; P3=0x55; P2=0x55; Delay(speed); P0=0x55; P1=0xaa; P3=0xaa; P2=0xaa; Delay(100); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action6(uchar speed) { uchar j; for(j=1;j<4;j++)
} void action2(uchar speed) {
for(i=1;i<9;i++) {
uchar x1=0xff; P1=x1>>i; P3=x1<<i; Delay(speed); } for(i=1;i<9;i++) { uchar x1=0xff; P0=x1<<i; P2=x1<<i; Delay(speed); } P0=0xff;P1=0xff;P2=0xff;P3=0xff; } void action3(uchar speed) { for(i=1;i<9;i++) { uchar x1=0xff; P2=x1>>i; Delay(speed); } for(i=1;i<9;i++)
P3
void action10(uchar speed);//全暗(单灯亮式流动)(顺时针) void action11(uchar speed);//全暗(单灯亮式流动)(逆时针) void action12(uchar speed);//右半心(从上顺时针向下)右半心(从下顺时针向 上) void action13(uchar speed);//右半心(从下顺时针向上)右半心(从上顺时针向 下) void action14(uchar speed);//上半心(从右向左),下半心(从左向右) void action15(uchar speed);//上半心(从左向右),下半心(从右向左) void action16(uchar speed);//上半心,下半心,左半心,右半心(交替闪烁<快 速>) void main() {