【精品】智能寻迹小车设计论文_第1页
【精品】智能寻迹小车设计论文_第2页
【精品】智能寻迹小车设计论文_第3页
【精品】智能寻迹小车设计论文_第4页
【精品】智能寻迹小车设计论文_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、简介1实验_程序状态指示灯演示3实验二流水灯演示5实验三数码管演示8实验四 数码管及跑马灯演示10实验五按键屮断查询演示13实验六话筒声音识别演示15实验七 光敏电阻与蜂鸣器演示17实验八红外反射与直流电机驱动演示19实验九红外遥控器解码程序演示23实验十 串口通信程序演示28实验综合功能演示30单片机益智系列一智能寻迹机器人是由益芯科技有限公司为科教方便而研发设计。根据现代学校对嵌入式系统开发的需求。依据提高学牛实际动手 操作能力和思考能力,以 加强学牛对现实牛活中嵌入式系统的应用为参照。智 能寻迹机器人全新的设计模式,良好的电路设计, 一体化的机电纽合,智趣的系统开发,更是成为加强学生学习

2、兴趣的总动源。智能寻迹机器人采川现在较为流行的8位单片机作为系统人脑。以8051系列家族中的at89s51/at89s52为主芯片。40脚的dip封装使它拥有32个完 金io(gpio通用输入输出)端口,通过对这些端口加以信号输入电路,控制电路,执行电路共同完成寻迹机器人。p0.0, p0.1, p0.2, p0.3 分别通过 lg9110电机驷动来驱动电机1和电机2 o rh电机的止转与反转来完成机器人的前进,后退,左转,右转,遇障碍物绕行,避悬崖等基本动作。在机器人前进时如果前方有障碍物,由红外发射管发射的红外信号 被反射给红外接收管,红外接管 将此信号经过p3.7传送入at89s52中,

3、主芯片通过内部的代码进行 机器人的绕障碍物操作,同时主芯片将p3.7的信号状态通过p2.5的led指示灯显示出来。机器 人行走时会通过p3.5与p3.6的红外接收探头来进行检测。当走到悬崖处时,p3.5或p3.6将收 到一个电平信号,此电平信号将通过相应端口传送 入主芯片中,主芯片通过内部代码完成机器人的避 悬崖操作。同时p3.5与p3.6的信号状态将通过p2.6/p2.7显示出来。在机器人的左转,右转,后退的过程,对以通过观看以 p2.0/p0.7为指示灯的运行状态。p0.4为机器人的声控检测端口,在运行为前进状态时,可以能过声 控(如拍手声)来控制它的运行与停止。p0.6为机器人的声咅输出

4、端。在机器人遇到障碍物时。述行绕障碍物与避悬时可以通过此端口控制蜂鸣器发出报警声。当为h天或黑夜时可以通过p0.5端口中的光敏电阻來述行判 断,以方便完成机器人夜间自动照明等功能。两个按键以查询/中断两种不同的方式来展现按键操作。你可 以按下s1键来进行机器的停止。再按下s2键来进行机器人的运行。这个按键的信息分别被p3.2,p3.4接收到。ir1为红外遥控接收器,这就为机器人进行远程遥控创造了可能。这个红外遥控接收头接收 到红外信号时将信号经过p3.3送入到主芯片,主芯片对其进行解密后以不同的方式对机器人进行控 制。同时将用户的按键信息通过p2端口上led数码管显示出來。p3.0、p3.i中

5、com端口的加入,让你完全可以用电脑对其进行控制。你町以通过对串口发送数据,数据会被噩示到led数码管中,并让机器人执行和应的功能。电脑的串口软件要求波特率为9600o8位数据位,这时你就可以快乐的用电脑來对它进行你的完全控制了。exkj-zn02功能的组合多样,使得学生可以充分发挥自主能力,制作出不同的机器人。它为学校进行机器人竞赛和毕业项目设计建立了实物平台,是学校教师授课变得更轻松有趣。同时也能改变学生学习模式和激发学习兴趣。更是作为验证学牛学习效果的有力工具。良好的电路板设计,让学牛制作变得 方便容易,其大大提高了学牛的制作成功率。提高了学牛对电子电路的兴趣, 更是教学过程中不可或缺的

