智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2306|回复: 5
打印 上一主题 下一主题

有一段程序看不懂,谁来解释一下,谢谢

[复制链接]

1

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
威望
272
贡献
48
兑换币
12
注册时间
2010-5-1
在线时间
5 小时
跳转到指定楼层
1#
发表于 2010-5-1 00:35:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个智能寻迹车的源程序
我看不懂
帮忙把那些乱七八糟的汉字翻译出来

最好详细的解释一下
谢谢

/****************************************************************************/
/* 儅僀僐儞僇乕僩儗乕僗婎杮僾儘僌儔儉 "kit07_4wd.c"                         */
/*                          2008.05 僕儍僷儞儅僀僐儞僇乕儔儕乕幚峴埾堳夛    */
/****************************************************************************/
/*
偙偺僾儘僌儔儉偼丄"kit07.c"傪儀乕僗偵偟偰丄
儌乕僞僪儔僀僽婎斅(Vol.3)傪2枃巊梡偟丄4椫撈棫惂屼傪峴偆僾儘僌儔儉偱偡丅
僙儞僒婎斅偼Ver.4傪巊梡偟傑偡丅
*/

/*======================================*/
/* 僀儞僋儖乕僪                         */
/*======================================*/
#include    <machine.h>
#include    "h8_3048.h"

/*======================================*/
/* 僔儞儃儖掕媊                         */
/*======================================*/

/* 掕悢愝掕 */
#define         PWM_CYCLE       49151   /* PWM偺僒僀僋儖 16ms       */
                                        /* PWM_CYCLE =              */
                                        /*      16[ms] / 325.5[ns]  */
                                        /*               = 49152    */
#define         F_PWM_CYCLE     3071    /* 慜椫偺PWM僒僀僋儖 1ms    */
                                        /* F_PWM_CYCLE =            */
                                        /*      1[ms] / 325.5[ns]   */
                                        /*               = 3072     */
#define         SERVO_CENTER    5000    /* 僒乕儃偺僙儞僞抣         */
#define         HANDLE_STEP     26      /* 1並暘偺抣                */

/* 儅僗僋抣愝掕 亊丗儅僗僋偁傝(柍岠)丂仜丗儅僗僋柍偟(桳岠) */
#define         MASK2_2         0x66    /* 亊仜仜亊亊仜仜亊         */
#define         MASK2_0         0x60    /* 亊仜仜亊亊亊亊亊         */
#define         MASK0_2         0x06    /* 亊亊亊亊亊仜仜亊         */
#define         MASK3_3         0xe7    /* 仜仜仜亊亊仜仜仜         */
#define         MASK0_3         0x07    /* 亊亊亊亊亊仜仜仜         */
#define         MASK3_0         0xe0    /* 仜仜仜亊亊亊亊亊         */
#define         MASK4_0         0xf0    /* 仜仜仜仜亊亊亊亊         */
#define         MASK0_4         0x0f    /* 亊亊亊亊仜仜仜仜         */
#define         MASK4_4         0xff    /* 仜仜仜仜仜仜仜仜         */

#define         speed_r(x,y)    speed(x,y)  /* speed  = speed_r     */
#define         speed2_r(x,y)   speed2(x,y) /* speed2 = speed2_r    */

/*======================================*/
/* 僾儘僩僞僀僾愰尵                     */
/*======================================*/
void init( void );
void timer( unsigned long timer_set );
int check_crossline( void );
int check_rightline( void );
int check_leftline( void );
unsigned char sensor_inp( unsigned char mask );
unsigned char dipsw_get( void );
unsigned char pushsw_get( void );
unsigned char startbar_get( void );
void led_out( unsigned char led );
void speed( int accele_l, int accele_r );
void speed2( int accele_l, int accele_r );
void speed_f( int accele_l, int accele_r );
void speed2_f( int accele_l, int accele_r );
void handle( int angle );

/*======================================*/
/* 僌儘乕僶儖曄悢偺愰尵                 */
/*======================================*/
unsigned long   cnt0;                   /* timer娭悢梡              */
unsigned long   cnt1;                   /* main撪偱巊梡             */
int             pattern;                /* 僷僞乕儞斣崋             */

