找回密码
 注册
查看: 223|回复: 2
打印 上一主题 下一主题

求解这个common.c程序是什么意思

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-12-16 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
设计的开发板 基于51单片机用途是红外探头测温后显示在lcd显示屏上  可以设置温度上下限 超过上下限蜂鸣器报警  可以通过按钮调整上下限除了开头的startup.A51外 一个主函数main和三个子函数key,common ,lcd
* ^: q0 c+ c; Z/ I这里common这子函数是干嘛的没看懂0 ~4 g; Y" f4 _) `. _  U
#include "common.h") ]# C, ~+ k4 W  R1 k
#include"Pin_def.h"& x8 E$ R4 B; V2 k/ c( _
" H/ Y2 Q! _  v
+ i8 @9 y- g+ J! H0 I
void  delay_ms(uchar ms)
$ J9 `* e9 U. k2 A{- I, b9 ?* M. R# A
#if MAIN_Fosc == 12000000L
, w+ c& J3 X% R; X9 h    unsigned char i, j;% q8 B: H1 A4 i- L- W: z0 B. Z
    do
( W% h0 ]) r( A  k. w    {3 I" `( S( v/ c; a2 p# l
        i = 2;
* w7 S5 S: z0 y. k& [        j = 239;$ ~) h$ r. B0 w/ j4 V+ ~
        do
1 s7 w4 ]) ?0 q& f6 ?+ F        {2 G' T$ A; `) t! I% i
            while (--j);2 ^& h8 q7 L" H: T
        }
* J8 |0 e* g0 a        while (--i);
! T% X0 W: W6 i    }7 t7 n$ Y% q4 G7 u: _
    while(--ms);
) N) f& C$ O$ @8 }" j#elif MAIN_Fosc == 11059200L$ C6 {1 e8 z6 x8 ^  X
    unsigned char i, j;9 @# _- T  c, \, w8 j* x& P+ U
    do  `8 A* U1 t8 b1 M
    {
  G! E$ u5 S" f2 p+ g4 A' W; y        _nop_();
3 Y5 H. S$ }9 d& Y; d) \        i = 2;, D( \9 a# g6 B; p) D1 W
        j = 199;
: Z6 `+ u4 W, u8 `2 Z; d        do6 H. o8 g1 F4 i6 W. ]
        {# L' \$ \  h* g$ j5 n5 B8 O' \
            while (--j);6 d! e) q3 Q) a$ u6 S2 ]* L
        }7 q# n  k4 F4 t% I, k
        while (--i);
5 i$ z7 Q4 V$ Z1 I- `    }+ j8 f+ V) J; t- G$ j! R7 `
    while(--ms);# {+ Z( S& ^( P% Q, A1 P* o

) b; e3 [( ?0 x/ G7 T( h' Y1 S$ |: I) ~2 u
#endif4 L& X2 a4 E" w. h3 [& u
}
% X# b3 g; \6 a- V$ p* b
2 v! W& ~$ e& T+ U( A) M- f$ F. O2 N, ?! A. L) O8 R

8 ]' z* \/ L2 F: s
& i5 [1 I" @2 |( g+ Uvoid delay_us(uint n_us)        //STC89Cxx ϵÁÐ @11.0592MHz- E: s5 u: ]- `3 h) w) ?5 m) z
{6 B3 R- E( p" t; h% K0 z
        while(n_us--);
  h- {- M3 O3 U}
5 b5 u7 d  W  p7 q+ u. J/*
5 k- V/ d- l# k9 v3 y9 F0 \' i) |void itoa(long value,char* str, int base)& Y$ n8 B/ }1 X3 |# Q) M0 m4 j
{
2 C6 K7 O6 R0 S# V3 o    char *p = NULL;1 T, [, Q- U5 Z3 |
    int minus; //( [; p6 p8 y/ E& }% `/ j
    char buf[20];
; @6 a! n3 g4 Q/ W+ M  e: o" X. B0 w) f' L- f; I

' x* l2 x7 h& L8 P% o    p = &buf[20];
  w( u: V# L: N5 u5 F    *--p = '\0';
0 L( W$ V* |/ K    if (value < 0)
7 c# g0 ^7 h8 \; y( z0 i6 h    {) u9 n5 _: l' {" N7 u
        minus = 1;
8 ]2 w8 z1 X7 l4 e* u1 ~        value = -value;) B$ I3 l( g" o% V* V' l, ^& D" k: x* R
    }0 g3 A# z5 j' y7 }/ @9 M
    else
- t3 j' Y* y. p/ c        minus = 0;
# }6 \' J: g" U; D    if (value== 0)- x+ E/ o  n: j5 l( t2 Q  Z
        *--p = '0';) Y7 y/ r- b4 a; J: T1 Q! x
    else
! \9 j' c2 M2 o# \0 a  G1 H0 x        while (value > 0)' q: u0 b% M7 d( J
        {+ y+ ^; l/ w, t, g2 m$ V! F+ v" s; I( G
            *--p = "0123456789abcdef"[value % base];# l) j% q/ x4 B, O- T) }
            value /= base;- Y+ }$ Q4 ^2 N
        }
( ]* j+ u$ i# h    if (minus)
$ i; U' |  i! n; h! a  C1 f2 ^+ v/ N        *--p = '-';/ t7 D* Q- h; O! Y" {8 v* G
" _) |# s! Z, @- x
+ u' r+ E+ t8 h" C+ P$ o
    mEMCpy(str, (const void *) p, strlen((const char *) p));
! r+ u2 h5 A* C* t# L}
# V6 Z+ o( ]# _7 e' T/ y*/6 N* g4 A) u- Z. R! L; ~

该用户从未签到

2#
发表于 2022-12-16 13:11 | 只看该作者
应该是进行字符转换的。

该用户从未签到

3#
发表于 2022-12-16 13:47 | 只看该作者
延时函数,还有个就是整形转换为字符串,itoa()。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-28 02:59 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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