資源簡介
小車測速程序,51代碼,有屏顯示,有超聲波測距等功能。

代碼片段和文件信息
//超聲波模塊顯示程序
#include??????//包括一個52標準內(nèi)核的頭文件
#include??//包含_nop_()函數(shù)定義的頭文件
#define?uchar?unsigned?char?//定義一下方便使用
#define?uint??unsigned?int
#define?ulong?unsigned?long
#define?DataPort?P2
sbit?Tx??=?P3^4;?//產(chǎn)生脈沖引腳
sbit?Rx??=?P3^2;?//回波引腳
sbit?left1=P0^0;
sbit?left2=P0^1;
sbit?right1=P0^2;
sbit?right2=P0^3;
sbit?E=P3^5;
sbit?RS=P3^7;
sbit?RW=P3^6;
sbit?RST=P3^0;
sbit?PSB=P3^1;
unsigned?char?code?string[?]=?{“右電機轉(zhuǎn)速“};
unsigned?char?code?unit[]={“CM/S“};
unsigned?char?code?digit[?]={“0123456789.“};?//定義字符數(shù)組顯示數(shù)字
uint?distance[4]speed_dat[4];??//測距接收緩沖區(qū)
uchar?geshibaitempoutcomeHflagoutcomeLiCOUT_2COUT_3;
??//自定義寄存器
bit?succeed_flag;??//測量成功標志
//********函數(shù)聲明
void?conversion(uint?temp_data);
void?delay_20us();
void?pai_xu();
void?LMotRun(uchar?speed1?uchar?speed2);
void?LMotBack(uchar?speed1?uchar?speed2);
void?RMotRun(uchar?speed1uchar?speed2);
void?RMotBack(uchar?speed1?uchar?speed2);
void?LMotStop();
void?RMotStop();
void?AMotRun(uchar?speed1?uchar?speed2);
void?Tracking();
void?conversion_1(uint?temp_data);
void?LCD_Init(void);
void?Check_Busy();
void?Write_char(bit?start?uchar?temp_data);
void?Clr_Scr(void);
void?LCD_set_xy(?uchar?x?uchar?y?);
void?LCD_Write_string(uchar?Xuchar?Yuchar?*s);
void?LCD_Write_number(uchar?s);
void?Lcd_Mark2(void);
void?Conut(void);
void?delay_1(uint?i)
{
int?j;
for(;i>0;i--)
{
for(j=120;j>0;j--);
}
}
/*****************************************************
函數(shù)功能:延時1ms
(3j+2)*i=(3×33+2)×10=1010(微秒),可以認為是1毫秒
***************************************************/
void?delay1ms()
{
???unsigned?char?ij;
?for(i=0;i<10;i++)
??for(j=0;j<33;j++)
???; ?
?}
/*****************************************************
函數(shù)功能:延時若干毫秒
入口參數(shù):n
***************************************************/
?void?delay(unsigned?char?n)
?{
???unsigned?char?i;
for(i=0;i ???delay1ms();
?}
void?main(void)???//?主程序
{??uint?distance_dataab;
????uint?total;
???uchar?CONT_1;????
??P0=0x7a;?//定義變量i指向字符串數(shù)組元素
???i=0;
???flag=0;
???EA=1;
Tx=0;???????//首先拉低脈沖輸入引腳
TMOD=0x11;????//定時器0,定時器1,16位工作方式
???IT0=0;
???IT1=1;
???EX1=1;????????//由高電平變低電平,觸發(fā)外部中斷
ET1=1;
TR1=1;
TH1=0;
TL1=0;????????//打開定時器0中斷
EX0=0;????????//關(guān)閉外部中斷
?? Tracking();
LCD_Init();???????//設(shè)置液晶顯示器
Clr_Scr();????????//清屏
???????????????????//從圖形顯示狀態(tài)下返回
????Lcd_Mark2();
while(1)?????????//程序循環(huán)
{
?? Conut();
EX0=0;
TR0=0;
?????Tx=1;
????????delay_20us();
????????Tx=0;?????????//產(chǎn)生一個20us的脈沖,在Tx引腳??
????????while(Rx==0);??//等待Rx回波引腳變高電平
?????succeed_flag=0;?//清測量成功標志
?????EX0=1;??????????//打開外部中斷
? ??TH0=0;??????????//定時器0清零
????????TL0=0;??????????//定時器0清零
?????TF0=0;??????????//
????????TR0=1;??????????//啟動定時器0
??????while(TH0?30);//等待測量的結(jié)果,周期65.535毫秒(可用中斷實現(xiàn))??
??TR0=0;??????????//關(guān)閉定時器0
????????EX0=0;??????????//關(guān)閉外部中斷
????if(succeed_flag==1)
?????{?
???distance_data=outcomeH;????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????445056??2011-06-15?21:13??測速小車\小車循跡+避障+顯示測速\HY-SRF05?使用手冊明書.pdf
?????文件???????6376??2009-05-07?14:37??測速小車\小車循跡+避障+顯示測速\STARTUP.A51
?????文件??????14071??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\STARTUP.LST
?????文件????????758??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\STARTUP.OBJ
?????文件??????21454??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速
?????文件??????10047??2011-11-22?11:43??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.c
?????文件?????????92??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.lnp
?????文件??????19559??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.LST
?????文件??????31667??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.M51
?????文件??????25633??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.OBJ
?????文件????????230??2012-08-25?02:34??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.plg
?????文件??????10047??2011-11-22?17:16??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.txt
????.......?????71405??2012-08-25?02:34??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.uvgui.Administrator
????.......??????5683??2012-08-25?02:34??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.uvopt
????.......?????13508??2012-08-25?02:34??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速.uvproj
????.......?????55739??2011-11-22?11:43??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速_uvopt.bak
????.......?????13478??2011-11-14?20:45??測速小車\小車循跡+避障+顯示測速\小車循跡+避障+顯示測速_uvproj.bak
?????目錄??????????0??2012-08-25?02:34??測速小車\小車循跡+避障+顯示測速
?????目錄??????????0??2012-08-25?02:33??測速小車
-----------?---------??----------?-----??----
???????????????744803????????????????????19
- 上一篇:無線充電制作
- 下一篇:計算生成SPWM的占空比的軟件
評論
共有 條評論