6、教具。实验一 程序状态指示灯演示一、实验简介:本程序重点演示了一个最简程序的基本结构,它从顺序、判断、循环的形式表现程序的基本 结构,此程序通过闪灯不断的闪动,及闪灯闪动的快慢来表示程序不不同工作状态。它也是常 数字设备中进行状态表示的方法之一(例:网卡)。二、实验原理图:c73opfc630pfhf- -(= r1510kxlajl-l±c1 -rioif鹽二9 3?p3.0«xdp3.1/txd p3.2int0 p3.3imt1p3.4/t0 p3.5/t1 p36丽 p3.7束bvssvccxtal1 xtal2rst ea/vpppsen alerc竺39:<

7、;37:<35一34窈:31po.ojadop0.1/ad1 p0.2zad2 p0.3zad3 p0.4 伦 d4 p0.5ad5 p0.6ad6 p0.7zad7p1.0/t2 p1.1/t2ex p1.2ci p1.3/cex0 p1.4cex1 p1.5ex2 p1.6cex3 p1.7/cex4p2.qimp2.1/a9 p2.2/m0 p2.3a11 p2.4zm2 p2.5za13 p2.6a14 p2.7/a1501o oo 0 翱0 劉 0 oo 0 脇d1 d2 d3 04 d5 d6 d7 d8bt1at8 9s 51 / at89 s52/ at89 c51/at

8、b9c52三、实现代码:led equ plmcudata equ 30hdlycount equ 40hdly1 equ 41hdly2 equ 42horg 0000hmov led, #offhmov mcudata, #0loop:inc mcudatamov a, mcudataclr csubb a, #15jc l0p1mov a, mcudataclr csubb a, #30jc l0p2mov a, mcudataclr csijbb a, #60jc lop3mov mcudata, #0mov led, #offhsjmp loopl0p1:mov a, ledcpl

9、amov led, amov dlycount, #25lcall delaysjmp loopl0p2:m0v a, ledcpl amov led, amov dlycount, #10lcall delaysjmp loopl0p3:m0v a, ledcpl amov led, amov dlycount, #5lcall delaysjmp loopdelay: mov dly1,#1oodlyl0p2:m0v dly2,#10djnz dly2, $djnz dly1, dlyl0p2djnz dlycount, delayretend四、运行效果:程序运行效果为:开机后程序以慢速

10、闪动,一段时间后速度开始加快,再等待时间,闪灯 的速度达到最快,之后一段吋间后,闪动将冋到开始状态。实验二 流水灯演示一、实验简介:本程序全血的表现了子程序的用法,它从对几个子程序的操作,显示不同的流灯技术,流水 灯的不同需要不同的表现的形式,而这里主要介绍了移位操作和内部数据存储及读入操作。延 时函数采用可重入标志,可进行函数的递归调用。二、实验原理图:c730pfc830pfhh -= r1510k$0 二lzc6io1fic1 xtal1 j xtal2rst eajwppsenpo.o ado po.mdi po.2ad2 -po.3如3 - p0 4zad4 - po.5zad5p0

11、.6ad6p07ad7p1.0/t2-p1.1/t2ex-p1.2£ci39_38_37_36_35鋒3351 d1 |d2 d3 |d4|d5|d6 d7 | d8' zf zf zf 旨左 zf zp lxs3-1±c1 -tioif20p3.0«xd p3.1/txd p3.2lntop3.37ry1p3.4/t0 p3.5/t1 p3.6璽p3.7«bvssp2.0a8-p2.1a9- pz2a10- p23a11 p2.4a12- p25a13- p2.6za14 p2.7a15-at89s51/at89s52/at89c51/atb9

12、c52三、实现代码:led equ pldly1 equ 41hdly2 equ 42hdly3 equ 43horg oooohmov led, #offhloop:lcall rtollcall ltorlcall btomlcall mtobsjmp loopltor:mov ro, #9mov led,#offhlop1:lcall delaymov a, ledclr crlc amov led, adjnz ro, lop1retrtol:mov ro, #9mov led,#offhl0p2:lcall delaymov a, ledclr crrc amov led, adjn

13、z ro, lop2retbtom: mov ro, #5mov led, #offhmov dptr,#bmclr alopbm:lcall delaylcall delaypush accmovc a,0a+dptrmov led, apop accinc adjnz ro, lopbmretmtob: mov ro, #5mov led, #offhmov dptr, #mbclr alopmb:lcall delaylcall delaypush accmovc a,a+dptrmov led, apop accinc adjnz ro, lopmbretdelay:mov dly1,

14、 #5dl0p2:m0v dly2, #100dl0p3:m0v dly3, #100djnz dly3, $djnz dly2, dl0p3djnz dly1, dl0p2retbm: db 7eh, 3ch, 18h, oohmb: db 0e7h, 0c3h,81h, oohend四、运行效果:山两边向中程序运行效果为:开机后,指示灯向从左向右依次点亮,从右向左依次点亮, 间依次点亮,由屮i'可向两边依次点亮。实验三数码管演示一、实验简介:本程序通过对端口的置数操作,展示了数码管的应用技术,数码管是将发光二极管通过一 定的形式封装在一个数字的外壳中,可以通过不同的点亮方式来显不同

15、的数字符号。二、实验原理图:ic1c730pfvcc40_1±c1 rioifc830pftl- -4= r1510kc610ufrst eajjpp psen ale frogxtal1xtal29/no二10¥玉16卫p3.0xdp3.1/txdp32亦y0 p3.37nt1 p3.4/t0 p3.5/t1p3.6wr p37惑vsspo.ozado p0.1ad1 p0.2ad2 p0.3zad3p04ad4p0.5zad5p0.6ad6p0.7zad7p1.0/t2p1.1/t2exp1.2cip1.3cex0 p1.4cex1 p1.5cex2 p1.6cex3

16、p1.7cex4p2.qimp2.11m p2.2知 0 p2.3a11p2.4a12p2.5a13p26知4p2.7a151-2-3-4-5 -6-7-8 -.21?l232rr87dp g ._. cf (ti e i d c l ba - aa -smi23"9 ic6 ts3at8 9s 51 / at89 s52/ at89 c5 vat89c52三、实现代码:dly1 equ 41hdly2 equ 42hdly3 equ 43horg 0000hmov p2, #offhmov dptr, #smloop:mov r0,#l0clr alop: push acclcal

17、l delaymovc a,a+dptrmov p2,apop accinc adjnz ro,lopsjmp loopsm: db 9fh, 25h, odh, 99h, 49h, 41h, lfh, o1h, 19h, 03hdelay:mov dly1,#3odl0p2:m0v dly2, #100dl0p3:m0v dly3, #100djnz dly3, $djnz dly2, dl0p3djnz dly1, dl0p2retend四、运行效果:程序运行效果为:程序下载后,数码管将从依次显示,最后将显示数字0.实验四数码管及跑马灯演示一、实验简介:本程序主要是将数码管及跑马灯放在一起

18、显示,它主要说明了,如何将在单系中运行多个 看似并行运行的子系统.本程序在此将跑马灯子程序放入到一个头文件中,对于一个大的工程 这样将有益于程序文件的管理。二、实验原理图:-l±c1 twifc730pfc830pf40taiochf -c=l r1510kvccb xtal1p0.0ad0po.mdi广 xtal2p0.2ad2p0.3d3p0.4zad4 p0.5ad5p0.6ad6-4 rst -55- ?a/vppp0.7ad7p1.0/t2 p1.1/t2ex - ale円仪p1.2£cip1.3cex0p1.4cex1-? j p30«xdp31/tx

19、dp1.5cex2p1.6cex3j p3.27wro p3.37ny1 卓p34/t0p1.7/cex4p2.0/a8-kt- p3.5/t1p21/a9焉p3.6wft p3.7top2.2/a10pz3a11p24zm2p2.5za13vssp2.6za14p27/m5at8 9s 51 / at89 s52/at89 c51/atb9c52393837_36_3534匹32一2_3_4 - i fd1 d2 d3 d4 d5 d6 d7 d8al:672310三、实现代码:led equ plmcudata equ 30hdly1 equ 41hdly2 equ 4211dly3 eq

20、u 4311org oooohmov led,#offhmov mcudata, #0loop:lcall rtollcall ltorlcall btomlcall mtobsjmp loopltor:mov ro, #9mov led,#offhlopl:lcall delaymov a, ledclr crlc amov led, a djnz ro, lopl retrtol:mov ro, #9mov led, #offh l0p2:lcall delaymov a, ledclr crrc amov led, adjnz ro, l0p2retbtom: movmovmovclrr

21、o, #5led, #offhdptr, #bmalopbm:lcall delaylcall delaypush accmovc a,©a+dptrmov led, apop accinc adjnz ro, lopbmretmtob:mov ro, #5mov led, #offhmov dptr,#mbclr alopmb:lcall delaylcall delaypush accmovc a,©a+dptrmov led, apop accinc adjnz ro, lopmbretdelay:push accpush dphpush dplmov dptr, #

22、smmov a, mcudataxrl a, #11jnz goonclr amov mcudata, agoon: mov dly1,#5dlop2:mov dly2,#100dlop3:movdly3,#100djnz dly3,$djnz dly2, dlop3djnz dly1, dlop2mov a, mcudata movc a,©a+dptrmov p2,ainc mcudatapop dplpop dphpop accretbm: db 7eh, 3ch, 18h, oohmb: db 0e7h, oc3h, 81h, oohsm: db 9fh, 25h, odh,

23、 99h, 49h, 41h, 1fh, o1h, 19h, 03hend四、运行效果:木程序运行效果:木程序运行厉,可以看到跑马灯按,从左到右,从右到左,从两边到中间, 从中间到两边将依次运行。并且在运行过程中,可以看到数码管依次从的顺序显示 数 字符号。实验五按键中断查询演示一、实验简介:本程序通过两个按键对数码管进行操作,分别向用户演示了査询与中断的操作方式,中中 断应用了対按键进行查询的方法來判断按键的键值,查询按键方法中则采用了键盘延迟的方法 消來除按键重复输入。二、实验原理图:ic1c7 30pfvcc40c8 30pf-4=-r1510kc610ufxtal1 xtal2po.o

24、adopo.1ad1p0.2/ad2p0.3/ad3p0.4/ad4p0.5/ad5p0.6zad6p0.7/ad73938313635343332-r171ok30 410rst ea/vpp psen alergp3.0/rxd p3.1/txd p3.27htq p3.37nt1 p3.4/t0p3.5/t1 p3.6?wft p3.7祀)vssp1.0/t2p1.1/t2exp1.2/eci p1.3/c exo p1.4cex1 p1.5cex2 p1.6ex3 p1.7/cex4p2.0a8p2.1 佩 9p2.2zm0p2.3am1p2.4/m2p2.513p2.6za14p2.

25、7za151一2一3_4歹一6一7:小龙酋”一药一药旷ra4"8dpaaat8 9s 51 / at89 s52/ at89 c51/atb9c52三、实现代码51 bit p3.252 bit p3.4mcudata equ 30hdlyl equ 41hdly2 equ 42iiorg oooohsjmp startorg 0003hsjmp s1dostart:nopsetb sisetb s2setb easetb exosetb itomov mcudata, #0mov dptr, #smmov a, mcudatamovc a, a+dptrmov p2, aloop:

26、jb s2, $lcall dlykeyjb s2, loopinc mcldatamov a, mcudataxrl a, #10jnz g00n1mov mcldata, #0goon1:mov a,mcudatamovc a, ©a+dptrmov p2, asjmp loops1do:jnb si, $dec mcudatamov a, mcudataxrl a,#offhjnz g00n2mov mcudata, #9g00n2:mov a, mcudatamovc a,a+dptrmov p2, aret1dlykey: mov dly1,#25odlyl0p2:m0v

27、dly2, #250djnz dly2, $djnz dly1, dlyl0p2retsm: db 9fh, 25h, odh, 99h, 49h, 41h, 1fh, 01h, 19h, 03hend四、运行效果:程序运行效果:开机后数码管显示数字”1”,当按s1不放时,数码管数字不变,松开s1按键,数码 减1 ;按s2键不放时,数码管数字会口动加1。并ii数字遵守从09循环操作实验六话筒声咅识別演示一、实验简介:本程序主要通过话筒对声音信号进行识别,rh于本电路有效的去除杂波,所以仅能对响较 度人的声音进行识别(例:扌n手声)。像正常的说话声对木电路虑除 不会产生信息的输入。话 筒识别的加

28、入,为我们建立了声控平台。二、实验原理图:ic1c730pfvcc40c8 30pfhf- -cz3 r1510kc610ifxtal1 xtal2*c110if3120rst ea/vpppsen aleph况-p3.0xd p3.1/txd p3.2toy0 p3.3lfiyl p3.4/t0 p3.5/t1“ p3.6蟹 p3.7dvsspo.odop0.1zd1p0.2ad2p0.3iad3p0.4/ad4 p0.5d5 p0.6ad6 p0.7zad7p1.0/t2p1.1/t2exp1.2£ci p1.3/c exo p1.4/cex1 p1.5/cex2 p1.6/ce

29、x3 p1.7/cex4p2.0za8p21a9p2.2ja10p2.3a11p2.4ja12 p2.5ja13 p2.6/a14p27a1539_38_37_36_35_34一33一32一2_3 厂 _5_6_7 一8 一 x a 1t ¥ < < < ">r6 4.7kv3|805gu5kc510jr3 150kmk? omc2r256021旷_23_24石<27_28一 alr 工 x t *d2|xv2 k 85s0at8 9s 51 /at89 s52/at89 c5 vatb9c52sz 01bt-三、实现代码:leftled bi

30、t p2. 0r1ghtled bit po. 7bl bit p0.4dlyl equ 4lhdly2 equ 42horg ooooiiclr leftledclr rightledloop:jb bl, $lcall dlykeyjb bl, loopcpl leftledcpl rtghtledsjmp loopdlykey: mov dly1,#2dlyl0p2:m0v dly2, #5djnz dly2,$djnz dly1, dlylop2retend四、运行效果:前方指示灯关闭再。程序运行效果:本程序开机后,前方两侧的指示灯点亮,拍一下手后, 一次进行拍手,指示灯又-次被点亮。

31、实验七光敏电阻与蜂鸣器演示一、实验简介:本程序讲述了光狼电阻的使用方法。当处于光h咅时,光嫩电阻导通,将信号传入到单片机,单 片机将控制蜂鸣器按一定的频率响亮,并h前方的指示灯也开始闪闪亮。通过对光敏电阻号信 的接收,从而实现了夜间白动照明的功能。二、实验原理图:ic1vccr1510k±c110lfc730pfhhc830pfxtal1 xtal2#直丁 斗 ea/vpp 余 ' psen_xj aleqr0610 tf 翌;20p3.0 尺 xd p3.1/txd p3,27kft0 p3.37nt1 p3.4/t0 p3.5zt1p3.6蟹p3.7rdvssp0.0/a

32、d0p0.1/ad1 p0.2ad2 p0.3/ad3 p0.4/ad4 p0.5/ad5 p0.6 佩 d6 p0.7ad7p1.0/t2p1.1/t2exp1.2£cip1.3/c exop1.4/cex1 p1.5/cex2 p1.6/cex3 p1.7/cex4p2.0 伦8p2.1/a9p2.2/m0p2.3a11p2.4/m2p2.5/a13p2.6/a14p2.7zm5403938一37_36_35_34_33_32 a xr1 15krl1v18550-2-3-4-5-6 -7-8- 飞 mxx工 nttjt23一24芝26_2728_ aotatdrqtctr756

33、0d2v2 8550r2bt-at8 9s 51 / at89 s52/ at89 c5 1/atb9c52三、实现代码: leftled bit p2.0 r1ghtled bit po. 7 rl1 bit po. 5sb1 bit p0.6dly1 equ 41hdly2 equ 4211org oooohloop:jb rl1, gotosetb sb1setb leftledsetb r1ghtledsjmp loopgoto:lcall delaycpl sb1cpl leftledcpl r1ghtledsjmp loopdelay: mov dly1,#25odlylop2:m

34、ov dly2,#250djnz dly2, $djnz dly1, dlylop2retend四、运行效果:程序运行效果:打开电源开关,如果本机在有光照的情况下,将无任何的反应,这时将子机 移动到较黑暗的地方,将会看到前方指示灯闪亮利蜂鸣器响亮。实验八红外反射与直流电机驱动演示一、实验简介:本程序通过前端,底端的红外发射头和接收头來判断小车的运行轨迹,当前与底端发生信 号输入时,信号将被单片机接收,单片机来控制机器按照写好的程序开始运行。同时为达到好的 效果,加入声音识别与蜂鸣器输入输iii设备。.使得此机器人的运动变得更加有趣。二、实验原理图:c730pfvcciruitk220z/viv

35、2c830(fc6io1fr1510ka422tf 15knjv3v420rstxtal1 xta12pooado- p01ad1 p0 2ad2 po 3ad3 p04ad4 p0 5ad5* p06ad6- p0 7ad7-alefwxip1.2£ci- p1.3cex0- p1.4cexvp3 0r)©p1.5cex2-p31/txdp1.6cex3*p3 27mt0p1 7/cex4-p3 37wxp34/t0p2 0m p3 5cp21tfk9-p3 6硕?p2 2zm0-p3 7看bp2 3a1vvssp2 4zm2 p2 5«m3p2 6zm4-p2

36、 7<m5p1.0/t2-p1.1/t2ex-at89651/at89s52/at89c5 vatb9cs2/定义运行标志位/定义指示灯使能位/定义可执行标志位变量/定义s1状态标志位/定义s2状态标志位/定义b1状态标志位/定义ir状态标志位/定义运行停止标志位定义fonttr状态标志位/定义leftir状态标志位/定义r1ght1rstate状态标羔位三、实现代码:runflag bit ooh;enablelight bit 01h;exeflag bit 02h;;*完成呈木数据变量定义*/sistate bit pl.o;s2state bit pl. 1;bistate bi

37、t pl. 2;1rstate bit pl. 3;runstopstate btt pl. 4;fonttrstate btt pl. 5;leftirstate bit pl. 6;r1ght1rstate bit pl.7;* * *完成状态扌旨示灯定义* */51 btt p3. 2;52 bit p3.4;*完成按键端 口 的定 义*/leftlei) bit p2.0;r1ghtled bit po. 7;;*完成前方指示灯端口;e义*/ leftir bit p3. 5;r1ght1r bit p3.6;/定义si按键端口定义s2按键端口定义前方左侧指示灯端口 /定义前方右侧指示

