欢迎来到天天文库
浏览记录
ID:30887381
大小:217.15 KB
页数:6页
时间:2019-01-03
《实验2并行io口的使用(包涵程序答案)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二并行I/O端口的应用一一、实验目的1.进一步熟悉KielC软件的使用方法。2.掌握proteus软件的使用方法。3.熟悉C语言数据与运算4.熟悉C语言程序结构二、实验内容1.程序一:当按下按键K1~K4时,对应D1~D4点亮。2.程序二:用循环语句实现P0口的多值输出。3.程序三:用数组方式控制跑马灯。4.程序四:在P2口连接的LED数码管上循环显示“0”,T,“2”,“3”,“4”。三、实验仿真硬件图在Proteus软件中建立如下图2・1所示仿真模型并保存。需要注意的是,当用Proteus來绘制比较复杂的电路时,经常会
2、因为线太乱而影响美观,也不方便检查,使用总线方式绘制电路能很好地避免这一问题。C2—IFC3TM—I—IX1亠-12M1930uF一1(*C4n1UJFK4J—L»—OO-K3-J—oo►XTAL1PO.O'ADOXTA12P01.AD1P02.AD2P03.AD3P04.AD4P05-AD5P0.6.AD6RSTP07.AD7P2OABP2.1A9PSENP22/A10P2.3.A11ALEP2.4.-A12EAP2.&A13P2.6.AMPl0P27.'AlbP3anxDP1.1Pl.2P1.3P14P3.1HXDP3.Z
3、'INTbP3.3丽P3.4WPI5P3.&T1Pl6P3.GWRP1.7P3.7.RD189ATB9C5131U1k4□220co•Qg卜O£2£o£XR9220D2D3D5D7D8LED-8IBY12F_14卫38PD1/37P02736P03/3t>P04/34P05/POfiy32PDZ721P2Q33POO22P2•23P2.224P2325P2426P2527P26/~P2」
4、/~P2.2/P23/~/~P2.5/P2.6P2.0D4图2・1并行I/O端口应用原理图在单线上点击右键编辑属性。在线型中选择
5、“BUSWIRE”,画出所需要的总线,连分支线时,不要直接画到总线上,先将光标靠近上面画的单线的末端(离总线近的一段),光标会出现一个选中的符号,先单击左键,再按住Ctrl键,拖动鼠标到总线的合适位置,再点击左键。然后右键点击分支线,放置网络标号即可。四、编程提不程序一:1•可选用用if语句、if-else-if语句、switch语句来实现当按下按键K1~K4时,对应D1〜D4点亮。讦语句的一般形式:if(表达式1){语句组1;}if(表达式2){语句组2;if-else-if语句的一般形式:if(表达式1){语句组1;}el
6、seif(表达式2){语句组2;elseif(表达式n){语句组n;}else{语句组n+1;switch语句的一般形式为:switch(表达式){case常量表达式1:语句序列1;break;case常量表达式2:语句序列2;break;•••case常量表达式n:语句序列n;break;default:语句序列n+1}2.可采用运用三种基本的循坏语句:for语句、while语句和do-while语句,实现D1~D8循环点亮。for语句的一般形式:for(循环变量赋初值;循环条件;修改循环变量)语句组;//循环体}while
7、语句的一般形式:while(表达式){语句组;//循环体}do-while语句的一般形式:do{语句组;//循环体}while(表达式);3程序三:用数组方式控制跑马灯。将跑马灯的全部状态用数组表达,然后用循环语句依次读取数组各元素,送P0口显示。4.程序四:在P1口连接的LED数码管上循环显示“0”,T,“2”,“3”,“4”。思路同程序一,只不过数组元素是由共阴极数码管所对应的字形码所组成。写出源程序,并注释include〃文件包含语句,定义MCS-51单片机特殊功能寄存器voidmain()〃主函数{P
8、0=0x00;//fiPO口为0vvhile(l){Pl=0x0f;//P1口写1P0=0x01;P0=0x02;P0=0x04;P0=0x08;〃屏蔽Pl引脚的高四位,将高四位清零后if((Pl&0x0f)==0x0e)if((Pl&0x0f)==0x0d)if((Pl&0x0f)==0x0b)if((Pl&0x0f)==0x07)输出#includevoiddelay(unsignedchari);voidmain()unsignedchara,b;while(l){P0=0x00;delay(250);
9、b=0x01;for(a=0;a<8;a++){P0=b;delay(250);b«=l;}}}voiddelay(unsignedchari){unsignedcharj,k;for(k=0;k
此文档下载收益归作者所有