单片机实验报告——流水灯

单片机实验报告——流水灯

ID:35216030

大小:351.50 KB

页数:6页

时间:2019-03-21

单片机实验报告——流水灯_第1页
单片机实验报告——流水灯_第2页
单片机实验报告——流水灯_第3页
单片机实验报告——流水灯_第4页
单片机实验报告——流水灯_第5页
资源描述:

《单片机实验报告——流水灯》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、电子信息工程学系实验报告成绩:课程名称:单片机原理及接口指导教师(签名):实验项目名称:实验2流水灯实验时间:2011-10-21班级:电信092姓名:蔡松亮学号:910706247一、实验目的:进一步熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。二、实验原理:MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输

2、出锁存器及数据输出驱动等电路。四组并行I/O端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。以P1口为例,内部结构如下图所示:图P1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态

3、缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;第6页共6页P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。三、实验环境:硬件:PC机,基本配置CPUPII以上,内存2G软件:keil2,Proteus7.5四

4、、实验内容及过程:1、用Proteus画流水灯电路图流程:1)、运行Proteus仿真软件,单击pickfromlibraries,打开搜索元器件窗口,如图1所示:图1打开搜索元器件窗口2)、搜索添加元器件,如图2所示:图2搜索添加元器件窗口3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为第6页共6页c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。总电路图如图3所示:图3流水灯电路原理图2、用keil建项目流程:1)、运

5、行keil2软件,启动后,点击Project菜单新建项目,新建项目后,选择为AT89C51的仿真单片机的型号,单击File选择New新建程序文件,保存后,右击SourceGroup1添加入程序文件。2)、编写程序,右击Target1打开设置输出HEX窗口,如图4所示:图4打开设置输出HEX窗口3)、设置输出HEX文件,勾选上Output下的CreateHEXFi:,单击确定保存,运行程序得到HEX文件,如图5所示:第6页共6页图5设置输出HEX文件3、实验内容:1)、8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环。新建kei

6、l文件,编写程序,程序如下:#include#include#defineuintunsignedint#defineucharunsignedcharvoiddefay(uintz){uintx,y;for(x=100;x>0;x--)for(y=z;y>0;y--);}uchartemp;voidmain(){temp=0xfe;P2=temp;while(1){temp=_crol_(temp,1);defay(500);P2=temp;}}2)、编写程序使8个LED灯从两边向中间循环点

7、亮。编写程序,程序如下:uchartemp,m,n;第6页共6页uinti;voidmain(){m=0xfe;n=0x7f;while(1){P2=m&n;m=_crol_(m,1);n=_cror_(n,1);if(m==0xef){m=0xfe;n=0x7f;}defay(500);}}3)、编写程序使用一根或二根I/O线接一开关控制流水灯流向。编写程序,程序如下:sbitp15=P1^5;voidmain(){temp=0xfe;P2=temp;while(1){if(p15==1){temp=_crol_(temp,1);

8、defay(500);}if(p15==0){temp=_cror_(temp,1);defay(500);}P2=temp;}}五、实验心得:通过本次的实验,第6页共6页熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。