欢迎来到天天文库
浏览记录
ID:59278344
大小:138.86 KB
页数:6页
时间:2020-09-07
《实验二 P口彩灯控制实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、重庆交通大学学生实验报告实验课程名称单片机原理与应用实验名称P口彩灯控制实验实验类型验证性实验开课实验室语音楼单片机原理实验室学院信息科学与工程学院学生姓名学号开课时间2012至2013学年第2学期实验评佑等级很好好一般差实验操作能力实验结果实验分析实验思考总结实验成绩教师签名一、实验目的:1.通过实验了解单片机最小系统;2.掌握P0口作为输入、输出方式使用时,CPU对P0口操作方法。二、实验内容:控制要求如下:1.正常情况下,8个发光二极管顺序点亮;2.按下K1时,第1个和第8个发光二极管闪烁,闪烁间隔时间为1s;3.按下K2时,8个发光
2、二极管闪烁,闪烁间隔为0.5s;4.发光二极管由单片机P0口控制;参照参考程序结构,但必须添加修改程序的内容,并调试、正确运行。5.用Proteus仿真软件运行硬件电路仿真设计。三、实验步骤:(1)用Protuse按单片机最小系统设计流水灯程序电路图;(2)打开Keil程序,执行菜单命令“Project–“NewProject”创建“P口彩灯”项目,并选择单片机型号为AT89C51;(3)执行菜单命令“New”创建文件,输入源程序,保存为“P口彩灯.A51”。在Project”栏的File项目管理窗口中右击文件组,选择“AddFiletoG
3、roup‘SourceGrop1’”将源程序“p口彩灯.A51”添加到项目中。(4)执行菜单命令“Project”->“OptionForTarget‘Target1’”,在弹出的对话框中选择“Output”选项卡,选中“GreateHEXFile”。(5)执行菜单命令“Project”->“BuildTarget”,编译源程序。如果编译成功,则在“OutputWindow”窗口中显示没有错误,并创建了“P口彩灯.HEX”文件。(6)将“P口彩灯.HEX”文件下载到Protues软件平台中的虚拟芯片上运行。(7)在进行硬件设计时,参考指导书
4、中所列彩灯控制的元器件以及实验程序参考框图,利用Proteus仿真软件,作出其电路图。(8)利用Keil仿真软件编写程序,将其编写好的程序进行调试。一、实验调试及结果:<一>实验调试电路图:<二>实验程序:#include"reg51.h"#defineuintunsignedint#defineucharunsignedcharsbitDIPswitch1=P1^0;sbitDIPswitch2=P1^1;sbitLED1=P0^0;sbitLED2=P0^1;sbitLED3=P0^2;sbitLED4=P0^3;sbitLED5=P0
5、^4;sbitLED6=P0^5;sbitLED7=P0^6;sbitLED8=P0^7;voiddelay(void){uinti;for(i=0;i<35530;i++);}voidmain(void){P0=0XFF;P1=0XFF;while(1){if(DIPswitch1==0){LED1=~LED1;LED8=~LED8;delay();}elseif(DIPswitch2==0){P0=~P0;}else{P0=0X00;}}<三>实验结果:经过调试,实验结果基本上符合以上要求,即正常情况下,8个发光二极管顺序点亮,如下图所
6、示:当按下K1时,第一个和第8个发光二极管闪烁,闪烁间隔时间为1s,如下图所示:当按下K2时,8个发光二极管闪烁,闪烁间隔时间为0.5s,如下图所示:一、实验分析:经过实验结果可知:在正常情况下8个LED灯顺序点亮,当按下K1时,第一个和第八个LED灯闪烁,其余灯一直亮着没有闪烁。当按下K2时,8个灯全部闪烁。实验结果表明该程序能够实现本实验的功能。在整个实验的过程中,由于我是在课下用自己的电脑又重新做了一遍,所以对整个实验过程的分析,认识比较深刻,具体如下:1、在用C语言完成实验要求时,由于闪烁间隔没有用到定时器,所以时间间隔不是很准确;
7、2、调用中断时,没有编写返回到原来状态的程序,所以,整个过程仅仅是一遍执行。其次,在实验过程中,对于控制闪烁时间的方式上是采用的软件延时,但是由于延时的精度不高,所以打算选择用定时器的方式进行定时触发闪烁,对然定时中断比延时更为准确的控制闪烁的时间,但是在软件设计的时候要采用软件延时和定时组合的方式,这样的话就增加了软件设计的难度。二、实验思考与总结:通过这次实验,使得我深刻了解了单片机最小系统的概念、原理;同时,也让我掌握了P0口作为输入、输出方式使用时,CPU对P0口操作方法。从而,学会了在正常情况下,8个发光二极管顺序点亮的方法和步骤
8、;当按下K1时,第1个和第8个发光二极管闪烁,闪烁间隔时间为1s;当按下K2时,8个发光二极管闪烁,闪烁间隔为0.5s;发光二极管由单片机P0口控制等。本次实验主要用查询方式检查
此文档下载收益归作者所有