Code:
#include <REGX52.H>
#include"rtx51tny.h"
#include"intrins.h"
unsigned char m[10]={64,121,36,48,25,18,2,120,128,16};
int ma=0;
sbit led1=P3^4;
sbit led2=P3^5;
sbit led3=P3^6;
void delay(unsigned int n)
{
int i;
for(i=0;i<n;i++)
{
TMOD=0x20;
TH1=-500/256;
TL1=-500%256;
TR1=1;
while(!TF1);
TF1=TR1=0;
}
}
void tre(int h)
{
unsigned int k;
while(h)
{
for(k=0;k<3000;k++);
h--;
}
}
void tre1(int h)
{
unsigned int k;
while(h)
{
for(k=0;k<390;k++);
h--;
}
}
void dem()
{
ma++;
delay(100);
}
void nhay1(void) _task_ 1
{
while(1)
{
led1=1; tre(20);
led1=0; tre(20);
}
os_switch_task ();
}
void nhay2(void) _task_ 2
{
while(1)
{
led2=1; tre(40);
led2=0; tre(40);
}
os_switch_task ();
}
void nhay3(void) _task_ 3
{
while(1)
{
led3=1; tre(60);
led3=0; tre(60);
}
os_switch_task ();
}
void led7_1(void) _task_ 4
{
int led11,led12,led13,led14;
while(1)
{
P0=0;
if(ma>9999) ma=0;
led14=ma/1000;
led13=(ma-led14*1000)/100;
led12=(ma-led14*1000-led13*100)/10;
led11=ma%10;
P0=1; P2=m[led14]; tre1(5);
P0=0;
P0=2; P2=m[led13]; tre1(5);
P0=0;
P0=4; P2=m[led12]; tre1(5);
P0=0;
P0=8; P2=m[led11]; tre1(5);
P0=0;
dem();
}
os_switch_task ();
}
void nhay(void) _task_ 0
{
while(1)
{
os_create_task(4);
os_create_task(1);
os_create_task(2);
os_create_task(3);
os_delete_task(0);
}
}
mô phỏng mà không chạy thì cậu lên google hỏi cách tạo project đa nhiệm cho 89 nhá. khi thiết lập nó khác với bình thường 1 tí nhưng làm không đúng sẽ k chạy





Leave a comment: