mình muốn viết một đoạn c dùng ngắt timer, cho port P1 sáng đều từ P1.0 tới P1.7.
code mình đây:
#include <Regx51.h>
sbit led1= P1^1;
sbit led2= P1^2;
sbit led3= P1^3;
sbit led4= P1^4;
sbit led5= P1^5;
sbit led6= P1^6;
sbit led7= P1^7;
sbit led8= P1^0;
P1 = 1;
void timer0()interrupt 1 //ngat timer 0
{
P0 = P0<<1;
P1 = P1<<1;
}
void ti0() // khoi tao bo dinh thoi timer 0
{
unsigned int t;
for(t=0;t<20000;t++)
{
EA = 0;
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0xB0;
ET0 = 1;
EA = 1;
TR0 = 1;
}
}
main()
{
int i;
p1= 1;
ti0();
while(1);
}
mình muốn ban đầu sẽ là P1.0 sáng thôi, rồi dịch trái cho nó sáng từ P1.0 tới P1.7 ấy mà, nhưng nó chỉ sáng một lần, mình muốn lặp lại hoài thì phải làm sao?? mình mới học nên còn gà quá. hjhj
code mình đây:
#include <Regx51.h>
sbit led1= P1^1;
sbit led2= P1^2;
sbit led3= P1^3;
sbit led4= P1^4;
sbit led5= P1^5;
sbit led6= P1^6;
sbit led7= P1^7;
sbit led8= P1^0;
P1 = 1;
void timer0()interrupt 1 //ngat timer 0
{
P0 = P0<<1;
P1 = P1<<1;
}
void ti0() // khoi tao bo dinh thoi timer 0
{
unsigned int t;
for(t=0;t<20000;t++)
{
EA = 0;
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0xB0;
ET0 = 1;
EA = 1;
TR0 = 1;
}
}
main()
{
int i;
p1= 1;
ti0();
while(1);
}
mình muốn ban đầu sẽ là P1.0 sáng thôi, rồi dịch trái cho nó sáng từ P1.0 tới P1.7 ấy mà, nhưng nó chỉ sáng một lần, mình muốn lặp lại hoài thì phải làm sao?? mình mới học nên còn gà quá. hjhj
Comment