51單片機實現(xiàn)光源的跟蹤
西安理工大學(xué)--自動化與信息工程學(xué)院
鄒藝良 編寫(2014.08.25)
郵箱:262276047@qq.com
//*******************************
//西安理工大學(xué)--自動化與信息工程學(xué)院--鄒藝良
//*******************************
unsigned int ch0,ch1; int value,chazhi,z1,z2,z3,z4,gap; gap=30; while(1) { uart_init(); ADC_init(); //顯示左右兩傳感器電壓 ch0=show_ADC_result_ch0(); //通道ch0電壓 Send(0x20); //四個空格符 Send(0x20); Send(0x20); Send(0x20); ch1=show_ADC_result_ch1(); //通道ch1電壓 Send(0x20); //四個空格符 Send(0x20); Send(0x20); Send(0x20); //顯示差值電壓 value=ch0-ch1; if(ch0>ch1) {chazhi=ch0-ch1;} else {chazhi=ch1-ch0;} z1=chazhi/1000; z2=chazhi00/100; z3=chazhi000/10; z4=chazhi000; Send(0x43); //C Send(0x3D); //= if(ch0 {Send(0x2D);} else {Send(0x2B);} Send(z1+48); Send(0x2E); //. Send(z2+48); Send(z3+48); Send(z4+48); if((ch0+gap) {Send(0x52);} if(ch0>(ch1+gap)) {Send(0x4C);} if(-gap<(ch0-ch1) || (ch0-ch1) {Send(0x20);} //Send(0xD); //回車 //Send(0xA); //換行 //光源跟蹤 if(-gap stop_turn(); else if(value<-gap) negative_turn(10); else if(value>gap) positive_turn(10); //for(p=0;p<50;p++) //延時1s刷新一次 //{delay_10ms();} } unsigned int result; ADC_CONTR=0x88|ch; //開啟AD,選擇通道 _nop_(); _nop_(); _nop_(); _nop_(); while(!(ADC_CONTR & 0x10));//等待轉(zhuǎn)換完成,F(xiàn)LAG標(biāo)志位置位 ADC_CONTR&=0x67; //關(guān)AD,清FLAG 01100111 result=ADC_RES*4+ADC_RESL; //獲取10位結(jié)果 return(result);
#include
#include
#include
void ADC_init();
int get_ADC_result(char ch);
unsigned int show_ADC_result_ch0();
unsigned int show_ADC_result_ch1();
void Send(unsigned char dat);
void uart_init();
void delay(unsigned int a);
void delay_10ms();
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P1_3=P1^3;
void positive_turn(unsigned int count); //順時針
void negative_turn(unsigned int count); //逆時針
void stop_turn();
void main()
{
}
void ADC_init()
{
P1ASF=0x03;//設(shè)置P1.0,P1.1為AD轉(zhuǎn)換口
ADC_CONTR=0x80;//打開AD電源、選擇轉(zhuǎn)換速度、
ADC_RES=0;
ADC_RESL=0;
AUXR1&=0xfb; //設(shè)置AD轉(zhuǎn)換結(jié)果存放方式,此設(shè)為10位
delay(5);
}
int get_ADC_result(char ch)
{
}
關(guān)鍵詞:
51單片機光源跟
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論