Bn so n: Đ Bình Ngun
BÀI T P TH C HÀNH KEIL C
Hàm delay
Dùng vòng l p for, while
void delay(usigned char time)
{
while(time--)
{
unsigned char temp = 121;
while(temp--); // ch ng làm gì c
}
}
Hàm delay t.t.
Dùng timer
void delay(unsigned char time)
{
while(time--)
{
TMOD = 0x01; //timer0 ch đ 16 bitế
TH0 = 0xFC; //n p giá tr cho timer
TL0 = 0x67;
TR0 = 1; //kh i đ ng b đ nh th i
while(!TF0); //ch c TF 0 = 1
TF0 = 0 ; //xóa c tràn
TR0 = 0; //d ng b đ nh th i
}
}
LED đ nơ
Đ m nh pnế
Vi t ch ng trình đ m nh phân và hi n th ra các led đ n Port 1ế ươ ế ơ
#include <at89x52.h>
void delay (unsigned char time); // khai báo prototype
void main (void)
{
unsigned char led = 0; // bi n l u tr s đ mế ư ế
while (1)
{
P1 = ~led; // xu t giá tr ra Port 1
led ++; // tăng bi n đ m lên 1 đ n vế ế ơ
delay(100);
}
}
void delay (unsigned char time) // thân ch ng trình ươ
delay
{…}