AUTOMAN-1智能机器人应用介绍.docx
P1.1.1.G-M计数及显示应用一.Oc1.O255计数及显示1 .硬件连联接见图12 .程序目的:通过开关埴输入口检测输入脉冲并计数及显示。编程思路:用P6口检测辘入脉冲,没有脉冲时P6口加上的是低电平.因此,P6口输入高电平,有脉冲时P6口加上+12*因此,P611输入低电平.只要检测P61由低到高的变化就认为是一个脉冲.用计数器0记录脉冲数并将其存入FoO中,显示FOo的内容.当脉冲数计到255个时停止计数-d04(显示器仔位显示"0")0d030-d020-d1.0-001.00-Joi-FOO0d00E00-o2550010001.OO(显示器佰位显示"0")(显示十位显示“0*)(显示器个位显示“0")(计数器0清零)(蠲用脓冲检测子程序)(计数器0加D(计数器0内容传送给Fo0(显示器显示Foo内容)(如计数器0计数到255就执行卜步程序,否则上跳4步(自循环)OOO-HOO(脓冲检测子程序入口)- R6(如隙门无脉冲.就执行下步程序,否则下跳2步)000002- uO1.(上跳1步)OOC- P6(如脉冲结束就执行下步程序,否则自循环)OOOOOO一1.J(子程序返PI>-ECd(编程结束)注1:程序中HoO子程序非常有用.它的功能是测脉冲下降沿.在计数、测短率'测转速应用中少不了它.注2:被测脉冲最小宽度由HoO子程序决定.它可测34至秒宽度的脉冲.注3:二脉冲间坦小间隔时间由1.oo指令到再次执行1.OO指令之间的程序数依决定,程序少间隔就小,否则间隔就大。注4:指令的执行时间见指令集第九局部.二.00009999计数及显示上例只能显示最多255个计数脓冲,下面再介绍班多可显示9999个脉冲的程序,计数器1作为I进制个位计数涔,计数器2作为卜进制卜位计数器,计数器3作为卜进制佰位计数器.计数器4作为十进制仟位计数器.内存HH作为计数器1的存储器,内存FO2作为计数器2的存储器,内在F03作为计数器3的存储器,内存Fo1.作为计数器4的存储器,昧冲由P6口输入。d04A(显示器仟位显示"0")U-d030(1020-d1.102030-401.991.981.97(显示器俯位显示"0")(显示器十位显示"Q”)(显示个位显示“0")(计数器!清零(计数器2清零)(计数器3清零)(计数器4清零)<两用显示子程序)(调用脉冲检测子程序)(调用四位卜进制计数子程序)1.03OOOH98(上3步)(脉冲检测子程序入口)一R6OOO002uO1.OOOP6OOOOOO_1.JH99-FO1.Hd1.FO1.-F022dO2F02-F033如P6口无脉冲,就执行下步程序,否则下跳2步)(上跳I步)(如脉冲结束就执行下段程序,否则自循环)(子程序返I可显示子程序入口)计数器】内容传送给Fo1.)显示器个位显示FOI内容)计数器2内容传送给F02)(显示器十位显示F02内容)(计数器3内容传送给卜03)一d03显示器佰位显示F03内容F03-F0414dO4FOI-1.J-»97-H009OOOO(M10-FO1.Hr,1.OOO-J1.1.-FO1.11_1.J-J2009(计数器4内容传送给FOD(显示器仟位显示内容)(子程序返回)四位十进制计数子程序入口)(如果计数器I=OO9就执行下步指令,否则下跳4步)(计数器I清零)(计数器1内容传送给FO1.(下跳1步)(计数器I加1)(计数器1内容传送给Fo1.)(子程序返厄D(如果计数器2=009就执行下步指令,否则下跳4步)OOO0(M-20(计数器2消零)-F02(计数器2内容传送给FO2)2r04(下跳4步)OOO-121(计数器2加1)-F02(计数2内容传送给FO2>2-1.j(子程序返回)-13(如果计数器3二009就执行下步指令,否则下跳1步)009000OOI30(计数渊3清零)-F03(计数器3内容传送给F03>3- r(下跳4步)000- 31(计数器3加1>- F03计数3内容传送给Fo33- UJ(子程序返回)-14(如果计数器4=009就执行下步指令,否则下跳4步)009OOOOOI- HO(计数器4满零)- FOI(计数器4内容传送给F04)4- UJ(子程序返回)- 41(计数器4加I>- FOI(计数4内容传送给Fo44(子程序返回)Ed