38、灯端口fonttr btt p3. 7;;* * *完成纟夕卜探头端 口定义* * */mia btt p0.0m1b bit po. 1m2a bit po. 2m2b btt po. 3bl bit p0.4;rl1 btt po. 5;sb1 bit po. 6;*完成话筒,光敏电阻,蜂鸣器.端11定义*/tri bit p3. 3;*完成红夕卜接收端i i的定义*/showsm equ p2dly1 equ 41hdly2 equ 42hdly3 equ 43horg 0000h sjmp startorg 0003hljmp s1zd org ooobhretistart:mov p

39、o, #offhmov p1,#offhmov p2, #offhmov p3, #0ffiisetb easetb exosetb itosetb essetb exi;setb tt1;setb eto;setb ea;mov dptr, #smdata/定义前方左侧红外探头 /定义前主右侧红外探头 /定义止前方红外探头定义电机1正向端口 /定义电机1反向端口/定义电机2止向端口/定义电机2反向端口/定义话筒传感器端口定义光散电阻端口/定义蜂鸣端口/定义红外接收端口同意开启外部中断1/设定外部中断1为低边缘触发类型总中断开启mov a, #01hmovc a, a+dptrmov siio

40、wsm, aloop:lcall cargojnb eont1r, cardo jb lefttr, cardo jb rightir, cardo jb bl, looplcall carstopjb bl,$sjmp loopcardo:mov a, #02movc a,©a+dptrmov showsm,a lcall carbackmov rl,#8l0p1: lcall delaycpl sb1djnz r1,lop1 mov a, #03movc a,©a+dptr mov siiowsm, a lcall carleftmov rl,#8l0p2: lcall

