1 / 14
文档名称:

单片机实验报告.doc

格式:doc   大小:592KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告.doc

上传人:wenjun1233211 2018/4/15 文件大小:592 KB

下载得到文件列表

单片机实验报告.doc

相关文档

文档介绍

文档介绍:实验一闪烁灯
一、实验任务
,使L1在不断地一亮一灭,。
二、实验内容
电路原理图
2、程序流程图
3、c语言源程序
#include<>
sbit p0=P1^0;
void delay02s(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
void main()
{
while(1)
{
p0=0;
delay02s();
p0=1;
delay02s();
}
}
4、汇编语言源程序
START:CLR ;
LCALL DELAY ;
SETB ;
LCALL DELAY ;
LJMP START ;循环
DELAY:MOV R5,#20 ;延时子程序
D1:MOV R6,#20
D2:MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
实验二广告灯的左移右移
实验任务:
做单一灯的左移右移,硬件电路如图所示,八个发光二极管L1--,输出“0”时,发光二极管亮,→→→→┅→→→┅→,重复循环。
二、实验内容
1、电路原理图
2、程序流程图
3、汇编语言源程序
ORG 0
START: MOV R2,#8
MOV A,#0FEH
SETB C
LOOP: MOV P1,A
LCALL DELAY
RLC A
DJNZ R2,LOOP
MOV R2,#8
LOOP1: MOV P1,A
LCALL DELAY
RRC A
DJNZ R2,LOOP1
LJMP START
DELAY: MOV R5,#20 ;
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
4、c语言源程序
#include <>
unsigned char i;
unsigned char temp;
unsigned char a,b;
void delay(void)
{unsigned char m,n,s;
for(m=20;m>0;m--)
for(n=20;n>0;n--)
for(s=248;s>0;s--);
}
void main(void)
{
while(1)
{
temp=0xfe;
P1=temp;
delay();
for(i=1;i<8;i++)
{
a=temp<<i;
b=temp>>(8-i);
P1=a|b;
delay();
}
for(i=1;i<8;i++)
{
a=temp>>i;
b=temp<<(8-i);
P1=a|b;
delay();
}
}
}

实验三按键识别方法
实验任务:
每按下一次开关SP1,计数值加1,。
二、实验内容
1、电路原理图
2、程序流程图

3、c语言源程序
#include <>
unsigned char count;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void main(void)
{
while(1)
{
if(P3_7==0)
{
delay10ms();
if(P3_7==0)
{
count++;
if(c
ount==16)
{
count=0;
}
P1=~count;
while(P3_7==0);
}
}
}
}
4、汇编语言源程序
ORG 0
START: MOV R1,#00H ;初始化R1为0,表示从0开始计数
MOV A,R1 ;
CPL A ;取反指令
MOV P1,A ;送出P1端口由发光二极管显示
REL: JNB ,REL ;判断SP1是否按下
LCALL DELAY10MS ;若按下,则延时1