1 / 23
文档名称:

单片机实验报告.doc

格式:doc   大小:264KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告.doc

上传人:不忘初心 2020/4/22 文件大小:264 KB

下载得到文件列表

单片机实验报告.doc

文档介绍

文档介绍:单片机实验报告姓名:钟林春班级:0801205学号:2012212963任课教师:张开碧上课地点:S411实验一流水灯实验一、实验目的及要求1、闪烁的LED;2、从左到右的流水灯;3、8只LED左右来回点亮;4、LED模拟交通灯。要求1:LED按设定的时间间隔闪烁要求2:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果要求3:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果;二、实验原理电路图1、电路图2、三、源程序要求1:#include<>#defineucharunsignedchar#defineuintunsignedintsbitLED=P1^0;//延时voidDelayMS(uintx){ uchari; while(x--) { for(i=0;i<120;i++); }}//主程序voidmain(){ while(1) { LED=~LED; DelayMS(150); }}要求2:#include<>#include<>//包含程序中的_cror_(P0,y)#defineucharunsignedchar#defineuintunsignedintucharled;voiddelay(unsignedinti){ uintj; uchark; for(j=i;j>0;j--) for(k=125;k>0;k--);}voidmain(){ led=0x7f;//只亮第一个 delay(1000); while(1) { P0=led;delay(500); led=_cror_(led,1);//P0逐步右移一位。}}要求3:#include<>#include<>//包含程序中的_crol_(P0,y)#defineucharunsignedchar#defineuintunsignedintsbitled=P0^0;uchari;voiddelay(unsignedinti){ uintj; uchark; for(j=i;j>0;j--) for(k=125;k>0;k--);}voidmain(){ P0=0xfe; delay(1000); while(1) { for(i=0;i<8;i++) {P0=led;delay(500); led=_crol_(led,1);//P0逐步左移一位。} for(i=0;i<8;i++) {P0=led;delay(500); led=_cror_(led,1);//P0逐步右移一位} }}实验二独立键盘实验一、实验目的1、K1-K4按键状态显示;2、K1-K4控制LED移位;3、单只数码管循环显示0~9;4、K1-K4控制数码管移位显示。要求1:K1、K2按下时LED点亮,松开时熄灭,K3、K4按下并释放时LED点亮,再次按下并释放时熄灭;要求2:按下K1时,P0口LED上移一位; 按下K2时,P0口LED下移一位; 按下K3时,P2口LED上移一位; 按下K4时,P2口LED下移一位;要求3:主程序中的循环语句反复将0~9的段码送至P0口,使数字0~9循环显示;要求4:按下K1时加1计数并增加显示位, 按下K2时减1计数并减少显示位, 按下K3时清零二、实验原理电路图1、电路图2、电路图3、电路图4、三、源程序要求1:#include<>#defineucharunsignedchar#defineuintunsignedintsbitLED1=P0^0;sbitLED2=P0^1;sbitLED3=P0^2;sbitLED4=P0^3;sbitK1=P1^0;sbitK2=P1^1;sbitK3=P1^2;sbitK4=P1^3;//延时voidDelayMS(uintx){ uchari; while(x--)for(i=0;i<120;i++);} //主程序voidmain(){ P0=0xff; P1=0xff; while(1) { LED1=K1; LED2=K2; if(K3==0) { while(K3==0); LED3=~LED3; } if(K4==0) { while(K4==0); LED4=~LED4; } DelayMS(10); }}要求2:#include<>#defineucharunsignedchar#defineuintunsignedintucharled1;ucharled2;sbitK1=P1^0;sbitK2=P1^1;sbitK3=P1^2;sbitK4=P1^3;//延时voidDelayMS(uintx){ uchari; while(x--)for(i=0;