找回密码
 注册
关于网站域名变更的通知
查看: 229|回复: 2
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设计的开发板 基于51单片机用途是红外探头测温后显示在lcd显示屏上  可以设置温度上下限 超过上下限蜂鸣器报警  可以通过按钮调整上下限除了开头的startup.A51外 一个主函数main和三个子函数key,common ,lcd
8 }3 m) C% D# ^# u* t这里common这子函数是干嘛的没看懂
; [& G7 }/ F9 V4 d#include "common.h"4 r" r$ T4 b3 A$ r  U) |
#include"Pin_def.h"
$ C3 X5 ], [( n) L8 s4 K
) o* b3 \# L  k6 l1 T2 M* D: H3 }0 `" m. _3 u
void  delay_ms(uchar ms)
/ Y) Q) Z+ M4 E9 ]) q6 e5 e* ?+ _{- h0 m3 \. K  H5 ]
#if MAIN_Fosc == 12000000L
7 z3 D1 t; h' \. X- t    unsigned char i, j;* A& r, [( z% ^5 }0 u
    do6 r" ~4 E" @' C: V
    {! S5 |% n3 q; w; U  \# d9 l
        i = 2;
; Z- B9 |( n( X5 p+ A        j = 239;% d* W! T8 f/ x+ q* ^. s
        do
2 z: q, m8 p4 p6 z6 \* f( m        {) Q1 I4 U6 W* j" {7 l
            while (--j);2 z& n  X( V. q8 J/ U
        }- u/ J) u- P' W0 e$ U, ?0 R- ]$ ~& S
        while (--i);1 f) J8 m: g" o  M
    }
$ B, D- O4 N; v* i) \    while(--ms);. Y! E# `6 F, w" f) v+ _. U
#elif MAIN_Fosc == 11059200L
. K! [8 r& y5 p    unsigned char i, j;
! N  q2 q' W8 a$ A    do
& b" h! m. Z6 V4 S- b5 J3 P    {
0 i5 `. j( q9 h        _nop_();1 w8 s7 O+ X1 N3 P$ E) X
        i = 2;
% I# s' \3 U3 F' l2 ~        j = 199;
9 i! {2 S/ P  g9 E0 S        do
: h. c& O4 \& F% o0 [        {
5 m) c. E) j% y9 S1 c6 ~% R7 r            while (--j);4 G! x  L; B: n
        }
/ ~% V+ @" Z6 c2 f* v# F/ {        while (--i);
0 ]1 t# {: c) r1 y1 J9 @! h0 \& y    }( T; r) c" g) E5 ^+ T: C1 q
    while(--ms);+ w  |& x( W( F# c, B0 U
  v( ]" N# F$ X( T' N( J" Q0 P
* t# ]5 B/ D* S1 P$ c" D
#endif
% B" M7 P' E$ C* u- P}- A. `) U$ H2 O8 c% k
0 v0 `" r4 ]4 o; z) C  I
* ]9 g$ ?" a. M9 |4 b
+ E7 x! y, G5 A1 |+ s* g  z) L

* y/ g7 V1 X; X% |* jvoid delay_us(uint n_us)        //STC89Cxx ϵÁÐ @11.0592MHz3 B5 `; Z. \) T5 s
{- ?8 v$ n9 V" \/ X; R
        while(n_us--);4 W% z. N# @- u5 T, X3 D
}# h5 V4 D, u" z! f
/*
9 b+ V: F# {4 x+ b, x3 Bvoid itoa(long value,char* str, int base)0 [7 [" c3 E9 P* n# u
{
5 n$ D7 j1 V: O    char *p = NULL;
4 j7 z- w5 t$ f; z4 N% O! ?# l    int minus; //. X5 H% x  M$ a
    char buf[20];$ H/ ?5 |* H* c) A

3 h3 z6 N6 l2 g9 q7 O4 R1 ~* }" U5 O
    p = &buf[20];4 d  B5 P8 s' l
    *--p = '\0';$ T8 I! L& g% h  Z( i5 I; }
    if (value < 0)+ {+ A2 A8 ]4 D" ?8 J7 m9 }
    {5 n1 s' x8 x' k4 F' F) T
        minus = 1;$ N9 Y# V  @* M! Y: }3 t; ^2 B
        value = -value;
+ T& }/ a1 }, G3 w) Y  X    }# A& d7 c+ l  Q) ?* L: J2 F  j
    else
1 p2 o1 G; ]  u- O0 I8 y        minus = 0;
& _1 N& g7 E6 I4 r1 S3 r    if (value== 0)
0 ]  C, w- B/ E. D6 E' n" m        *--p = '0';
( {" t& v7 V  q; @    else4 d! r) D, X/ A- U& \+ V7 }
        while (value > 0)
0 W$ U3 p- q# }/ D, H        {5 o6 x. {- G4 f) F9 S6 X
            *--p = "0123456789abcdef"[value % base];# Y6 g2 R( B) s7 I& u
            value /= base;
- r% y5 D$ r1 T4 W& J. [* H        }
# l# L% d! z& ~- ]" z& H0 K    if (minus)
! l# Y8 r6 }, e% p) b        *--p = '-';$ g7 R! p" }6 Y! R/ B, o" q

# n, x% a/ A/ I3 q2 m$ X% D8 k( s+ N2 E4 A
    mEMCpy(str, (const void *) p, strlen((const char *) p));
& s$ S; D$ B# Q}
) k3 z5 f; z) X. |*/
0 o: M. W; {8 @

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-15 20:59 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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