欢迎来到天天文库
浏览记录
ID:40818573
大小:103.50 KB
页数:5页
时间:2019-08-08
《单片机(IO输入输出实验)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告实验课程:单片机学生姓名:邱永洪学号:6100210026专业班级:中兴101班2012年11月28日实验一I/O口输入、输出实验一、实验目的掌握单片机P1口、P3口的使用方法,对实验板的熟悉,如何根据实验板原理图进行连线。二、实验内容以P1口为输出口,接八位逻辑电平显示,LED显示跑马灯效果。以P3口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口作为
2、输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区),八位逻辑电平输出电路原理图参见图1-1。八位逻辑电平显示电路原理图参见图1-2。五,程序为:;功能:I/O口输入、输出实验;接线:用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.1口);;用8位数据线连接八位逻辑电平显示模块的JD4B到CPU
3、模块的JD8(P1口)。;//******************************************************************DIRBITP3.1ORG0000HLJMPSTARTORG0200HSTART:Output1:movA,#0fEH;把11111110二进制赋给A变量movR5,#8;把8送到R5寄存器中loop1:CLRC;把标志位清零movC,DIR;读入开关K0的值JCOutput2;K0的状态为1则跳转到Output2movP1,A;从P1口输出A的值并显示在二极管上,该位为0则
4、相应的二极管点亮rlA;把A进行循环左移,相当于把0进行左移,由此二极管从右到左依次点亮》》》向左的跑马灯AcAllDelay;调用延时子程序djnzR5,loop1;判断R5中的值是否为0,来判断是否重新置数,为0就跳到Output1,否则继续loop1SjmpOutput1Output2:movA,#07fH;把01111111二进制赋给A变量movR5,#8;把8送到R5寄存器中loop2:CLRC;把标志位清零movC,DIR;读入开关K0的值JNCOutput1;K0的状态为0则跳转到Output1movP1,A;从P1口输
5、出A的值并显示在二极管上,该位为0则相应的二极管点亮rrA;把A进行循环右移,相当于把0进行左移,由此二极管从左到右依次点亮》》》向右的跑马灯AcAllDelay;调用延时子程序djnzR5,loop2;判断R5中的值是否为0,来判断是否重新置数,为0就跳到Output2,否则继续loop2SjmpOutput2Delay:;0减1后为-1其补码为11111111movR6,#0;该延时为双重循环,总延时约为(1+1+(1+1+2)*257+2+(1+(1+1+2)*257)*256)us=0.264456s这个值与实验现象很匹配De
6、layLoop1:movR7,#0DelayLoop2:NOP;空指令NOPdjnzR7,DelayLoop2;R7中值为0则跳转djnzR6,DelayLoop1;R6中值为0则跳转retend六、实验步骤1)系统各跳线器处在初始设置状态。用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.1口);用8位数据线连接八位逻辑电平显示模块的JD4B到CPU模块的JD8(P1口)。2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。3)观察发光二极管显示跑马灯效果,拨动K0可改变跑马灯
7、的方向。七,实验现象当K0拨到下面时,其状态为0所以跑马灯为从右向左一次点亮,间隔大约为(1+1+(1+1+2)*257+2+(1+(1+1+2)*257)*256)us=0.264456s,当K0拨到上面时,其状态为1所以跑马灯为从左向右一次点亮,间隔大约为(1+1+(1+1+2)*257+2+(1+(1+1+2)*257)*256)us=0.264456s。八,实验心得从这个实验中我们了解到如何用P0口输出来点亮二极管,也学会了如何根据具体的单片机的原理图进行编写程序,及线路的连接。
此文档下载收益归作者所有