Professional Documents
Culture Documents
Bài tâp vi điều khiển PDF
Bài tâp vi điều khiển PDF
#include<reg52.h>
#include<stdio.h>
#include<math.h>
unsigned long int n,x;
unsigned char code M[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
void main(void)
{
SCON=0x52;
TMOD=0x20;
TH1=TL1=-3;
TR1=1;
IE=0x90;
while(1);
}
void ngatnt(void) interrupt 4
{
if (x<=10)
{
putchar(M[x]);
x++;
}
}
#include<reg52.h>
#include<stdio.h>
sbit T=P2^0;
sbit N=P2^1;
unsigned long int m;
void delay50ms(void)
{
TMOD=0x01;
TH0=-50000/256;
TL0=-50000%256;
TR0=1;
while(!TF0);
TR0=TF0=0;
}
void thuan(void)
{
T=1;
N=0;
for(m=0;m<=59;m++)
{
delay50ms();
}}
void dung(void)
{
T=0;
N=0;
for(m=0;m<=99;m++)
{
delay50ms();
}}
void nghich(void)
{
T=0;
N=1;
for(m=0;m<=79;m++)
{
delay50ms();
}}
#include<reg52.h>
#include<stdio.h>
unsigned long int n,x;
unsigned char code M[10]={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30};
void main(void)
{
SCON=0x52;
TMOD=0x20;
TH1=TL1=-3;
TR1=1;
IE=0x81;
IT0=1;
while(1);
}
void ngat0(void) interrupt 0
{
putchar(M[x]);
x++;
if(x==10) x=0;
}
#include<reg52.h>
#include<stdio.h>
char z;
void nhan(void)
{
z=_getkey();
P1=z;
}
void main (void)
{
/// 2 chuong trinh nap vao 2 vi dieu khien tao ra bo vi dieu khien master-slave
///////////////// Dem so lan nhan cong tac hien thi tren Led ma tran
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
sbit K=P1^0;
unsigned long int n,num,i;
unsigned char code hang[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
unsigned char code cot[]={
0XFF,0X81,0X7E,0X7E,0X7E,0X81,0XFF,0XFF, // 0
0XFF,0X7B,0X7D,0X00,0X7F,0X7F,0XFF,0XFF, // 1
0XFF,0X3D,0X5E,0X6E,0X76,0X79,0XFF,0XFF, // 2
0XFF,0XBD,0X7E,0X66,0X66,0X99,0XFF,0XFF, // 3
0XFF,0XE7,0XEB,0XED,0X06,0XEF,0XFF,0XFF, // 4
0XFF,0XB0,0X76,0X76,0X76,0X8E,0XFF,0XFF,// 5
0xFF,0x81,0x76,0x76,0x76,0x8F,0xFF,0xFF, // 6
0xFF,0xFC,0xFE,0xFE,0xFE,0x00,0xFF,0xFF,// 7
0xFF,0x99,0x66,0x66,0x66,0x99,0xFF,0xFF, // 8
0xFF,0xF1,0x6E,0x6E,0x6E,0x81,0xFF,0xFF, // 9
};
void delay(unsigned int t)
{
unsigned int i;
for (i=1;i<=t;++i);
}
void hienthi(void)
{
for(n=0;n<=7;n++)
{
P0=hang[n];
P2=cot[n+num];
delay(5);
}}
void main (void)
{
while(1)
{
if (K==1)
hienthi();
else
{
while(!K);
hienthi();
num=num+8;
#include<reg52.h>
#include<stdio.h>
sbit K=P3^2;
unsigned long int num,i;
unsigned char M[10] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x83,0xF8,0x80,0x98};
void hienthi()
{
if(P1==0xde)
P2=M[1];
if(P1==0xdd)
P2=M[2];
if(P1==0xdb)
P2=M[3];
if(P1==0xee)
P2=M[4];
if(P1==0xed)
P2=M[5];
if(P1==0xeb)
P2=M[6];
if(P1==0xf6)
P2=M[7];
if(P1==0xf5)
P2=M[8];
if(P1==0xf3)
P2=M[9];
}
void quet(void)
{
int n[3]={0xfe,0xfd,0xfb};
for(i=0;i<=2;i++)
{
P1=n[i];
hienthi();
}}
void main()
{
while(1)
{
quet();
}}