41、 delaycpl sb1djnz r1,lop2 setb sb1mov a, #01movc a,©a+dptr mov siiowsm, aljmp loopsizd:lcall carstop jb s2, $rettcargo:setb mia;setb m2a;clr m1bclr m2bsetb runflagmov a,#01hmovc a,©a+dptr mov showsm, a;clr rightled;clr leftled;retcarback:setb m1b;/将电机1正向端口置爲/将电机2正向端口管高/数码管显示前进状态/将前方右侧指示灯置低

42、(亮)/将前方左侧指示灯置低(亮)/将电机1反向端口置高setb m2b;clr miaclr m2amov a, #02hmovc a,©a+dptr mov showsm, a;/数码管显示后退状态setb rightled; setb leftled;retcarleft:setb m1b;setb m2a;clr miaclr m2bmov a, #03hmovc a, 0a+dptrmov showsm, a;/数码管显示后退状态clr rtghtled; setb leftled;ret/将电机2反向端口置高数码管显示前进状态;/将前方右侧指示灯置高(灭)/将前方左侧指示

43、灯置高(灭)/将电机1反向端口置高/将电用12反向端口置高carright:setb mia;setb m2b;clr m2aclr m1b数码管显示前进状态;将前方右侧指示灯置低(亮)/将前方左侧指示灯置高(灭)/将电机1反向端口置高/将电机2反向端口置高mov a, #04h movc a, ©a+dptr mov showsm, a;/数码管显示后退状态setb r1ghtled;clrretcarstop:clrclrclrclrclrmovleftled;miam2am1bm2b runflag a, #00hmovc a,a+dptr mov showsm, a;/数码管