/************************************************************************/
/* 儊僀儞僾儘僌儔儉                                                     */
/************************************************************************/
void main( void )
{
    int     i;
    int     m1, m2, m3, m4;
    unsigned char c;

    /* 儅僀僐儞婡擻偺弶婜壔 */
    init();                             /* 弶婜壔                   */
    set_ccr( 0x00 );                    /* 慡懱妱傝崬傒嫋壜         */

    /* 儅僀僐儞僇乕偺忬懺弶婜壔 */
    handle( 0 );
    speed( 0, 0 );

    /* 摦嶌僥僗僩偙偙偐傜 *******************************************/
    while( 1 ) {
        if( cnt1 < 1000 ) {
            led_out( 0x1 );
            i = 50;
        } else if( cnt1 < 2000 ) {
            led_out( 0x0 );
            i = 0;
        } else if( cnt1 < 3000 ) {
            led_out( 0x2 );
            i = -50;
        } else if( cnt1 < 4000 ) {
            led_out( 0x0 );
            i = 0;
        } else {
            cnt1 = 0;
        }
        c = dipsw_get();
        if( c & 0x8) m1 = i; else m1 = 0;
        if( c & 0x4) m2 = i; else m2 = 0;
        if( c & 0x2) m3 = i; else m3 = 0;
        if( c & 0x1) m4 = i; else m4 = 0;
        speed2_f( m1, m2 );             /* 慜椫                     */
        speed2_r( m3, m4 );             /* 屻椫                     */
    }
    /* 摦嶌僥僗僩偙偙傑偱 *******************************************/

    while( 1 ) {
    switch( pattern ) {

    /*****************************************************************
    僷僞乕儞偵偮偄偰
     0丗僗僀僢僠擖椡懸偪
     1丗僗僞乕僩僶乕偑奐偄偨偐僠僃僢僋
    11丗捠忢僩儗乕僗
    12丗塃傊戝嬋偘偺廔傢傝偺僠僃僢僋
    13丗嵍傊戝嬋偘偺廔傢傝偺僠僃僢僋
    21丗侾杮栚偺僋儘僗儔僀儞専弌帪偺張棟
    22丗俀杮栚傪撉傒旘偽偡
    23丗僋儘僗儔僀儞屻偺僩儗乕僗丄僋儔儞僋専弌
    31丗嵍僋儔儞僋僋儕傾張棟丂埨掕偡傞傑偱彮偟懸偮
    32丗嵍僋儔儞僋僋儕傾張棟丂嬋偘廔傢傝偺僠僃僢僋
    41丗塃僋儔儞僋僋儕傾張棟丂埨掕偡傞傑偱彮偟懸偮
    42丗塃僋儔儞僋僋儕傾張棟丂嬋偘廔傢傝偺僠僃僢僋
    51丗侾杮栚偺塃僴乕僼儔僀儞専弌帪偺張棟
    52丗俀杮栚傪撉傒旘偽偡
    53丗塃僴乕僼儔僀儞屻偺僩儗乕僗
    54丗塃儗乕儞僠僃儞僕廔椆偺僠僃僢僋
    61丗侾杮栚偺嵍僴乕僼儔僀儞専弌帪偺張棟
    62丗俀杮栚傪撉傒旘偽偡
    63丗嵍僴乕僼儔僀儞屻偺僩儗乕僗
    64丗嵍儗乕儞僠僃儞僕廔椆偺僠僃僢僋
    *****************************************************************/

    case 0:
        /* 僗僀僢僠擖椡懸偪 */
        if( pushsw_get() ) {
            pattern = 1;
            cnt1 = 0;
            break;
        }
        if( cnt1 < 100 ) {              /* LED揰柵張棟              */
            led_out( 0x1 );
        } else if( cnt1 < 200 ) {
            led_out( 0x2 );
        } else {
            cnt1 = 0;
        }
        break;

    case 1:
        /* 僗僞乕僩僶乕偑奐偄偨偐僠僃僢僋 */
        if( !startbar_get() ) {
            /* 僗僞乕僩両両 */
            led_out( 0x0 );
            pattern = 11;
            cnt1 = 0;
            break;
        }

1

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
威望
272
贡献
48
兑换币
12
注册时间
2010-5-1
在线时间
5 小时
2#
 楼主| 发表于 2010-5-1 00:38:42 | 只看该作者
还有剩余的程序  太多了写不上去    大家有谁了解的  帮忙解释一下  谢谢
刚学习  不懂
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
193
QQ
威望
229
贡献
34
兑换币
0
注册时间
2010-5-1
在线时间
0 小时
3#
发表于 2010-5-1 13:06:20 | 只看该作者
将外文注释全都去掉,可能会明朗一点。。。。。。
回复 支持 反对

使用道具 举报

4

主题

149

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1772
QQ
威望
802
贡献
896
兑换币
0
注册时间
2010-4-29
在线时间
37 小时
4#
发表于 2010-5-3 08:56:22 | 只看该作者
帮你顶一下
回复 支持 反对

使用道具 举报

1

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
QQ
威望
241
贡献
27
兑换币
0
注册时间
2010-12-13
在线时间
10 小时
5#
发表于 2011-6-11 11:15:46 | 只看该作者
精神支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 00:18 , Processed in 0.155453 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表