单片机实验三 流水灯实验.doc_第1页
单片机实验三 流水灯实验.doc_第2页
单片机实验三 流水灯实验.doc_第3页
单片机实验三 流水灯实验.doc_第4页
全文预览已结束

下载本文档

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

文档简介

电子信息工程系实验报告成 绩:课程名称:单片微型计算机与接口技术 指导教师(签名):实验项目名称:实验三 流水灯实验 实验时间:2013-11-21 班级:* 姓名:* 学号:* 1、 实 验 目 的: 1、进一步熟悉keil仿真软件、proteus仿真软件的使用。2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。3、掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。二、实 验 环 境:硬件:windows 7软件:keil 4, Proteus 7.8三、实验原理:输入输出接口的作用:数据缓冲功能;信号转换功能;接受和执行CPU命令的功能。MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。四组并行I/O端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。以P1口为例,内部结构如下图所示: 图 P1口的位结构 图1 P1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。 四个并行口使用的注意事项如下:1、 如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;2、 四个口在作输入口使用时,均应先对其写“1”,以避免误读;3、 P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必;4、 P2可某几根线作地址使用时,剩下的线不能作I/O口线使用; 5、P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。四、实 验 内 容 及 过 程: 1、建一个keil项目程序 建一个protues电路图的过程 (1)protues电路图:一个LED灯 一个开关 图一 一个LED灯 一个开关protues电路图 (2)keil项目程序:程序1、开关控制灯亮灭 程序2、开关按下灯闪三下 程序1代码如下:4 #includereg52.h#define uint unsigned int#define uchar unsigned charsbit kg=P10 ;sbit deng=P20; void main() while(1) kg=1; if(kg=0) deng=1; else deng=0; 程序2代码如下: #includereg52.h#define uchar unsigned char#define uint unsigned intsbit kg=P10 ;sbit deng=P20;void delay_50ms(uint t) uint j; for(;t0;t-) for(j=6245;j0;j-);void main() while(1) uchar i; deng=0; kg=1; if(kg=0) for(i=0;i3;i+) deng=1; delay_50ms(10); deng=0; delay_50ms(10); else deng=0; 2、 一个keil项目程序 建一个protues电路图 (1) protues电路图:8个LED灯 两个开关(类型 数量自定) 图二 8个LED灯protues电路图 (2) keil项目程序:程序3、单向流水灯 程序4、双向流水灯(自选 移位) 程序3代码如下: #includereg52.h#include #define uint unsigned int#define uchar unsigned char void delay_50ms(uint t) uint j; for(;t0;t-) for(j=6245;j0;j-); void main() uchar i;while(1) P2=0x01; for(i=0;i8;i+) delay_50ms(10); P2=_crol_(P2,1); delay_50ms(10); 程序4代码如下: #includereg52.h#include #define uint unsigned int#define uchar unsigned charuchar a,b;void delay_50ms(uint t) uint j; for(;t0;t-) for(j=6245;j0;j-); void main() uchar i;while(1) a=0x01; b=0x80; P2=a|b; for(i=0;i3;i+) delay_50ms(10); a=_crol_(a,1); b=_cror_(b,1); P2=a|b; delay_50ms(10); 五、实 验 结 果 及 分 析: protues电路图见下图: 在对各个程序生成的hex文件对其进行仿真,运行后,验结果和实验预期一样。六、

温馨提示

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

评论

0/150

提交评论