51單片機實現(xiàn)光源的跟蹤
unsigned int show_ADC_result_ch0()
{ unsigned long int VCC1; unsigned int A1,B1,C1,D1,i; VCC1=0; for(i=0;i<8;i++) { VCC1=VCC1+get_ADC_result(0);} VCC1=VCC1/8; VCC1=get_ADC_result(0); VCC1=(long int)VCC1*10000/1024*5; A1=VCC1/10000; B1=VCC1000/1000; C1=VCC100000/100; D1=VCC1000000/10; Send(0x56); //V Send(0x31); //1 Send(0x3D); //= Send(A1+48); Send(0x2E); //. Send(B1+48); Send(C1+48); Send(D1+48); //Send(0xD); //回車 //Send(0xA); //換行 return(A1*1000+B1*100+C1*10+D1);
}
unsigned int show_ADC_result_ch1()
{ long int VCC2; unsigned int A2,B2,C2,D2,i; VCC2=0; for(i=0;i<8;i++) { VCC2=VCC2+get_ADC_result(1);} VCC2=VCC2/8; VCC2=get_ADC_result(1); VCC2=(long int)VCC2*10000/1024*5; A2=VCC2/10000; B2=VCC2000/1000; C2=VCC200000/100; D2=VCC2000000/10; Send(0x56); //V Send(0x32); //1 Send(0x3D); //= Send(A2+48); Send(0x2E); //. Send(B2+48); Send(C2+48); Send(D2+48); //Send(0xD); //回車 //Send(0xA); //換行 return(A2*1000+B2*100+C2*10+D2);
}
void uart_init()
{ TMOD=0x20; //TMOD=0010 0000B,定時器T1工作于方式2 SM0=0; //選擇串行口工作方式1 SM1=1; TH1=0xfa; //根據(jù)規(guī)定給定時器T1賦初值 9600波特率 TL1=0xfa; //根據(jù)規(guī)定給定時器T1賦初值 TR1=1; //啟動定時器T1
}
void Send(unsigned char dat)
{ SBUF=dat; while(TI==0); TI=0;
}
void positive_turn(unsigned int count)
{ P2_0=1; P2_1=0; CMOD = 0x00;//設(shè)置PCA時鐘周期 系統(tǒng)時鐘12分頻 fosc/12 CL = 0x00; //初值設(shè)置 CH = 0x00; CCAP0L = count; //設(shè)置初始占空比為25% CCAP0H = count;//占空比 設(shè)置的是低電平的時間 CCAPM0 = 0X42;//PWM模式 CR = 1;//開啟PCA計數(shù)器
}
void negative_turn(unsigned int count)
{ P2_0=0; P2_1=1; CMOD = 0x00;//設(shè)置PCA時鐘周期 系統(tǒng)時鐘12分頻 fosc/12 CL = 0x00; //初值設(shè)置 CH = 0x00; CCAP0L = count; //設(shè)置初始占空比為25% CCAP0H = count;//占空比 設(shè)置的是低電平的時間 CCAPM0 = 0X42;//PWM模式 CR = 1;//開啟PCA計數(shù)器
}
void stop_turn()
{ P1_3=1; P2_0=1; P2_1=1;
}
void delay(unsigned int a)
{
unsigned int b,i,tt;
b=a;
for(i=1;i
{tt=60000;
while(tt--);}
}
void delay_10ms()
{ TMOD=0x01; TF0=0; TH0=(65536-18433)/256;//10ms TL0=(65536-18433)%6; TR0=1; while(!TF0); TR0=0;
關(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)換器
- 電源管理
- 信號放大器
評論