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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设计的开发板 基于51单片机用途是红外探头测温后显示在lcd显示屏上  可以设置温度上下限 超过上下限蜂鸣器报警  可以通过按钮调整上下限除了开头的startup.A51外 一个主函数main和三个子函数key,common ,lcd
$ B. L! m0 t. B3 U这里common这子函数是干嘛的没看懂2 T, k& `7 w( w5 |
#include "common.h"7 w* Q1 @$ G4 x  u* |: U
#include"Pin_def.h". a# Q# k+ F$ b, o. p- \
, v) r: q7 ^5 z% r2 H" z/ G
6 ~$ Q& b& }. J1 i' [  T8 y
void  delay_ms(uchar ms)
7 J5 c' H5 t' d! n/ u{
: h" q8 y! X+ X9 Y: A/ f#if MAIN_Fosc == 12000000L/ \5 w! m8 A7 n; D: m* f: u
    unsigned char i, j;
" x) N# }7 m8 H! U3 t+ [3 ^    do& O+ E: G2 r! q+ g5 Q) `
    {
1 g8 T1 T' m# }1 l# X; G9 H. g2 l        i = 2;; l+ ?6 u# L% t, `, o1 v
        j = 239;2 _& {3 O7 H8 ]2 _( X
        do
2 u' S% \9 Y' P3 g$ M        {
; b$ i: k) @  |: n6 Z+ ?  l. P            while (--j);# m6 O9 l; D; ?& U4 r, D% N
        }
% Q3 {6 d( O' [4 ^        while (--i);" d' ~) N: e8 f' b4 C
    }4 N' r& H. f+ ^
    while(--ms);+ v" p9 g& B) H6 m3 X$ v- P, G
#elif MAIN_Fosc == 11059200L
( g" i% H3 C) d$ `" G    unsigned char i, j;* l$ v7 G; o& S2 g$ r+ n' D
    do
- b; u5 ?$ y5 z+ D4 t  k    {
( q# Y- R) ~. Z- j- j' d        _nop_();
+ r2 X1 e# i: M4 b+ b# o/ \        i = 2;
' q) z. O- ^6 s/ R8 m# J        j = 199;
. o3 |8 K  ]* ]. ?. V+ B        do: ^3 G! x3 Q: f, M
        {
* ^6 C$ o4 s8 I' I            while (--j);2 P2 E$ {; k4 O6 w, _; O2 z( I* Q1 t
        }
. i2 \; q5 C" l* \        while (--i);
4 K$ b" v6 a( S$ @# t$ R2 E- b    }" c+ E; N' F3 k) {6 Z! X: U+ e
    while(--ms);) l0 }  S+ Y& C8 ^# n' c) r

, k, K- n1 L: @# L: w2 T$ K; k2 ~* x1 [5 N  ^5 Z# Y
#endif, v% c, ?4 F" X: _0 U
}
+ U+ j( a5 b# R8 W& }& q# A) S2 I- r% y) ?! p# f$ a; L
1 M4 E4 _) l3 W5 e5 }

9 l4 W/ X2 u' D; y6 E8 R: M+ G- L# ]0 {( |: U) C
void delay_us(uint n_us)        //STC89Cxx ϵÁÐ @11.0592MHz
+ Z5 [9 N! E9 v! s{
: k5 D" Y! N3 ^7 A/ B- E        while(n_us--);
/ }6 f8 m- u5 F' u; b}
5 c6 v) [% P( m6 B2 _0 @/*
; n8 r. X4 U% I9 V2 e$ ]" u# Ovoid itoa(long value,char* str, int base)
  i. f2 r% W, ]: v8 X{
+ S; A. `1 n$ W    char *p = NULL;& d  {% C' m) |& q. g6 ]
    int minus; //- Q' s! A' {+ e1 x# }; q' z
    char buf[20];; T8 i2 g; m1 g9 e) k* A3 |
5 e1 i8 n6 p3 E8 K6 X
# R- h# u& ~% @
    p = &buf[20];8 h9 Z1 v# y# H. z! n' x, Y% L% S' N
    *--p = '\0';
4 s. X, w8 W4 T8 J9 H2 a% x, e    if (value < 0)
; q1 f, O! n/ w* t    {) V) l* a/ d5 W% v( f# b8 v+ }
        minus = 1;
' [! f* ~: G  s/ K2 _- U  k& j! Z        value = -value;7 Z( ~7 c, s' M- `5 @5 d4 \
    }( p1 j& `3 H- \: r( K
    else# t- z% J4 F- d9 Y* T+ f! O6 S
        minus = 0;# u) a6 G' P+ y& L5 `# P# R. w/ @, `: [
    if (value== 0)3 P9 ]% Z+ v6 `6 C
        *--p = '0';
0 o8 W# q( `$ H9 G6 ?% |4 R  H: l    else) L1 X! o5 o6 Q+ U4 S) }
        while (value > 0)4 B: {- z6 H1 [$ u% a
        {9 m6 Z0 Z; R$ J2 d2 F
            *--p = "0123456789abcdef"[value % base];, O7 d, C  J$ u- H& }6 @, O
            value /= base;
( q0 c) \2 M+ T4 `        }7 t: O! m, Q/ Q, a$ L
    if (minus)% h$ L! S, `- V* @. |
        *--p = '-';" J/ n# `  r0 A: x4 ~! B' O5 B

4 e8 f1 B. y" c) d  U
/ v8 ~$ n0 L% z  G+ [* C& I+ M    mEMCpy(str, (const void *) p, strlen((const char *) p));+ q- ?; h9 q* n, y8 p
}
" R0 E$ Z3 b  n7 G% W*/
0 R' Q5 K, F) @0 Y8 J

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 15:49 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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