44、显示后退状态setb rtghtled;setb leftled;delay: mov dly1,#1odlylop2:mov dly2,#100dlylop3:mov dly3,#100djnz dly3,$djnz dly2, dlylop3djnz dly1, dlylop2ret数码管显示前进状态;将前方右侧指示灯置高(灭) /将前方左侧指示灯置低(亮)/数码管显示前进状态;/将前方右侧指示灯置高(灭)/将询方左侧指示灯置髙(灭)smdata: db 03h, 9fh, 25h, odh, 99h, 49h, 41h, 1fh, o1h, 19h;/0, 1, 2, 3, 4, 5,

45、6, 7, 8, 9end四、运行效果:程序效果:打开本机电源开关,机器人开始向前运行(这要看当时的条件),在运动的过程中, 如杲前方有障碍物,机器人则开始向后后退-段吋间后,向左运动,在向左运行一段吋间后。 再开始向前运行。在整个调向的过稈中,蜂鸣器闪响。并口在机器人前进的过程中,你可以通 过拍手來控制机器人的停止和运行。实验九红外遥控器解码程序演示一、实验简介:本程序主要将现在比较常用m50462遥控器进行解码,将解码后的数据通过p2端口的数 码 管显示出来,为了更好的看到运行过程,特加了三个指示灯用來指示当前运行状态。p10闪 亮,衣示程序止在运行;p11闪亮,表示接收到数据;p12闪亮

