久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2747|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

求大神把這兩個程序組合起來

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:205456 發(fā)表于 2017-6-6 17:23 | 只看該作者 回帖獎勵 |正序?yàn)g覽 |閱讀模式
3黑幣
/*********************************************************************
    光電開關(guān)循跡程序
*********************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar x3,x4;
uint i;
sbit P20=P1^2;//L298N使能端ENA?
sbit P21=P1^5;//L298N使能端ENB?
sbit P22=P1^0;//左電機(jī)A1? IN1
sbit P23=P1^1;//左電機(jī)A2? IN2
sbit P24=P1^3;//右電機(jī)B1?  IN3
sbit P25=P1^4;//右電機(jī)B2?  IN4
sbit P10=P3^6;//右邊探頭?
sbit P12=P3^7;//左邊探頭?
void delay_us(unsigned int aa)
{
while(aa--);
}
void ds(uchar x1,uchar x2)
{
TMOD=0X01;//定時器0,工作方式1??
TH0=x1;//賦高8位初值
TL0=x2;//賦低8位初值??
x3=x1;
x4=x2;//保存計(jì)數(shù)初值
EA=1;ET0=1;//開總中斷,開定時器0中斷
TR0=1;//定時器0開始計(jì)數(shù)?
}

void xunji()
{
if(P10==0&&P12==0)//左、右探頭都檢測到黑色
{
P22=1;
//停止???
P23=0;

P24=1;

P25=0;
}
if((P10==1&&P12==1))//全檢測不到黑線,前進(jìn)
{
//ds(0xff,0xff);
//計(jì)數(shù)初值65535????????
P22=0;
P23=0;//全速前進(jìn)
P24=0;
P25=0;
for(i=0;i<100;i++)
{
delay_us(5);
P20=~P20;
P21=~P21;
}
}
if((P10==0&&P12==1))
//右邊探頭檢測到黑線
{
ds(0xff,0xe1);
//計(jì)數(shù)初值65505??
}
if((P10==1&&P12==0))//右邊探頭檢測到黑線或右、中探頭檢測到黑線
{
ds(0xff,0xe1);//計(jì)數(shù)初值65505??
}
}
void main()
{
while(1)
{
xunji();
P20=1;
P21=1;//ENA和ENB同時為高電平時,L298N芯片正常工作
P22=1;
P23=1;
P24=1;
P25=1;
}
}
void time0()interrupt 1
{
TH0=x3;
TL0=x4;//重新賦計(jì)數(shù)初值
if((P10==1&&P12==1))//全檢測不到黑線,前進(jìn)
{
P22=0;
P23=0;//全速前進(jìn)
P24=0;
P25=0;
}
if((P10==0&&P12==1))//右邊探頭檢測到黑線,小車左轉(zhuǎn)
{
P22=1;
P23=0;//小車左拐???
P24=0;
P25=0;
}
if((P10==1&&P12==0))//左邊探頭檢測到黑線,小車右轉(zhuǎn)
{
P22=0;
P23=0;//小車右拐??
P24=1;
P25=0;
}
}

/***************************************************************************
2.
     超聲波測距并用數(shù)碼管顯示程序
**********************************************************************/

