找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1872|回復(fù): 0
收起左側(cè)

51單片機(jī)循跡小車代碼問題,第一次中斷好像會(huì)進(jìn)入,但是出不來

[復(fù)制鏈接]
ID:507709 發(fā)表于 2019-4-9 11:24 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char;
#define uint unsigned int;
sbit INL=P3^7;
sbit ENL1=P3^6;
sbit ENL2=P3^5;
sbit INR=P3^2;
sbit ENR1=P3^4;
sbit ENR2=P3^3;
sbit L1=P1^3;
sbit L2=P1^1;
sbit R2=P1^4;
sbit R1=P1^2;
sbit beep=P1^5;
uchar zkbL=0,zkbR=0;//左右輪占空比
uchar t=0,s=0,time=0,fx=0;//t為動(dòng)機(jī)時(shí)間,s為距離,time為測(cè)距距離,fx為傳感器的方向
void init(){//初始化函數(shù)
        ENL1=1;
        ENL2=0;
        ENR1=1;
        ENR2=0;
        zkbL=30;
        zkbR=30;
        INL=1;
        INR=1;
}
void time01_init(){
        TMOD=0x11;
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        EA=1;
        TR0=1;
        ET0=1;
        TF0=0;
        TH1=(65536-1000)/256;
        TL1=(65536-1000)%256;
        TR1=1;
        ET1=1;
        TF1=0;
}
void qianjin(){
        zkbL=30;
        zkbR=30;}
void xiaozuo(){
        zkbL=20;
        zkbR=80;}
void dazuo(){
        zkbL=10;
        zkbR=100;}
void xiaoyou(){
        zkbL=80;
        zkbR=20;}
void dayou(){
        zkbL=100;
        zkbR=10;}
void xunji(){//循跡函數(shù)
        if(L1==0&&L2==0&R2==1&R1==0)
        fx=1;
        else if(L1==0&&L2==0&R2==0&R1==1)
        fx=2;
        else if(L1==0&&L2==1&R2==0&R1==0)
        fx=-1;
        else if(L1==1&&L2==0&R2==0&R1==0)
        fx=-2;
        switch(fx){
                case 1 : xiaoyou();break;
                case 2 :  dayou();break;
                case -1 : xiaozuo();break;
                case -2 : dayou();break;
                default:qianjin();}}
void timer0() interrupt 1{//中斷1 計(jì)時(shí)器2pwm驅(qū)動(dòng)電機(jī)
        TH0=(65536-250)/256;
        TL0=(65536-250)%256;
        TF0=0;
        if(t<zkbL){
        INL=1;}
        else INL=0;
        if(t<zkbR){
        INR=1;}
        else INR=0;
        beep=~beep;
        t=(t+1)%100;
        }
void main(){//主函數(shù)
        init();
        time01_init();
        while(1){
        beep=0;
        xunji();
}}

求助!!目前循跡部分都無法完成
不過用蜂鳴器和車輪試了試第一次中斷好像會(huì)進(jìn)入,但是出不來

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表