单片机实验报告含仿真_第1页
单片机实验报告含仿真_第2页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7/7单片机实验报告含仿真单片机实验报告含仿真

————————————————————————————————:————————————————————————————————日期:

?

单片机原理及应用课程

实验报告

专业:

班级:

姓名:

学号:

实验一、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口进行输入输出的注意事项。

二、实验原理:

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

三、程序:

#include

sbitP1_0=P1^0;

voidmain()

{

unsignedchari;

unsignedintj;

SCON=0x00;

i=0x01;

for(;;)

{

P1_0=0;

SBUF=I;

while(!TI){i}

P1_0=1;TI=0;

for(j=0;j

sbitP1_0=P1^0;

voidmain()

{

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、掌握中断方式处理定时/计数的工作过程。

二、实验原理

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

:

三、程序:

#include

sbitP1_0=P1^0;

voidmain()

{

TMOD=0x02;

TH0=0x06;TL0=0x06;

EA=1;ET0=1;

TR0=1;

while(1);

voidtime0_int(void)interrupt1{

P1_0=!P1_0;

}

四、实验结果分析:

五、总结:熟悉了keil仿真软件、proteus的使用和C51定时程序的编写;进一步熟悉了51单片机内部定时/计数器的结构与工作原理;掌握了中断方式处理定时/计数的工作过程。

实验五:串行接口实验(1)—工作方式0扩展并行IO口

一、实验目的:

1,掌握串行口工作方式0的程序设计;

2、熟悉51单片机串口的结构和工作原理

3、掌握串口工作方式0的工作特点。

二、实验原理:

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

三、程序:

#include

voidmain()

{

unsignedchari;

SP=0x60;

SCON=0X50;

TMOD=0x20;

TL1=0xe6;

TH1=0xe6;

TR1=1;

EA=1;

ES=1;

while(1)

{

P1=0XFF;

i=P1;

SBUF=i;

while(TI==0);

TI=0;

}

}

voidfunins(void)interrupt4

{

EA=0;

RI=0;

P2=SBUF;

EA=1;

}

四、实验结果分析:

五、总结:掌握了串行口工作方式1的程序设计;进一步掌握了51单片机串口的结构和工作原理,掌握了串口工作方式1的工作特点。

?

实验七:中断系统实验(1)—交通灯模拟控制

一、实验目的

1、掌握单片机外部中断的原理及过程。

2、掌握单片机外部中断程序的设计方法。

3、掌握单片机外部中断时中断方式的选择方法。

二、实验原理:

交通灯正常运行时,可分为4个状态:状态1,东西方向绿灯,南北方向红灯20秒,状态编码“00100001”;状态2,东西方向黄灯,南北方向红灯3秒,状态编码“01000001”;状态3,南北方向绿灯,东西方向红灯20秒,状态编码“00010010”状态4,南北方向黄灯,东西方向红灯3秒,状态编码“0001m00”。东西发生异常时,

东西通行,南北禁止,东西方向绿灯闪,南北方向红灯闪60秒;南北发生异常时,南北通行,东西禁止,南北方向绿灯闪,东西方向红灯闪60秒。主程序中实现交通灯正常运行过程,两种异常用外中断0和外中断1管理,外接开关模拟异常发生,在中断服务程序中实现异常处理,在主程序中开放外中断0和外中断1,设置为边沿触发方式。时间单位采用500ms信号,由定时计数器0定时50ms,循环10次产生,定时计数器0采用查询方式,主程序中设定定时计数器0的工作方式:方式1。

三、程序:

#include

voiddelay500ms(unsignedchark);

voidmain(void)

SP=0x60;

TMOD=0x01;

IE=0x85;

TCON=0x05;

while(1)

P1=0x21;

delay500ms(40);

P1=0x41;

delay500ms(6);

P1=0x12;

delay500ms(40);

P1=0x14;

delay500ms(6);

}

}

voidint_0(void)interrupt0{

unsignedchari1,i2;

i1=P1;

for(i2=0;i2

#include

#defineucharunsignedchar

voidmain(void)

{

uchari;

XBYTE[0x7f03]=0x82;

while(1)

{

i=XBYTE[0x7f01];

XBYTE[0x7f00]=i;

}

四、实验结果分析:

五、总结:熟悉了8255A的结构和功能;熟悉了8255A的几种工作方式;掌握了8255A与单片机的接口;掌握了8255A的编程方法。

实验十一:LED显示器与51单片机的接口实验

一、实验目的:

1、掌握LED显示器的基本结构与原理

2、掌握LED数码管的静态显示和动态显示

3、掌握LED显示器与单片机的接口的编程特点

二、实验原理:

8255A扩展并行1/0接口接8位共阴极数码管(7SEG-MPX8-CC-BLUE),采用动态显示方式,8位数码管的段选线(A~H)与8255A的A口相连,8位数码管的公共端(1~8)与8255A的B囗相连。也即8255A的B口输出位选码选择要显示的数码管,8255A的A口输出字段码使数码管显示相应的字符,8255A的A口和B口都工作于方式0输出。A口、B口、c口和控制口的地址分别为7F00H、7F01H、7F02H和7F03H(高8位地址线未用的取1,低8位地址线未用的取0)。

三、程序:

#include<reg51.h>

#include#defineucharunsignedchar

#defineucharunsignedint

voiddelay(uint);

voiddisplay(void);

uchardisbuffer[8]={0,1,2,3,4,5,6,7};

voidmain(void)

{

XBYTE[0x7f03]=0x80;

while(1)

display();

}

}

voiddelay(uinti)

{

uintj;

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

}

voiddisplay(void)

{

ucharcodevalue[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

ucharchocode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uchari,p,temp;

for(i=0;i

#defineucharunsignedchar

sbitK0=P1^0;

sbitK1=P1^1;

sbitK2=P1^2;

sbitK3=P1^3;

sbitD0=P2^0;

sbitD1=P2^1;

sbitD2=P2^2;

sbitD3=P2^3;

voiddelay(uchark)

ucahri,j;

for(i=0;i<k;i++)

for(j=0;j<250;j++);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论