|
采用ATM89S52單片機(jī)來作為整機(jī)的控制單元。紅外線探頭采用市面上通用的發(fā)射管與及接收頭,經(jīng)過單片機(jī)調(diào)制后發(fā)射。鐵片檢測采用電感式接近開關(guān)LJ18A3-8-Z/BX檢測,黑帶采用光敏二極管對光源信號采集,再經(jīng)過ADC0809轉(zhuǎn)化為數(shù)字信號送到單片機(jī)系統(tǒng)處理。此系統(tǒng)比較靈活,采用軟件方法來解決復(fù)雜的硬件電路部分,使系統(tǒng)硬件簡潔化,各類功能易于實(shí)現(xiàn),能很好地滿足題目的要求。
0.png (40.53 KB, 下載次數(shù): 77)
下載附件
2017-1-9 02:11 上傳
0.png (42.48 KB, 下載次數(shù): 87)
下載附件
2017-1-9 02:11 上傳
課程設(shè)計(jì)論文的截圖:
0.png (37.2 KB, 下載次數(shù): 75)
下載附件
2017-1-9 02:12 上傳
0.png (44.91 KB, 下載次數(shù): 72)
下載附件
2017-1-9 02:13 上傳
測角的程序:
- #include"reg51.h"
- #define uchar unsigned char
- #define uint unsigned int
- uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- uchar code segnode[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
- #define digport P0
- #define dataport P1
- #define wordport P2
- #define r 45
- sbit eoc= P3^3;
- sbit clk= P3^4;
- sbit start= P3^6;
- sbit oe= P3^7;
- bit flag;
- uchar a[4]={0xff,0xff,0xff,0xff};//黑屏
- uchar dig=0x01;
- void delay(uint t)
- {for(;t<0;t--);}
- /*void display()
- {
- uchar i;
- wordport=0xff;
- for(i=0;i<4;i++)
- {
-
- wordport=a[i];
- digport=dig<<1;
- delay(300);
- }
- }*/
- void Display(void)
- {
- uchar i,k,select=0x01;
- for(i=0;i<=5;i++)
- { digport=select;
- wordport=a[i];
- select<<=1;
- for(k=0;k<=100;k++)//改
- {;}
- }
- }
- void time0() interrupt 1
- { clk=~clk; }
- void chuli()
- {
- unsigned long int da;
- //eoc=0;
- start=1;
- oe=1;
- da=dataport;
- delay(10);
- oe=0;
- // da=da*196;
- if(da<127)a[3]=0xbf;//128改127//127.5=127
- if(da>=127)a[3]=0xff;
- // if(da<5000||da>45000){da=0;}
-
- if(a[3]==0xff) {da=da-127; da=da*1961;} //}if(da>49000)da=50000;}
- if(a[3]==0xbf) {da=128-da; da=da*1961;}//128改127
-
- da=da*r;
- if(da>9000000)da=9000000;
- a[0]=seg[da/10000%10];
- if((da/1000%10)>5)
- a[0]=seg[da/10000%10+1];
- a[1]=segnode[da/100000%10];
- a[2]=seg[da/1000000];
- start=0;
- delay(10);
- }
- void main(void)
- { uchar k;
- delay(30);
- // IT1=1;EX1=1;
- TMOD=0x02;TH0=253;TL0=253;
- TR0=1;ET0=1;PT0=1;
- EA=1;
- //eoc=0;
- start=0;
- start=1;
- start=0;
- for(;;)
- {
- if(eoc) chuli();
- for(k=0;k<100;k++)
- { Display();}
- }
-
- }
復(fù)制代碼
0.png (41.52 KB, 下載次數(shù): 100)
下載附件
2017-1-9 02:10 上傳
所有設(shè)計(jì)資料下載:
測障測角小車.rar
(126.75 KB, 下載次數(shù): 17)
2017-1-7 11:04 上傳
點(diǎn)擊文件名下載附件
123 下載積分: 黑幣 -5
|
|