| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1241 人关注过本帖
标题:谢谢各位大哥大姐,帮忙找下哪里错了?
只看楼主 加入收藏
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
收藏
得分:0 
你应该把题目贴上
float score;
     int s;  
     printf("your grade:");
     scanf("%f",&score);
     s=score/10;
。。。。。
2013-04-26 19:29
w天然呆x
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2013-4-20
收藏
得分:0 
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar pro_left,pro_right,i=0,j=0,u,v;
uintq,b;
sbit a=P2^4;
sbit left1=P2^0;
sbit left2=P2^1;
sbit right1=P2^2;
sbit right2=P2^3;
sbit left_red1=P1^2;
sbit left_red2=P1^3;
sbit right_red1=P1^5;
sbit right_red2=P1^7;
uint temp1=0;
uint temp2=0;
uint temp3=0;
uint temp4=0;
void delay(uintz)
{
    uchar k;
    while(z--)
    {for(k=o;k<121;k++);}
}
void int()
{
    left_red1=1;
    left_red2=1;
    right_red1=1;
    right_red2=1;
    TMOD=0x01;
    TH0=(65536-1000)/256;
    TH0=(65536-1000)%256;
    EA=1;
    ET0=1;
    TR0=1;
    left1=0;
    left2=1;
    right1=1;
    right2=0;
}
void time0(void)interrupt1
{
    i++;
    j++;
    TH0=(65536-1000)/256;
    TL0=(65536-1000)%256;
}
void straight()
{
    pro_right=39;
    pro_left=39;
    temp1=0;
    temp2=1;
    temp3=1;
    temp4=0;
}
void turn_left2()
{
    pro_right=39;
    pro_left=0;
    temp1=0;
    temp2=1;
    temp3=1;
    temp4=0;
    u=50000;
    v=400;
}
void turn_left1()
{
    pro_right=39;
    pro_left=0;
    temp1=0;
    temp2=1;
    temp3=1;
    temp4=0;
}
void turn_left3()
{
    pro_right=39;
    pro_left=9;
    temp1=0;
    temp2=1;
    temp3=1;
    temp4=0;
}
void turn_right2()
{
    pro_right=0;
    pro_left=39;
    temp1=0;
    temp2=1;
    temp3=1;
    temp4=0;
    u=50000;
    v=400;
}
void turn_right1()
{
    pro_right=0;
    pro_left=39;
    temp1=0;
    temp2=1;
    temp3=1;
    temp4=0;
}
void turn_right3()
pro_right=9;
pro_left=39;
temp1=0;
temp2=1;
temp3=1;
temp4=0;
}
void turn_back()
{
    temp1=0;
    temp2=0;
    temp3=0;
    temp4=1;
    pro_right=39;
    pro_left=39;
}
void infrared()
{
    uchar flag;
    if(left_red1==0&&left_red2==0&&right_red1=0&&right_red2=0)straight();
    else
        if(left_red1==0&&left_red2==0)turn_left1();
        else
            if(right_red1==0&&right_red2==0)turn_right1();
            else
                if(left_red1==0)turn_left3();
                else
                    if(right_red1==0)turn_right3();
                    else
                        if(left_red2==0)turn_left1();
                        else
                            if(right_red2==0)turn_right1();
                            else
                                straight();
}
uint w;
void main(void)
{
    q=0;
    b=0;
    left2=0;
    right1=0;
    while(a==1)
    {
    }
    for(q=0;q<8;q++)//我怀疑这地方出错了//
        for(b=0;b<20000;b++)
        {
        }
        int();
        delay(100);
        i=0;
        j=0;
        u=0;
        v=0;
        pro_left=39;
        pro_right=39;
        while(1)
        {
            infrared();
            if(i>=pro_left){left1=0;left2=0;}
            if(i==40){left1=temp1;left2=temp2;i=0;}
            if(j>=pro_right){right1=0;right2=0;}
            if(j==40){right1=temp3;right2=temp4;j=0;}
        }
}
void int0(void)interrupt 0
{
}
牛人好多再帮忙看下这个又是错在哪儿呢?
2013-04-28 13:31
w天然呆x
Rank: 1
等 级:新手上路
帖 子:30
专家分:5
注 册:2013-4-20
收藏
得分:0 
我想中断25次才执行一次取反函数,这样行不行?求大神指导
#include<AT89X52.H>
#include<stdio.h>
void initial(void);
int n,counter=0;
  
void main()
{
  counter++;
  n=counter/25;
  initial();
  while(1);
}
void initial()//串口初始化函数
{
  IE=0x82;
  TCON=0x00;
  TMOD=0x01;
  TH0=0xD8;// 高。可通过改变低、高八位所赋的初值来改变中断的周期
  TL0=0xF0;//低
  TR0=1;
}
void TIMER(void)interrupt 1
{
  
  while(n)
  {
    P1_0=~P1_0;
  }
}
/*程序大意是用定时器0每1毫秒中断一次,中断子程序取反,引脚本来是1变0,本来是0变1,所以若是LED的话,闪烁周期是2毫秒 */

  
2013-05-10 15:16
快速回复:谢谢各位大哥大姐,帮忙找下哪里错了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044079 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved