Professional Documents
Culture Documents
оролцогч Б.Мягмарнаран
Гарчиг
Оршил 2
Бүлэг I. Биет илрүүлэх аргууд
1.1 Инфра улаан туяагаар мэдрэх 3
1.1.1 Гадны биетийн цацаргаж байгаа туяаг
хүлээн авах 4
1.1.2 Дохио цацаад хүлээн авагчаар хүлээн авч ашиглах 4
1.1.3 Гадны гэрлийн нөлөөгүйгээр хүлээн авч боловсруулах 5
1.1.4 Өндөр давтамжтай цацаж хүлээн авч ашиглах 5
1.2 Фоторезистор ашиглан мэдрэх 5
1.3 Камер ашиглан мэдрэх 6
1.4 Энгийн механик болон соронзон мэдрэгч 6
2
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Оршил
Өнөө үед хүнээс үл хамааран бие даан ажиллах чадвартай автомат системийг
өргөнөөр ашиглаж эхэлж байгаа билээ. Ингэснээр хүний хөдөлмөрийг хөнгөвчилөх,
хүн ажиллах боломжгүй нөхцөлд судалгаа шинжилгээ хийх, түүнчлэн хүний
анхаарал болгоомжгүйгээс гарч болох зарим нэг асуудлыг бүрэн шийдэх боломжтой
юмаа. Автомат системийн давуу тал олонтой ч хамгийн гол нь гадны ямар нэгэн
биет, харилцаж байгаа обьектийг болон бусад ямар нэгэн зүйлсийг мэдэрдэг байх
зайлшгүй шаардлагатай болсон билээ. Нөгөө талаас обьект мэдрэх гэдэг нь
дохиолол хамгааллын системийн үндэс, гол суурь нь болж өгдөг.
Энэхүү ажлаараа олон төрлийн мэдрэгчийг судлаж аль болох хялбар аргаар
найдвартай ажилладаг биет илрүүлэгчийг хийхийг зорьсон бөлгөө.
Биет илрүүлэх гэдэг нь маш өргөн ойлголт юм. Жишээлбэл ажиглаж байгаа
орчинд гадны ямар нэгэн биет орж ирэхийг мэдрэх эсвэл ажиглаж байгаа биетийн
хэмжээ, хэлбэр, дүрс өөрчилөгдөхийг мэдрэх зэргийг ойлгож болох юм.
Уг ажилын хүрэнд хийсэн обьект илрүүлэгчээ Ази номхон далайн орнуудын
хооронд зохиогддог ABU Robocon тэмцээний Монгол дахь сонгон шалгаруух
тэмцээнд автомат ангиллын машин дээр туршин тавьж амжилттай оролцсон билээ.
Энэхүү ажил нь үндсэн хоёр бүлгээс тогтох бөгөөд нэгдүгээр бүлэгт онолын
хэсэг орсон бөгөөд эндээс зам мэдрэх болон биетийг илрүүлэх аргуудтай танилцах
боломжтой, хоёрдугаар бүлэгт техникийн шийдэл, програм хангамжийн шийдэл
болон ашиглаж хийсэн зүйлийн харьцуулсан судалгаа орсон болно.
3
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Бүлэг I
Биет илрүүлэх аргууд
Биетийг мэдрэх гэдэг нь авто систем болон дохиоллын системийн хувьд өөрт
нь ямар нэгэн тодорхой орон зайд гадны биет орж ирэхийг мэдрэрч мэдээлэх гэсэн
үг юм.
Биет илрүүлэхийн тулд олон мэдрэгчүүдийг ашигладаг билээ. Эдгээр
мэдрэгчүүд нь янз бүрийн физик үзэгдэл дээр тулгууралдаг бөгөөд ашиглаж байгаа
элемент хэрэглэх аргаас шалтгаалаад үнэ өртөг найдвартай мэдрэх зэргээрээ
ялгаатай байдаг. Биетийг илрүүлэхийн тулд ихэвчилэн ашигладаг мэдрэгчүүд:
1. Инфра улаан гэрлийн мэдрэгч
2. Радио цацрагийн мэдрэгч
3. Энгийн мэдрэгчүүд /механик мэдрэгч, соронзон мэдрэгч.../
4. Дүрсийн камера
5. Бусад ...
Энэ ажлаараа өөрийн боломж нөөцөнд тулгуурлан дараах мэдрэгчүүдийг
сонгон авч судалж заримыг нь туршиж ашиглав.
1. Инфра улаан гэрлийн мэдрэгч
2. Фоторезистор
3. Дүрсийн камера
4. Энгийн механик болон соронзон мэдрэгч
1.1 Инфра улаан гэрлийн мэдрэгч
Инфра улаан туяагаар мэдрэх нь маш боломжтой, сайн аргын нэг юм. Инфра
улаан туяаг ашиглаж биетийг мэдрэхийн тулд ерөнхий дөрвөн аргыг ашигладаг.
Гадны биетийн цацаргаж байгаа инфра улаан туяаг хүлээн авч ашиглах
Дохио цацаад хүлээн авагчаар хүлээн авч ашиглах
Тогтмол гэрлийн үүсгүүр ашиглан гадны нөлөөгүйгээр дохиог цацаад ойлгож
хүлээн авч ашиглах
Өндөр давтамжтай инфра гэрлийн үүсгүүртэйгээр цацаж хүлээн авч ашиглах
4
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
5
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
6
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
7
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
8
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Бүлэг II
Зам дагах ба хөдөлгөөн мэдрэх төхөөрөмж
2.1 Үзэгдэх гэрлийн тусламжтай зам хайх механизм
Ýíý àæèëààð ôîòî ðåçèñòîðûã ñóäàëæ, ò¿¿íèéã çàì äàãàäàã ðîáîòîä
àøèãëàõ, AÒ8051 á¿ëèéí ÀÒ89Ñ51, 89Ñ2051 ìèêðîêîíòðîëëåð, ADC0809
õºðâ¿¿ëýã÷èéã ñóäàëñàí áîëíî.
Ôîòîðåçèñòîð íü ¿çýãäýõ ãýðëèéí íºëººãººð ýñýðã¿¿öýëèéíõýý õýìæýýã
ººð÷èëäºã ýëåìåíò þì. Ýíä ôîòîðåçèñòîðûã àøèãëàõ áîëñîí øàëòãààí íü
õýðýãëýõýä õÿëáàð, îëäîö èõòýé, ¿íý õÿìä áàéäàã. Ó÷èð íü òóñãàæ áàéãàà
ãýðëèéí ýð÷èìýýñ õàìààðààä ðåçèñòîðûí óòãà íü 0-15êOì õүртэл өөрчлөгддөг
бөгөөд гэрэлтэй үед эсэргүүцэл нь багасдаг. Ýíä ðîáîòûí çàì íü íîãîîí òàëáàé
äýýð íààñàí 3 ñì-èéí ºðãºíòºé öàãààí çóðâàñ äýýð òóðøèæ үзлээ.
Çóðàã 1. Фоторезистор бүхий схемийг байрлалт
9
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Çóðàã 3.
10
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
11
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Зураг 6. Хэмжилт хийхийн тулд замыг хэд хэдэн зурвас болгон хуваав
Хүснэгт 1. Хэмжилтийн үр дүн
/Ôîòîðåçèñòîð ãàçðààñ 0.5 ñì çàéòàé áàéñàí ¿åä:
ªðººíèé ãýðýëòýé, ªºðèéí ãýðýëèéí ¿¿ñã¿¿ð Ëåä-èéã àñààñàí ¿åä. /
Ôîòîðåçèñòîðûí 2-òîîð 10-òààð
õýìæñýí õ¿÷äýë
3.2 10111000 184
3.2 10111000 184
3.2 10111000 184
3 10100010 162
2.3 10000001 129
2 01101001 105
1.6 01011000 88
1.3 01010000 80
1.3 01010000 81
1.3 01010001 82
1.7 01100010 98
12
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
2 01101011 107
2.6 10010010 146
3.2 10111000 184
3.2 10111000 184
13
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
14
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
15
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
16
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
17
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
18
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
19
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
1,5 0,6 2
2 0,6 1,8
3 0,6 1,4
4
3.5
3
2.5
Áàãà óòãà
2
Èõ óòãà
1.5
1
0.5
0
0.4 0.6 0.8 1 1.5 2 3
20
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
250
200
150
Òîîí óòãà
100
50
0
0.8 1.2 1.5 2 2.5 3 3.4
21
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
22
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
23
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Мөн инфра улаан цацрагыг хэлхээнд байрлуулахад хэд хэдэн шаардлага гарч
ирсэн. Инфра улаан цацраг ядаж 2 хүлээн авагч нэг зам дээр орших хэрэгтэй. Энд
24
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
олныг байрлуулах боломж байгаа боловч инфра улаан цацрагийн хүлээн авагч
дамжуулагч хоёрын хоорондын зай хэтэрхий ойр байвал нэг нь нөгөөдөө нөлөөлөх
учир хоорондын зайг 1см байхаар сонгон хэрэглэв.
25
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
2. Инфра улаан туяаг цацаад хүлээн аваад хүлээн авсан дохиогоо потенциометр
эсвэл үйлдэлийн өсгөгч, харьцуулагч ашиглан төвшинөөр буюу +5, 0В
байхаар оролтонд хүлээн авч зам дагуулав.
Гадны гэрлийн нөлөөг дарах хамгийн оновчтой арга бол цацаж буй дохиог
өндөр давтамжтай цацаад хүлээн авах хэрэгтэй юм. Өндөр давтамжтай цацсанаар
үзэгдэх гэрлийн болон бусад гэрлийн нөлөөг дарах боломжтой. Миний сонгосон
инфра улаан туяаны хүлээн авагч болон цацагч өөрөө өндөр давтамжинд ажиллах
боломжгүй байснаас өндөр давтамжаар цацаж ашиглаагүй болно. Инфра улаан туяаг
цацахад зориулсан янз бүрийн бэлэн өндөр давтамжтай болгож кодолдог чип
/микросхем/ байдаг. Жишээ нь: SAA3010. Миний сонгосон чип нь параллель болон
сериалаар өгөдөлийг хүлээн авч сериалаар дамжуулах боломжтой үнэ хямд, олдоц
ихтэй чип /микросхем/ юм. Инфра улаан туяаг цацахад ашиглаж буй хамгийн гол
давтамж нь 40кГц байдаг. Үүнийг ашиглавал илүү тохиромжтой хялбар болно.
Зураг 20. Зам хайх механизм
Инфра улаан туяаг цацаад хүлээн авч хэмжихэд хүлээн авагчаас ирсэн утга
нь ямар бие дээрээс ойж байгаагаас мөн ямар зайнаас тусгаж байгаагаас мөн гадны
гэрлийн нөлөөнөөс үүсч ямар утгатайг болж байгааг хэмжсэн.
Гэрлийн нөлөө багасгадаг хаалт хийгээд үүний дараа гаралтын хүчдэлийг 2
янзаар хэмжилээ.
26
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
1. Хүлээн авагчаас хүлээж авсан аналоги утгаа хэмжиж аваад тэр утгаа аналоги
дохиог тоон дохио болгон хөрвүүлэгч ашиглан хөрвүүлж боловсруулалт
хийв. Хаалттай үед шууд хүлээн авсан аналоги утгаа хэмжихэд 3-4в-ийн
хооронд хэлбэлзэж байлаа.
Зураг 21. Блок диаграм
2. Инфра улаан туяаны хүлээн авагчаас хүлээж авсан утгаа харьцуулагч LM339
ашиглан харьцуулж 0 юм уу +5В гаргаж байхаар утгыг хэмжиж
харьцуулагчийн оролтонд өгсөн.
27
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
28
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Тэдгээр нь хатуухан хэлхэд хүлээн авагчид юм. Урилгагүй зочины биеийн халууныг
xmeter гэнэ.
Инфра улаан туяаны илрүүлэгч жирийн хугцаанд талбайг ажиглаж орчны
хэвийн температурыг юмуу энэ талбай дахь инфра улаан туяаны энергийн
төвшинүүдийг бүртгэдэг. Энэ талбайд амьд биет орж ирвэл инфра улаан туяаны
энергийн төвшинд шинэ өөрчлөлт орж дохиолол дугарах нөхцөлийг бүрдүүлдэг.
Инфра улаан туяаны илрүүлэгчидийн ихэнх хэсэг нь зөвхөн тасалгаанд
ашиглагддаг. Хэдий тийм боловч зарим инфра улаан туяаны идэвхгүй илрүүлэгчид
гадаа ч хэрэглэгдэнэ.
Сүүлийн үеийн инфра улаан туяаны илрүүлэгчид нь зарим тохиолдолд
дохиоллын нөхцөлгүй болон хамгаалагдсан талбайд бодитоор хүн халдах хоёрын
хоорондохыг ялган шинжилгээ хийхийг зөвшөөрсөн микропроцессорын
технологийн дэвшилийг шаардах болсон.
Дулаан ялгаруулдаг томоохон биеүүд бүгд инфра улаан туяаны цацраг
ялгаруулах бөгөөд үүнд амьтад 9.4м дотор цацраг нь хамгийн сайн тархдаг. Хүний
бие бас үүнд орно.
Боловсруулсан силиконы хавтанцар нь гадны нөхцөлд ус нэвтрэхгүй маш
сайн инфра улаан туяаны цонх болдог. Түүнчлэн үзэгдэх гэрлийн мужид гэрлийг
шүүхэд нэмэртэй. Инфра улаан туяаны мэдрэгчийг хийхэд талст материалыг
ашиглах бөгөөд уг материалыг инфра улаан туяаны цацрагыг орлох халуун нөхцөлд
байлгахад өнгөц цахилгаан цэнэг үүсгэнэ. Талстад хүрэх цацрагийн хэмжээ
өөрчилөгдөхөд цэнэгийн хэмжээ мөн өөрчилөгдөх бөгөөд түүнийг мэдрэгчид
суурилуулсан ФЭТ төхөөрөмжөөр хэмжинэ. Мэдрэгч элементүүд нь маш өргөн
хүрээнд цацрагыг мэдрэх тул төхөөрөмжинд хүний биеийн цацрагийг хамгийн сайн
мэдрэх 8-14нм-т орох цацрагыг хязгаарлах зорилгоор шүүх цонх байрлуулсан. PIR
мэдрэгч нь Чичиргээ температурын өөрчилөлт нарны гэрлийг мэдрэхгүй байхаар
зохион байгуулагдсан байдаг. Мэдрэгчийн өмнүүр өнгөрөх бие эхний элементийг
идэвхжүүлэх бөгөөд өөр хүчин зүйлүүд хоёр элементэд хоёуланд нь нөлөөлсөнөөр
идэвхжил сарнихгүй бол хоёр дахь элемент удаалан идэвхжинэ. Мэдрэгч шон 1,2-
ийг босоо тэгш хавтгай дээр байрлуулсан үед цацраг үүсгэж байгаа бие мэдрэгчийн
29
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
30
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
31
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
32
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
33
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
нийлмэл бүтэцтэй дохио юм. Энэ дохио нь хэд хэдэн хэсгүүдээс тогтно. Үүнд видео
нь босоо ба хэвтээ синхрончилох пульс, нэг дохио руу нэгтгэх дохио зэргээс
тогтоно. Биетийг илрүүлэх танихын тулд зайлшгүй дээрх нийлмэл нарийн бүтэцтэй
аналоги дохиог хөрвүүлж авч боловсруулах шаардлагатай болсон. Энэ ажиллагаа нь
нилээд нарийн бөгөөд өндөр хурд шаарддаг нь хүндрэлтэй болдог. Үүнд зориулсан
өндөр хурдтай аналоги-тоон хувиргуур болон микроконтроллёр шаардлагатай.
Ингэж хөрвүүлж авч чадсанаар бусад мэдрэгчийг бодвол илүү давуу талтай ч камер
болон өндөр хурдтай аналоги-тоон хувргуур, микроконтроллёр нь өндөр үнэтэй
олдоц муутай учраас судлав.
34
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
35
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
36
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Дүгнэлт
Автомат хөдлөгч системийн хувьд биетийг мэдрэх, зам дагах гол асуудал
байдаг билээ. Өмнөх жилүүдийн курс, дипломын ажлуудаар судалгаа болон
гүйцэтгэл хийгдэж байгаагүй шинэлэг сэдэв болсон, дан ганц мэдрэгчийг бус хэд
хэдэн мэдрэгчийг харьцуулан цогц системийн хувьд судалж боловсруулсан нь
ажлын ач холбогдлыг нэмэгдүүлэх нь тодорхой. Инфра улаан туяа болон
фоторезистортой танилцаж түүнийг ашигласан програм хангамж болон техник
хангамжийг гүйцэтгэсэн. Ажлын хүрээнд:
1. Инфра улаан туяаг ашигласан харьцуулагч бүхий зам мэдрэгч
2. Инфра улаан туяаг ашигласан аналоги-тоон хувиргуур бүхий зам мэдрэгч
3. Фоторезистор бүхий үзэгдэх гэрлийн тусламжтайгаар замыг мэдрэгч
4. Тасалгаа болон автомат системд зориулсан томоохон биет, хүнийг
мэдрэгч, хялбар дохиоллын системийг хийв. Мөн эдгээрийг судалсанаар
автомат системийн хувьд ямар мэдрэгч ашиглавал илүү зохимжтой болон,
ямар аргаар зам дагахад боломжтой, найдвартайг судлав.
Энд ашиглаж буй элементээс хамаарч хэд хэдэн янзаар сайжруулж ашиглах
боломжтой. Инфра улаан туяа ашигласан үед үүсгүүрээс дохиог тодорхой
давтамжтайгаар цацна. Хүлээн авагч нь зөвхөн тухайн давтамжтай дохио хүлээн
авснаар гадны инфра улаан туяаг хүлээн авахгүй болно. Энд хаалт хийх
шаардлагагүйгээс гадна инфра улаан туяа нь гэрлийн үүсгүүр ашигладаггүйгээрээ
давуу талтай.
Эдгээр мэдрэгч бүхий хэлхээг цаашид өөр хэрэглээнд шууд авч ашиглах
боломжтой болсноороо сайн болсон.
37
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
Хавсралт
1. Инфра улаан туяаг ашиглан аналоги-тоон хувиргуур бүхий зам дагагчийн 89С51-
ийн ASM дээр бичсэн Микроконтроллёрын програм.
limn equ 5Oh
rmin equ 51h
lmax equ 52h
rmax equ 53h
laa equ 54h
raa equ 55h
carry equ 60h
carryl equ 61h
carry2 equ 62h
carry3 equ 63h
left equ r6
right equ r7
leftl equ r4
rightl equ r5
gpoint equ r3
lpos equ 64h
rpos equ 65h
lposl equ 66h
rposl equ 67h
gpos equ 68h
ga equ 69h
gmin equ 70h
gmax equ 71h
val equ 72h ;
tol EQU P3.2 ;
to2 EQU P3.3
to3 equ p3.6
to4 equ p3.7
elk equ p0.7
ale equ pO.3
oe equ pO.6
st equ pO.4
eoc equ pO.5
org Oh jmp Main
38
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
39
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
call sel_r
lcall convert
mov right,a
lcall clock
call sel_g
lcall convert
mov gpoint,a
lcall position
utgal:
mov a,gpos
cjne a,#l,check_l
jmp forwardl check_l:
mov a,lpos
cjne a,#l,check_r
jmp rleftl check_r:
mov a,rpos
cjne a,#1,rrightl
jmp back forwardl:
ljmp forward rrightl:
ljmp rright rleftl:
ljmp rleft back:
ljmp backs convert:
lcall clock
setb ale
lcall clock
clr ale
setb st
lcall clock
clr st con:
lcall clock
jb eoc,con conl:
lcall clock
jnb eoc.conl
setb oe
mov a,pi
clr oe
mov rO,a
rlc a
mov carry,c
rlc a
mov carryl,c
rlc a
mov carry2,c
mov carry3,carry2
mov carry2,carry
mov carry,carry3
mov c,carry3
rrc a
mov c,carryl
rrc a
mov c,carry
rrc a
mov rl,a
mov rl,a
rrc a ;1
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,rO
rrc a ;2
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,r 0
rrc a ;3
mov rO,a mov a,rl
rlc a mov rl,a mov a,rO
rrc a ;4
40
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
mov rO,a
mov a,r1
rlc a
mov r1,a
mov a,rO
rrc a ;5
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,rO
rrc a ;6
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,rO
rrc a ;7
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,rO
rrc a ;last
mov rO,a
mov a,rl
rlc a ret average:
mov a,rO
clr c
rrc a
mov rO,a
mov a,rl
clr c
rrc a
mov rl,a
mov a,rO
add a,rl ret sel_l:
clr pO.O
clr pO.1
clr p0.2 ret sel_r:
setb pO.O
clr pO.l
clr p0.2 ret sel_g:
clr pO.O
setb pO.l
clr p0.2 ret sel_u:
setb pO.O
setb pO.l
clr p0.2 ret
;********************* machine haana bgaag togtooh function ********************** .************* return value : rO=left
rl=right ****************
; ************* (min)___o___(a)___1___(aa)___2___(aaa)___3___(max) ****************
position:
check_left:
clr c
mov a,laa
subb a,left
jnc nextl
mov lpos,#l
ajmp check_right
nextl:
mov lpos,#3
ajmp check_right
check_right:
clr c mov a,raa
subb a,right
jnc next2
mov rpos,#1
ljmp check_leftl
next2:
41
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
mov rpos,#3
ljmp check_leftl
check_leftl:
clr c
mov a,laa
subb a,leftl
jnc next3
mov lposl,#1
ajmp check_rightl
next3:
mov lposl,#3
check_rightl:
clr c
mov a,ga
subb a,gpoint
jnc next4
mov gpos,#1
ret
next4:
mov gpos,#3
ret
forward:
mov p2,#14h
ljmp gol backs:
mov p2, #28h
ljmp gol rright:
mov p2,#4h
ljmp gol rleft:
mov p2,#10h
ljmp gol dright:
mov p2,#24h
ljmp gol dleft:
mov p2,#18h
ljmp gol clock:
setb elk
nop
nop
nop
nop
nop
nop
clr elk ret
Delay:
mov r0,#0fh
del2:
mov rl,#0ffh
del:
dec rl
cjne Rl,#0,del
dell:
dec rO
cjne r0,#0,del2
ret =nd
2. Инфра улаан туяаг ашигласан харьцуулагч бүхий зам дагагчийн 89С51-ийн ASM
дээр бичсэн Микроконтроллёрын програм.
org Oh jmp
Main
org lOOh
Main:
mov sp,#30h
Good:
mov p2,#4 4h
jnb to3,start
jnb to4,tohiruulga
42
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
jmp Good
start:
lcall delay
mov p2,#66h ;
jnb to2,go
jnb to3,show_min
jnb to4,show_max
jmp start
show_min:
lcall delay
mov p2,lmin
show_mi:
jnb to3,go
ljmp show_mi
show_max:
lcall delay
mov p2,lmax
show_ma:
jnb to3,go
ljmp show_ma
go:
ljmp gow
tohiruulga:
mov p2,#33h
jnb to3,save_min
jnb to4,save_max
jmp tohiruulga
save_min:
lcall delay
save_minl: ;
lcall delay
lcall clock
call sel_l
lcall convert
mov lmin,a
lcall clock
call sel_r
lcall convert
mov rmin,a
lcall clock
call sel_g
lcall convert
mov gmin,a
mov p2,lmin ;
jnb to3,tohiruulga
jmp save_minl
save_max:
lcall delay
save_maxl: ;
lcall delay
call clock
call sel_l
call convert
mov lmax,a
call clock
call sel_r
call convert
mov rmax,a
call clock
call sel_g
call convert
mov gmax,a
mov p2,lmax ;
jnb to4,tohiruulga
jmp save_maxl
complete:
lcall delay
mov rO,lmin
mov rl,lmax
call average
43
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
mov laa,a
mov rO,rmin
mov rl,rmax
call average
mov raa,a
mov rO,gmin
mov rl,gmax
call average
mov ga,a
mov p2,#77h
ljmp Good
jow:
mov p2,#0 go1:
lcall clock
call sel_l
lcall convert
mov left,a
lcall clock
call sel_r
lcall convert
mov right,a
lcall clock
call sel_g
lcall convert
mov gpoint, a
lcall position itgal:
mov a,gpos
cjne a,#l,check_l
jmp forwardl
check_l:
mov a,lpos
cjne a,#l,check_r
jmp rleftl
check_r:
mov a,rpos
cjne a,#l,rrightl
jmp back
forwardl:
ljmp forward
rrightl:
ljmp rright
rleftl:
ljmp rleft
back:
ljmp backs
convert:
lcall clock
setb ale
lcall clock
clr ale
setb st
lcall clock
clr st on:
lcall clock
jb eoc,con
conl:
lcall clock
jnb eoc,conl
setb oe
mov a,pi
clr oe
mov r0,a
rlc a
mov carry,c
rlc a
mov carryl,c
rlc a
mov carry2,c
mov carry3,carry2
mov carry2,carry
44
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
mov carry,carry3
mov c,carry3
rrc a
mov c,carryl
rrc a
mov c,carry
rrc a
mov rl,a
mov rl,a
rrc a ;1
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,r0
rrc a ;2
mov r0,a
mov a,r1
rlc a
mov rl,a
mov a,rO
rrc a ;3
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,rO
rrc a ;4
mov rO,a
mov a,rl
rlc a
mov r1,a
mov a,rO
rrc a ;5
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,rO
rrc a ;6
mov rO,a
mov a,rl
rlc a
mov rl,a
mov a,rO
rrc a ;7
mov rO,a
mov a,r1
rlc a
mov rl,a
mov a,rO
rrc a ;
last mov rO,a
mov a,rl
rlc a ret iverage:
mov a,rO
clr c
rrc a
mov rO,a
mov a,rl
clr c
rrc a
mov rl,a
mov a,rO
add a,rl
ret sel_l:
clr pO.O
clr pO.l
clr p0.2
ret
45
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
sel_r:
setb pO.O
clr pO.l
clr p0.2
ret
sel_g:
clr pO.O
setb pO.1
clr p0.2
set sel_u:
setb pO.O
setb pO.l
clr p0.2 ret
.********************* machine haana bgaag togtooh function ********************** .************* return value : rO=left
rl=right ****************
.*♦*********** (min)___o___(a)___1___(aa)___2___(aaa)___3___(max) ****************
position:
check_left:
clr c
mov a,laa
subb a,left
jnc nextl
mov lpos,#1
ajmp check_right
nextl:
mov lpos,#3
ajmp check_right
check_right:
clr c
mov a,raa
subb a,right
jnc next2
mov rpos,#l
ljmp check_leftl
next2:
mov rpos,#3
ljmp check_leftl
check_leftl:
clr c
mov a,laa
subb a,leftl
jnc next3
mov lposl,#l
ajmp check_rightl
next3:
mov lposl,#3
check_rightl:
clr c
mov a,ga
subb a,gpoint
jnc next4
mov gpos,#1
ret next4:
mov gpos,#3 ret
forward:
mov p2,#14h
ljmp gol
backs:
mov p2,#28h
ljmp gol
rright:
mov p2,#4h
ljmp gol
rleft:
mov p2,#10h
ljmp gol
right:
mov p2,#24h
ljmp gol
left:
46
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
mov p2,#18h
ljmp gol
lock:
setb elk
nop
nop
nop nop
nop
nop
clr elk
ret
Delay:
mov r0,#0fh
Iel2:
mov rl,#0ffh
iel:
dec rl
cjne Rl,#0,del
iell:
dec rO
cjne r0,#0,del2
ret ;nd
Left equ p3.2
eight equ p3.4
jpoint equ p3.3
lulz equ p3.5
lol equ p3.6
eo2 equ p3.7
org Oh
jmp Main
org lOOh
main:
mov sp,#30h
good:
mov p2,#44h
jnb tol,start
jmp Good
start:
jb gpoint,forward
jb left,rright
jb right,rleft
jmp backs
forward:
mov p2,#14h
ljmp start
backs:
mov p2,#28h
ljmp start
rright:
mov p2,#4h
ljmp start
rleft:
mov p2,#10h
ljmp start
rright:
mov p2,#24h
ljmp start
ileft:
mov p2,#18h
ljmp start
end
47
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
la equ 70h
ra equ 71h
al equ 72h
al equ 73h
pos equ 74h
pos equ 75h
posl equ 76h
posl equ 77h
r
al equ 78h
iair equ 79h
ihleh equ 7ah
left equ r6
right equ r7
leftl equ r4
rightl equ r5
48
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
49
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
jmp go
julzl:
juunt:
inc bair
call zuun
ret
algas:
inc bair
call algasah
ret saruunt:
inc bair
call baruun
ret
baruun:
mov val, #lh
call dright
mov r2,#4h
call delayl i_v:
call dright
lcall clock
call sel_r
lcall convert
mov right,a
lcall position
mov a,rpos
cjne a,#3,n_v
yavl:
call yavah
lcall clock
call sel_ll
lcall convert
mov leftl,a
lcall position
mov a,lposl
cjne a,#3,yavl
call yavah
mov rl,#01h
ahiad:
mov r0,#0ffh
again:
lcall clock
call sel_l
lcall convert
mov left,a
lcall clock
call sel_r
lcall convert
mov right,a
lcall position
call yavah
djnz r0,again
djnz rl,ahiad
ret mun:
mov val,#lh
cjne a,#3,check_rr
ret
check_r:
ajmp rleftl
check_rr:
ajmp rrightl
rrightl:
ljmp rright
rleftl:
ljmp rleft
forward:
mov a, #14h
mov sbuf,a
jnb ti,$
clr ti
ret sacks:
50
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
mov a, #28h
mov sbuf,a
jnb ti,$
clr ti
ret
rright:
mov a, #4h
mov sbuf,a
jnb ti,$
clr ti
ret rleft:
mov a, #10h
mov sbuf,a
jnb ti,$
clr ti
ret
;**************** dooroo ergene ******************** dright:
mov a,#24h
mov sbuf,a
jnb ti,$
clr ti
ret
dleft:
mov a,#18h
mov sbuf,a
jnb ti,$
clr ti
ret
.*******♦******** select channel ******************** sel_l:
setb p0.4
clr p0.5
clr p0.6
ret sel_r:
clr p0.4
clr p0.5
clr pO.6
ret sel_ll:
clr p0.4
clr p0.5
setb pO.6
ret sel_rl:
clr p0.4
setb p0.5
clr pO.6
ret
;***************** convert to digital value ******************** convert:
lcall clock
setb ale
nop
lcall clock
clr ale
setb st
lcall clock
clr st
nop
con:
call clock
jb eoc,con
conl:
call clock
jnb eoc,conl
setb oe
mov a,pi
clr oe
ret
clock:
setb elk
nop
nop
nop
51
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
nop
clr clk
ret
;********* machine haana bgaag togtooh function ********************* ;********* return value : lpos, rpos, lposl, rposl
******************
;********* (nun)______1______(a)______3______(max) ******************
position:
check_left:
clr c
mov a,la
subb a,left
jnc nextl
mov lpos,#l
ajmp check_right
nextl:
mov lpos,#3
check_right:
clr c
mov a,ra
subb a,right
jnc next2
mov rpos,#1
ljmp check_leftl
next2:
mov rpos,#3
check_leftl:
clr c
mov a,lal
subb a,leftl
jnc next3
mov lposl,#1
ajmp check_rightl
next3:
mov lposl,#3
check_rightl:
clr c
mov a,ral
subb a,right
jnc next4
mov rposl,#1
ret next4:
mov rposl,#3
ret
; *************** delay ****************** Delay:
mov r0,#80h
del2:
mov rl,#0ffh
djnz rl,$
djnz rO,del2
clr ti
ret
; *♦* r2*0.065sec *** Delayl:
mov r0,#0ffh del3:
mov rl,#0ffh
djnz rl,$
djnz r0,del3
djnz r2,delayl
clr ti
ret
end
52
Танхим Сүлжээ Электроникийн шилдэг шийдэл 2004 Б.Мягмарнаран
8. <URL: http://www.robotstorehk.com/>
9. <URL: www.contrib.andrew.cmu.edu/~rjg/websensors/robot_sensors2.html>
53