单片机实验报告含仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验报告含仿真

————————————————————————————————作者: ————————————————————————————————日期:

单片机原理及应用课程

实验报告

专业:

班级:

姓名:

学号:

实验一、keilC51及proteus软件的使用

一、实验目的:

1、掌握keil和proteus软件的基本操作

2、通过具体实例掌握keil和proteus软件的使用。

二、实验原理: keil使用步骤,proteus使用步骤

三、程序:

四、实验结果分析:

五、总结:学会了使用keil和proteus软件,掌握了利用keil和proteus

软件进行仿真的步骤。

实验二、并行输入/输出接口实验

一、实验目的:

1、进一步熟悉keil仿真软件、proteus仿真软件的使用。

2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。

3、掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

二、实验原理:

MCS 51单片机的串行口在实际使用中通常用于三种情况:利用方式0 扩展并行i/0 接口:利用方式 1 实现点对点的双机通信; 利用方式 2 或方式3 实现多机通信。利用方式0扩展并行i/0 接口MCS 5 1 单片机的串行口在方式0 时, 若外接一个串入并出的移位寄存器, 就可以扩展并行输出口; 若外接一个并入串出的移位寄存器,就可以扩展并行输入口。

三、程序:

#include

sbit P1_0=P1^0;

voidmain()

{

unsignedchar i;

unsignedint j;

SCON=0x00;

i=0x01;

for(;;)

{

P1_0=0;

SBUF=I;

while(!TI) {i}

P1_0=1;TI=0;

for(j=0;j<=254;j++){;}

i=i*2;

if(i==0x00) i=0x01;

}

}

四、实验结果分析:

五、总结:进一步熟悉了keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会了构建简单的流水灯电路。掌握了C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

实验三、定时器/计数器实验(1)—查询方式产生500us的方波

一、实验目的:

1、熟悉keil仿真软件、proteus的使用和C51定时程序的编写;

2、了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理;

3、掌握查询方式处理定时/计数的工作过程,

4、掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。

二、实验原理:

通常利用定时/计数器来产生周期性的波形。利用定时/ 计数器产生周期性波形的基本思想是: 利用定时/ 计数器产生周期性的定时, 定时时间到则对输出端进行相应的处理。例如产生周期性的方波只需定时时间到对输出端取反一次即可。不同的方式定时的最大值不同,如定时的时间很短, 则选择方式2。方式 2 形成周期性

的定时不需重置初值;如定时比较长,则选择方式0 或方式 1 ; 如时间很长,则一个定时/计数器不够用, 这时可用两个定时/ 计数器或一个定时/ 计数器加软件计数的方法。

三、程序:

#include<reg51.h>

sbit P1_0=P1^0;

void main()

{

TMOD=0x02;

TH0=0x06;TL0=0x06;

TR0=1;

for(;;)

{

if(TF0){TF0=0;P1_0=!P1_0;}

}

}

四、实验结果分析:

五、总结:熟悉了keil仿真软件、proteus的使用和C51定时程序的编写;了解51单片机中定时、计数的概念,熟悉了51单片机内部定时/计数器的结构与工作原理;掌握了查询方式处理定时/计数的工作过程,掌握了定时/计数器在C51中的设置与程序的书写格式以及使用方法。

ﻬ实验四、定时器/计数器实验(2)—中断方式产生500us的方波

一、实验目的:

1、熟悉keil仿真软件、proteus的使用和C51定时程序的编写;

2、进一步熟悉51单片机内部定时/计数器的结构与工作原理;

3、掌握中断方式处理定时/计数的工作过程。

二、实验原理

从P 1.0 输出周期为500 us 的方波, 只需P 1.0 每250 us 取反后一次即可。当系统时钟为12MHz时,定时/计数器TO 工作于方式 2 时, 最大的定时时间为256 us ,满足250us 的定时要求,方式控制字应没定为000000 1 0B ( 02H )。系统时钟为12Mhz ,定时250us, 计数值N 为250, 初值X =256 -250 =6 , 则THO = TLO =06 H。

:

三、程序:

#include

sbit P1_0=P1^0;

void main()

{

TMOD=0x02;

TH0=0x06;TL0=0x06;

EA=1;ET0=1;

TR0=1;

while(1);

voidtime0_int(void) interrupt1{

P1_0=!P1_0;

}

四、实验结果分析:

相关文档
最新文档