#include <reg52.h>//器件配置文件
#include <intrins.h>
sbit RX=P1^1;//echo
sbit TX=P1^2;//trig
sbit DU= P2^6;//數(shù)碼管段選
sbit WE= P2^7;//數(shù)碼管位選
unsigned int time=0;
unsigned int timer=0;
unsigned char posit=0;
unsigned long S=0;
bit flag =0;
unsigned char const discode[] ={ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,0x6F,0x40,0x00/*-*/};
unsigned char const positon[3]={ 0xfe,0xfd,0xfb};
unsigned char disbuff[4]={ 0,0,0,0,};
/********************************************************/
void Display(void)//掃描數(shù)碼管
{
DU = 0;
if(posit==0)
{P0=(discode[disbuff[posit]])|0x80;}
else
{P0=discode[disbuff[posit]];}
DU = 1;
DU = 0;
WE = 0;
P0=positon[posit];
WE=1;
WE=0;
if(++posit>=3)
posit=0;
}
/********************************************************/
void Conut(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.7)/100;//算出來是CM
if((S>=700)||flag==1) //超出測量范圍顯示“-”
{
flag=0;
disbuff[0]=10;//“-”
disbuff[1]=10;//“-”
disbuff[2]=10;//“-”
}
else
{
disbuff[0]=S%1000/100;
disbuff[1]=S%1000%100/10;
disbuff[2]=S%1000%10 %10;
}
}
/********************************************************/
void zd0() interrupt 1//T0中斷用來計(jì)數(shù)器溢出,超過測距范圍
{
flag=1;//中斷溢出標(biāo)志
}
/********************************************************/
void zd3() interrupt 3//T1中斷用來掃描數(shù)碼管和計(jì)800MS啟動模塊
{
TH1=0xf8;
TL1=0xcd;
Display();
timer++;
if(timer>=400)
{
timer=0;
TX=1;//800MS??啟動一次模塊
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
}
/*********************************************************/
void main(void)
{
TMOD=0x11;//設(shè)T0為方式1,GATE=1;
TH0=0;
TL0=0;
TH1=0xf8;//2MS定時
TL1=0xcd;
ET0=1; //允許T0中斷
ET1=1;//允許T1中斷
TR1=1;//開啟定時器
EA=1;//開啟總中斷
while(1)
{
while(!RX); //當(dāng)RX為零時等待
TR0=1;//開啟計(jì)數(shù)
while(RX);//當(dāng)RX為1計(jì)數(shù)并等待
TR0=0;//關(guān)閉計(jì)數(shù)
Conut();//計(jì)算
}
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

地板
ID:206560 發(fā)表于 2017-6-9 03:06 | 只看該作者
左右手指相扣,就是兩個程序合并的結(jié)果。 #include 部分 先合并,接著是  SBIT  然后是 全局變量。 自定義函數(shù),main 初始化部分  , while(1)內(nèi)容。 也就是把程序看成六段組成,每段分別合并。最后是 整理變量名,函數(shù)名,端口和定時器,看看有沒有沖突。

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

板凳
ID:111634 發(fā)表于 2017-6-7 22:22 | 只看該作者
有10000個NOP組成的程序更好玩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:62223 發(fā)表于 2017-6-7 15:26 | 只看該作者
樓上真有雅興,那么耐心數(shù)得那么準(zhǔn)確
回復(fù)

使用道具 舉報(bào)

樓主
ID:111634 發(fā)表于 2017-6-6 21:45 | 只看該作者
這個程序是你自己寫的還是抄來的?若是你自己寫的,建議你再進(jìn)一步學(xué)學(xué);若是抄來的,就把這個程序槍斃了。因?yàn)檫@是一個爛程序,我還是第一次看到一個有連續(xù)21個NOP組成的程序。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91九色麻豆| 羞羞的视频在线看 | 免费福利视频一区二区三区 | 毛片一区二区三区 | 521av网站 | 精品久久久久久亚洲综合网 | 久久久精选| 999观看免费高清www | 国产999精品久久久影片官网 | 日韩欧美中文 | 97色在线观看免费视频 | 亚洲视频区 | 在线国产精品一区 | 国产成人免费在线观看 | 一区中文字幕 | 欧美精品乱码99久久影院 | 国产精品色婷婷久久58 | 最新日韩欧美 | 久久久久国产一区二区三区 | 国产精品一区二区久久久久 | 又爽又黄axxx片免费观看 | 精品国产乱码久久久久久闺蜜 | 成人免费网站www网站高清 | 欧美性乱 | 国产精品一区二区福利视频 | 综合自拍| 欧美国产精品一区二区 | 天天色官网 | 久久99精品久久久久久狂牛 | 国产美女在线免费观看 | 精品欧美一区二区三区免费观看 | av网站免费观看 | 精品欧美一区二区三区免费观看 | 欧美亚洲国产一区二区三区 | 精品99爱视频在线观看 | 日韩av免费看 | 自拍 亚洲 欧美 老师 丝袜 | 欧美亚洲另类在线 | 99久久精品免费看国产免费软件 | 午夜精品久久久久99蜜 | 在线91 |