77范文网 - 专业文章范例文档资料分享平台

开放实验报告

来源:网络收集 时间:2018-11-11 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

附注:

按键控制LED灯的亮灭,我们可以采用外部中断的方式(实验四会讲),独立按键的接法希望大家注意,直接接地,在没有按键的情况下IO口为高电平(注:因为本实验中按键接P1口,内部集成上拉电阻。若使用P0口作为通用IO口使用时必须外接500Ω左右的上拉电阻。见实验四。),当有按键按下时IO口为低电平。

五.实验程序及电路图

1.实验说明:

通过一个按键来控制LED灯的亮灭。

2.实验程序: #include #define unint unsigned int #define unchar unsigned char sbit Led = P1^0; sbit Key = P1^1; void main() { }

3.仿真电路图:

本实验的仿真电路图如图2.1所示。

while(1) { }

if(!Key) else

Led = 1;

//判断是否按下按键,按下为0

Led = 0; //点亮灯

//死循环

//位定义

图2.1 IO口的输入应用

6

实验三 定时器中断实验(Periodic Interrupt Timer)

一.实验目的

掌握定时器相关寄存器的配置,以及定时时间的计算等。

二.实验内容

定期器中断及查询方式控制P1.0口输出方波,用实验箱上的示波器观察波形,不同定时值对其影响。

三.实验器材

STC89C51RC或实验箱。

四.实验步骤

1.在Keil开发环境下建立一个工程。 2.程序的编写。 a.定时常数的确定

定时器/计数器的输入脉冲周期与机器周期一样, 为振荡频率的1/12。本实验中时钟频率为6.0 MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.1秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=05H,即可实现0.5秒延时。 时间常数可按下述方法确定:

机器周期=12÷晶振频率=12/(6×10)=2us

设计数初值为X,则(2e+16-X)×2×10=0.1,可求得X=15535 化为十六进制则X=3CAFH,故初始值为TH1=3CH,TL1=AFH b.初始化程序

包括定时器初始化和中断系统初始化,主要是对IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。由于只有定时器中断,IP便不必设置。 c.设计中断服务程序和主程序

中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。 3.程序下载调试。

4.附注:定时器常用方式1和方式2(在错误!未找到引用源。中用到),方式2 为自动重装计数初值的8位定时器,主要用于串行通信中波特率的产生和短时精确定时(因为不必软件重装初值所以更精确)。

6

6

五.实验程序及电路图

1.实验说明:

通过定时器中断及查询方式控制P1.0口输出方波。

2.实验程序:

7

#include

#define unchar unsigned char #define unint unsigned int sbit fangbo = P1^0; void main() { }

void time0() interrupt 1 { }

3.仿真电路图:

本实验仿真电路图如图3.1所示。

TH0 = 0x3c; TL0 = 0xb0;

//重装计数器值

//P1.0取反,产生方波

fangbo=~fangbo;

//定时器0中断服务函数

TMOD = 0x01; TH0 = 0x3c; TL0 = 0xb0; ET0 = 1; EA = 1; TR0 = 1; while(1);

//装入定时器初值定时50ms

//定时器0中断允许

//总中断允许 //等待

//定时器0工作方式1

//通过P1.0口输出方波

//定时器0开始计时

图3.1 定时器中断实验

注:实验箱中有模拟示波器,可通过电脑观察波形。

8

实验四 外部中断的应用

一.实验目的

通过此次实验学习51单片机外部中断的使用,并结合输入输出方式熟练掌握外部中断的应用。

二.实验内容

采用按键以中断方式控制一个LED灯的亮灭。

三.实验器材

STC89C52RC单片机、LED灯,独立按键或实验箱。

四.实验步骤

1.在Keil开发环境下建立一个工程。

2.程序的编写,采用中断方式判断键是否按下,并确定是否点亮二极管。 3.程序下载调试(可先进行仿真)。 附注:

中断方式可以提高CPU的效率,当发生中断事件时处理器可快速响应中断,没有中断事件时处理器正常工作,不必时刻查询中断事件的发生与否,提高代码效率。

本例中,若采用电平触发方式,则Key为低电平时Led亮,否则Led息灭;若采用边沿触发方式,则Key的每个下降沿,即Key由高变为低时,Led的状态改变一次。

五.实验程序及电路图

1.实验说明:

用按键以中断方式控制一个LED灯的亮灭。 2.实验程序: #include

#define unchar unsigned char #define unint unsigned int sbit Led = P1^0; sbit Key = P3^2; void main() { }

9

//位定义

IT0 = 0; //外部中断0采用电平触发方式;边沿触发为1下降沿有效 EA = 1; //中断允许 EX0 = 1; //开外部中断0 while(1);

void int0() interrupt 0 { } /*

void int0() interrupt 0 { }

3.仿真电路图

Led = 0; Led = 1;

//外部中断0程序

//Led 亮 // Led 灭

while(Key == 0); //等待键释放

//边沿触发方式中断函数。每次Key下降沿改变Led状态

Led = ~Led; //改变Led状态

本实验的仿真电路图如图4.1所示。

图4.1 外部中断的应用

实验五 单片机串口的应用

一.实验目的

通过此次实验学习单片机串口的应用,掌握串口相关寄存器的配置,并学会用串口做简单的双机通信。

二.实验内容

通过串口实现双机通信,用Key控制发光二极管。

三.实验器材

STC89C52RC单片机、LED灯或实验箱。

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库开放实验报告在线全文阅读。

开放实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/265701.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: