c51单片机实验代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流水灯实验
#include
#include
unsigned char k,j;
unsigned int a,b;
void delay()
{
for(a=1000;a>0;a--)
for(b=100;b>0;b--);
}
void main()
{
k=0xfe;
while(1)
{
delay();
j=_crol_(k,1);
P1=j;k=j;
}
}
单按键识别
#include
sbit BY=P3^4;
unsigned char count,temp,a,b;
void key()
{if(BY==0)
{
count++;
if(count==8)
{
count=0;
}
}
while(BY==0)
}
void move()
{
a=temp<
P1=a|b;
}
main()
{
count=0;
temp=0xfe;
P1=0xff;
P1=temp;
while(1)
{
key();
move();
}
}
数码管显示
#include
#define uchar unsigned char
unsigned int j,k,i,a,A1,A2,second;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void delay(int i)
{
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void display(uchar sh_c,uchar g_c)
{
wela=0;dula=0;P0=0xfe;wela=1;wela=0;P0=table[sh_c];dula=1;dula=0;delay(5);
wela=0;dula=0;P0=0xfd;wela=1;wela=0;P0=table[g_c];dula=1;dula=0;delay(5);
}
void main()
{second=0;
while(1)
{if(second==60)second=0;
A1=second/10;
A2=second%10;
for(a=50;a>0;a--)display(A1,A2);
second++;
}
}
蜂鸣器
sbit FM=P2^3;
unsigned char k,j;
void delay(unsigned int i)
{
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
main()
{
while(1)
{
FM=0;
delay(2);
FM=1;
delay(2);
}
}
D/A转换实验
#include
sbit csda=P3^2;
sbit dawr=P3^6;
unsigned char a,k,j;
void delay(unsigned char i)
{
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void main()
{
csda=0;
a=0;dawr=0;
while(1)
{
P0=a;
delay(5);
a++;
}
}