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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设计的开发板 基于51单片机用途是红外探头测温后显示在lcd显示屏上  可以设置温度上下限 超过上下限蜂鸣器报警  可以通过按钮调整上下限除了开头的startup.A51外 一个主函数main和三个子函数key,common ,lcd
- B  e* ]0 `# ~, @这里common这子函数是干嘛的没看懂
% C6 n' p' k# O1 h  B; y#include "common.h"
; d5 K" e" f1 j#include"Pin_def.h"
" N4 c& o, r" {9 x5 a7 q" Z: b* |" E2 f1 j

6 E, M; r0 b+ `; [9 G6 k. L' zvoid  delay_ms(uchar ms)
9 o0 v9 K" A) @3 o{
: o: o* e! k. N7 J  S) N, e& u' X$ h& Z#if MAIN_Fosc == 12000000L
1 z5 z4 g5 {( f    unsigned char i, j;
  [6 C; ?5 e6 r! I    do1 u8 v) @: X6 D/ o
    {! U+ z6 x' h% E
        i = 2;
3 P- D; z% M6 C) [        j = 239;
! s2 e9 C2 k8 R4 k2 U        do& Q# O+ n" A5 Z$ b: V+ _  I
        {
8 |9 x* k# U+ r' {5 L, K            while (--j);
* ]: u3 _% M# n: U4 R        }- \5 B5 a& l$ `3 J' S0 r
        while (--i);
1 |5 G6 v6 }1 A8 x+ o    }8 d- r  r( b; T) Q$ g
    while(--ms);
7 g  ~5 o( Z* _- d& B% @! o* r#elif MAIN_Fosc == 11059200L
( N8 D9 ?0 z( @    unsigned char i, j;
8 ?$ K7 b  k( E( J7 P    do
1 z+ A  c; K+ T8 f; `, u    {' V  Y4 z7 H' P0 D& V( _
        _nop_();
: d/ |' K$ z0 s5 L        i = 2;; ]. y# i8 x( Y% V5 m
        j = 199;7 ^+ l8 w& p' X2 A' |
        do
# S: n. D2 C7 H0 e) U        {
6 P6 `: G' h- r: v: _# L2 R3 Q            while (--j);
$ W# G# a# d6 Z, h0 H- j3 p1 A/ E        }
! a$ N" O8 ]- C1 W7 t        while (--i);
$ k" `! O7 E! `  O8 h1 n    }
; q0 n5 n3 y4 |) b) {- F( x3 d4 }# @- F    while(--ms);( Q9 L! g  K7 s9 l. W0 N7 q

' P& w- Y* m& ]) L% q, g. s* M, n
* ]  q" e* ]/ J# k  ?" {* A7 w+ {& @#endif1 B9 L, `! }; Z. P
}% s5 N( @0 T  L6 r' K2 ~* y

( I3 R8 D8 w* X5 f
/ x: Y* N& b- `4 E* S  Q0 t. c5 h' r0 w$ {2 a2 p2 j: X% ^
; ~$ K& |. N* I9 n- @! }
void delay_us(uint n_us)        //STC89Cxx ϵÁÐ @11.0592MHz2 H  u0 u) w% Q$ p7 M
{' G3 G* w4 b/ ]5 L
        while(n_us--);' |# n; Y/ _# w
}
( ^9 P8 _! w- l) C) ~/ Q/*
( x. v: E2 L. `1 F- K) j3 c  `, g; m/ H0 ^void itoa(long value,char* str, int base)
: {5 i3 r* p/ q* J- H/ t' \{
# f6 i2 S9 Q& t4 H! s: d( i9 M    char *p = NULL;* B, z  z6 Z% Q7 _/ p
    int minus; //
' F! y' |2 i0 ^5 j2 c    char buf[20];
) j1 f7 Y& u2 z% y$ A  W. i
4 L; N- H# ]- o9 @: s+ V) B) f( I
5 \) a/ o* {  T+ Y' K% c    p = &buf[20];. j; U4 P" c6 P
    *--p = '\0';7 z! H( P& M; z# a! d1 U% e
    if (value < 0)
+ Z$ A, s! R* `1 i0 d9 K  v3 |    {
1 V& j& L0 y1 t  N6 \& t# M9 Y, k        minus = 1;( F4 ~+ q0 Y: K' O  a
        value = -value;
: N3 ~0 y8 F+ x6 @. G) C: a    }1 \$ B3 L+ d2 k6 n* K8 h
    else* Q' v; m1 C; m9 O2 r; h( \
        minus = 0;
" F1 u+ K& ~0 `# h    if (value== 0)
' [$ L  G) y2 H* W5 Y: ?. k        *--p = '0';7 X. b  b% V* }5 |7 U# Y
    else
* D( [: G  p0 y        while (value > 0)8 t. b* G6 A: C* D/ R! ~& ~
        {
5 s- F5 H$ F3 Z            *--p = "0123456789abcdef"[value % base];
! c- I: H% d! c0 I            value /= base;
% |' ^, ?1 C& J' s& Q  U        }& H- q% f! }* ?3 o: R: d) H
    if (minus)2 Y; Q5 T' A  a! W7 J
        *--p = '-';1 I: Z2 ~% R$ n+ K. |  v2 B0 ]# U/ D

1 U% g* b7 q! s# n, g, g0 o7 e7 e- Z' b8 g+ |
    mEMCpy(str, (const void *) p, strlen((const char *) p));9 H) o; r+ N# x. y
}
5 O) V5 @5 X7 J. _2 D+ P3 }, o6 \*/- @! R3 z. z) K' J) F$ x6 H

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-20 17:54 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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