#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar shudi[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};
uchar lamu[]={0x18,0x24,0x42,0x81,0x81,0x42,0x24,0x18};
uchar liud[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uint i,q;
sbit k1=P3^2;
sbit k2=P3^3;
sbit L=P1^0;
void delay(int a)
{
int b;
for(a;a>0;a--)
for(b=225;b>0;b--);
}
void lamu1() //拉幕
{ int j;
for(j=0;j<8;j++)
{
P1=lamu[j];
delay(40);
}
}
void shudi1() //水滴
{
int i;
for(i=0;i<=8;i++)
{ P1=shudi[i];
delay(40);
}
}
void liudq()
{
int k;
for(k=0;k<8;k++)
{
P1=liud[k];
delay(30);
}
}
void chushihua()
{
TMOD=0x11;
EA=1;
EX0=1;EX1=1;
IT0=1;IT1=1;
ET0=1;ET1=1;
TR0=1;TR1=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
void main()
{
chushihua();
while(1)
{
i=0;
for(;i<200;)
{
shudi1();
}
for(;i<400;)
{
lamu1();
}
for(;i<600;)
{
liudq();
}
}
}
void zd() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
i++;
}
void zd1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
q++;
}
我想添加一个功能 使用外部中断 (按键按下时K1执行 1hz 按键按下K2执行10hz) 1hz和10hz 使用定时产生 求指导 我自己没弄起
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
for(;i<200;)
{
shudi1();
}
for(;i<400;)
{
lamu1();
}
for(;i<600;)
{
liudq();
}
}
if(k2) { q=0;
for(;q<200;)
{
shudi1();
}
for(;q<400;)
{
lamu1();
}
for(;q<600;)
{
liudq();
}}
谢谢 非常感谢
是的 200次 *50 =10s 我想使用外部中断(按键)来触发1hz 或者10hz的方波
感谢lcdmk送的LCD12864。顺手用AT89s52做了个小游戏(原理图+程序)
http://www.amobbs.com/thread-5422394-1-1.html
十分感谢 谢谢
一周热门 更多>