46、,农示触发内部的定时器操 作;p13闪亮,表示正确接收完一个数据。二、实验原理图:c730pfc830pfhi- -czj r1510kz6g0 二c610if93?-j±c1 "i-ioifir15"d20vccxtal1po.ozwx) pomoixtal2p0.2ad2rst k/vppp0.3ad3p0 4/ad4p0.5zad5p0.6ad6p0 7ad7p1.0/t2psenp1.1/t2exalekop1.2£cip3.0«xdp1.3cex0 p1.4cex1 p1.5cex2p3.1/txdp1.6cex3p3.2耐 0p1.

47、7cex4p3.3ifjt1 p3.4/t0p2.0a8p3.5/t1p2.1a9r3.6wftp22a10p3.7jrdp23za11vssp24a12p25za13p2.6za14p2.7za15ic1at89s51/at89s52/at89c51/atb9c5218 r4039一38龙36:<34一33:52一3_5_6_7 -8-212-23-24-252r272r9080 r156呼3r712 r110baaa524/包含51单片机相关的头文件重定义无符号整数类型/重定义无符号字符类型三、实现代码:#inelude <reg52h> fideftne uint un

48、signed int ttdeftne uchar unsigned charuchar code ledshowdata = 0x03, 0x9f, 0x25, oxod, 0x99,/定义数码管显示数据0x49, 0x41, oxif, 0x01, 0x19 ;/0, 1, 2, 3, 4, 5, 6, 7, 8, 9uchar code recvdata = (0x07, oxoa, oxib, 0x1f, oxoc, oxod, oxoe, 0x00, oxof, 0x19);uchar irc0m7;static unsigned int ledflash;unsigned char

49、 runflag二0;bit enablelight=o;/ * *完成基木数据 变量定 5(* * */sbit s1state二p0;sbit s2state=pri;sbit b1state二p2;sbit irstate二p3;sbit runstopstate二p4;sbit fonttrstate二p5;sbit leftirstate二p6;sbit rightirstate=p7;/* * * *完成状态扌旨示灯宦义* */sbit s1二p3'2;sbit s2二p3"4;/*完成按键端 i i 的是 义*/sbtt leftled二p2p;sbtt rightled二p0"7;/*完成前方扌旨示灯端口定 玲*/sbit leftir二p3"5;sbit rightir二p3"6;sbtt fontir二p3"7;/*完成红外探头端口定义*/sbit m1a二poosbtt m1b=p(t1;sbtt m2 a二pop ;sbtt m2b二p0"3;sbit bl二p(f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论