还剩3页未读,继续阅读
文本内容:
安徽新华学院实验报告
(3)实现用P
0.0至P
0.2连接的3个开关按键,控制PI.Ospi.7口连接的8个发光二级管的亮和灭例如:课程名称单片机原理及应用实验名称流水灯实验实验日期2019年月日开关P
0.2P
0.1P
0.0LED灯(PI.Ospi.7)学号姓名实验班级指导教师史先桂得分(合合合)000PI.0连接的发光二级管点亮
一、实验内容(合合开)001PI.1连接的发光二级管点亮
1.实验目的与要求(合开合)010PI.2连接的发光二级管点亮⑴熟悉Keil软件的工作界面(合开开)011PI.3连接的发光二级管点亮(开合合)100PI.4连接的发光二级管点亮⑵掌握Keil工程的建立方法和源程序的编译及调试方法(开合开)101PI.5连接的发光二级管点亮⑶掌握proteus和Keil的联合调试方法(开开合)110PI.6连接的发光二级管点亮⑷掌握将程序烧录到51单片机中的方法(开开开)111PI.7连接的发光二级管点亮
2.实验原理学生需简要分析51单片机流水灯的工作原理以上连接为参考,具体实验时同学们只要实现三个开关可控制八个灯即可截图1绘制的PROTEUS仿真电路图
3.实验内容⑴实现P1口连接的8个发光二级管每隔500亳秒双向流水点亮(用三种不同方式实现)截图1绘制的PROTEUS仿真电路图一截图2KEIL中编写的程序指令^include reg
51.hvoid main截图2KEIL中编写的程序指令char state;*include rcg
52.hwhilel#define ucharunsigned char『define uintunsigned intPO=Oxff;uchar codeled[]={0xfe,Oxfd,Oxfb,0xf7,Oxef,Oxdf,Oxbf,0x7f};state=P0;void delaylmsuintistate=state0x07;e•■♦••••■•♦■switchstateuchar j;case0:Pl=0Xfe;break;whi lei-case1:Pl=OXfd;break;forj=0;j=125;j++;case2:Pl=OXfb;break;case3:Pl=0Xf7;break;case4:Pl=0Xef break;void maincase5:Pl=0Xdf;break;{unsigned chari;case6:Pl=0Xbf;break;casewhile17:Pl=0X7f;{fori=0;i=7;i++Pl=led[i];de lay1ms500;}}{fori=8;i=0:i—
二、心得体会小结|Pl=led[i-1]delay1ms500;⑵实现P0口利Pl口各自连接的8个发光二级管同时双向流水点亮,并且方向顺序不同用三种不同方式实现截图1绘制的PROTEUS仿真电路图截图2KEIL中编写的程序指令^include reg
52.h#define ucharunsigned char^define uintunsigned int■TxxTucharcodeled[]={0xfe,Oxfd,Oxfb,0xf7,Oxef,Oxdf,Oxbf,Ox7f}void delaylmsuinti uchar j;whilei-I□TO XMWforj=0;j=125;j++roiA£iPO2XAD2KTAL2P03W3PO4A£4PO£4A£6POWWPO7约7}P2RSMP21从9«2*A1OkMM1P232void mainP25A13kA14P27CA15MCVTJ KP3Mt«D叩11/T2tX皿P3“4TOpaatiTTP34ff0ucharj;P35fflP3,前whiledfori=0;i=7i++{Pl=led[i];P0=led[7-i];delaylms500;fori=0;i=7;i++{Pl=led[7-i];P0=led[i];delaylms500;说明@P0需外接上拉电阻,可用排阻(符号名称RESPACK-8)。