




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、多功能小車程序成旺榮2015-4-6/main.c#include"allhead.h"#define uchar unsigned char#define uint unsigned intfloat dis=0; /原始距離int distance=0; /距離整數(shù)char changeint4='0','1','2','3'void main() maininit(); /全部初始化 while(1) / beer=0; dis=MeasureDistance(); /測(cè)量距離 distance=(int
2、)(dis*1); /單位mm disapple(distance); /數(shù)碼管顯示 change_int_to_char(distance); /把距離變成四位字符 send_and_control(); /發(fā)送距離的四位字符 Car(s1,s2);delayms(10); /mainint.c初始化#include"allhead.h" void maininit() s1=0; s2=0; SCON=0X50;/設(shè)置串口工作方式 為工作方式1 包含SM0 SM1 SM2 REN 0101 0000 / SM0=0; /SM1=1; /REN=1; PCON=0X80;
3、/波特率加倍 TMOD=0X21; /計(jì)時(shí)器0工作1,計(jì)時(shí)器1工作2 TH0=0; /計(jì)數(shù)器0 TL0=0; TH1=0XFA; /計(jì)數(shù)器1初始值設(shè)置,注意波特率是9600的 TL1=0XFA; IT0=1; /下降沿觸發(fā) EX0=1;/開(kāi)外部中斷 ET0=1; /開(kāi)定時(shí)器0中斷 TR0=0; /未打開(kāi)計(jì)數(shù)器 ES=1;/打開(kāi)接收中斷 EA=1; /開(kāi)總中斷 TR1=1; /打開(kāi)計(jì)數(shù)器 /hc04.c藍(lán)牙模塊#include"allhead.h" #include"main.h"unsigned char flag; char receiveData;
4、/藍(lán)牙接收數(shù)據(jù) void sendout() int i;for(i=0;i<4;i+) SBUF=changeinti;while(!TI); /等待發(fā)送數(shù)據(jù)完成TI=0; /清除發(fā)送完成標(biāo)志位for(i=0;i<2;i+)SBUF='m'while(!TI); /等待發(fā)送數(shù)據(jù)完成TI=0;SBUF='n'while(!TI); /等待發(fā)送數(shù)據(jù)完成TI=0; /* 函 數(shù) 名 :Usart() interrupt 4* 函數(shù)功能 : 中斷輸入函數(shù)* 輸 入 : 無(wú)* 輸 出 : 無(wú)*/void Usart() interrupt 4 int i;/
5、char receiveData; /藍(lán)牙接收數(shù)據(jù)receiveData=SBUF; /出去接收到的數(shù)據(jù)RI = 0; /清除接收中斷標(biāo)志位flag=1;/eat.c超聲波模塊#include"allhead.h"float i=0.0;float MeasureDistance() TH0=0; TL0=0;Echo=0; Trig=1; /延時(shí) Delay10us(); Trig=0; while(Echo=0); TR0=1; delayms(20); return (i);void counter0(void)interrupt 0 TR0=0; i=(float)
6、TH0*256+(float)TL0)*0.17; /距離,返回值為mm值 TH0=0; TL0=0; if(i<300) beer=1; delayms(1); beer=0; delayms(5); void Timer0()interrupt 1 /send_and_control.c輸出與控制#include"allhead.h"unsigned int s1,s2;void send_and_control() if(distance<300) s1=2; if(flag=1) ES=0;switch (receiveData) case '1
7、': s1=1; break; /前進(jìn) case '2': s1=2; break; /后退case '3': s1=3; break; /左拐 case '4': s1=4; break; /右拐 case '5': s1=5; break;/后退 case '6' : s2+=5; if(s2>=30)s2=0; break; /減速case '7' : s2-=5; if(s2<=0)s2=10; break; /加速 case '8' : sendout(
8、); break; /case default : s1=5; break; /switchES=1; flag=0; /if/car.c#include"allhead.h"void Car(unsigned int c,unsigned int d) switch (c) case 1: Go(); delayms(10);Stop();delayms(d); Go(); break; case 2: Back(); delayms(10);Stop();delayms(d); Back(); break; case 3: Turn_left(); delayms(5)
9、;Stop();delayms(10); Turn_left(); break; case 4: Turn_Right(); delayms(5);Stop();delayms(10); Turn_Right();break; case 5: Stop(); break; void Turn_left(void) IN1=0; IN2=0; IN3=1; IN4=0;void Turn_Right(void) IN1=1; IN2=0; IN3=0; IN4=0;void Go(void) IN1=1; IN2=0; IN3=1; IN4=0;void Back(void) IN1=0; IN
10、2=1; IN3=0; IN4=1;void Stop(void) IN1=0; IN2=0; IN3=0; IN4=0;/displayable.c數(shù)碼管顯示#include"allhead.h"/*/-定義全局變量-/unsigned char code DIG_PLACE8 = 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位選控制 查表的方法控制unsigned char code DIG_CODE17 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x
11、39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼*/unsigned char code DIG_PLACE4 = /*0x01,0x02,0x04,0x08*/0xfe,0xfd,0xfb,0xf7;unsigned char code DIG_CODE17 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼 /共陰極unsigned char DisplayData4;/用來(lái)存放要顯示的4位數(shù)的值int apple4=0;/* 函 數(shù) 名 : disapple* 函數(shù)功能 : 轉(zhuǎn)換函數(shù)* 輸 入 : 無(wú)* 輸 出 : 無(wú)*/void disapple(int j)unsigned char i;unsigned int k;int a1,a2,a3,a4;a1=j/1000;a2=(j%1000)/100;a3=(j%100)/10;a4=j%10; apple0=a1;apple1=a2;apple2=a3;apple3=a4;DisplayData0=DIG_CODEa1;DisplayData
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程施工質(zhì)量通病防治措施
- 護(hù)理核心制度-濟(jì)南市傳染病醫(yī)院
- 2025汽車維修保養(yǎng)合同范本
- 2025科技創(chuàng)新人才資助資金資助合同
- 2025年別墅設(shè)計(jì)與裝修合同
- 《軟件開(kāi)發(fā)基礎(chǔ)》課件
- 2025年自建小型辦公樓租賃合同范本
- 2025年上海市勞動(dòng)合同簡(jiǎn)易版范文
- 2025物業(yè)管理勞動(dòng)合同
- 香港結(jié)婚忠誠(chéng)協(xié)議書(shū)
- 腦膠質(zhì)瘤診療指南2022年版
- 統(tǒng)編版一年級(jí)語(yǔ)文下冊(cè)部編版第六單元單元教材解讀(素材)(課件)
- 乳腺結(jié)節(jié)手術(shù)后的護(hù)理
- 電廠灰場(chǎng)環(huán)境風(fēng)險(xiǎn)評(píng)估報(bào)告
- 設(shè)備購(gòu)置分析報(bào)告
- 《動(dòng)物的家》課件
- 超聲評(píng)價(jià)頸動(dòng)脈易損斑塊中國(guó)專家共識(shí) 2023版
- 九小場(chǎng)所安全檢查表
- 醫(yī)療廢物處理中的安全與風(fēng)險(xiǎn)管理
- 客人醉酒服務(wù)流程
- 軍事英語(yǔ)詞匯整理
評(píng)論
0/150
提交評(píng)論