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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
设计的开发板 基于51单片机用途是红外探头测温后显示在lcd显示屏上  可以设置温度上下限 超过上下限蜂鸣器报警  可以通过按钮调整上下限除了开头的startup.A51外 一个主函数main和三个子函数key,common ,lcd
" P# l4 i8 X  U, Z& v! E2 S' e这里common这子函数是干嘛的没看懂
% g4 t+ @/ k) D#include "common.h"
* S) @7 j# a+ l0 u#include"Pin_def.h"
# H* e$ N9 h+ a9 ^& A* k
- S3 D. M8 `6 j/ l. J) q' p0 [7 s3 a# M& B# {
void  delay_ms(uchar ms)! Z# u  X9 W! [0 ]6 K! f
{1 x/ A" _, N5 ^" p
#if MAIN_Fosc == 12000000L2 x$ u: j4 z7 y" k2 K* X: Z3 H' ?  Y
    unsigned char i, j;
9 A7 u0 ]5 E4 O% I, @    do! U1 d# E4 ~7 o1 f, c. C
    {$ B; L5 C1 x! A9 s5 a6 B3 @; Y! P
        i = 2;
1 F8 t7 J/ c" i. B# r6 ]' Q        j = 239;5 V) m' f% P# Y
        do
1 z& z& P2 W& d: r- u0 H        {: Q2 u' s. p& R2 G1 b
            while (--j);' P0 o) ]- R/ c: a
        }' d' Z# |. z6 G5 J: w
        while (--i);
% k) I1 G# \& _; u( n2 P( E1 ]" N$ }+ z    }
, @- B7 p  r& C: r    while(--ms);. n: p, n5 T7 h0 F  C. W
#elif MAIN_Fosc == 11059200L* i4 U# s. x. r9 v1 e: W. @+ B
    unsigned char i, j;
2 x! {4 t. n: K' z$ |$ Z+ o    do' `3 T' k! }/ G
    {
4 _9 M/ e* p9 U2 I3 Z' O        _nop_();: ?. t: c: Y) y; j
        i = 2;6 e- b. y" M) F! f$ d. b! M  X5 U
        j = 199;+ [: I& X  R5 c9 ?3 a) p7 R8 e
        do
7 v. {8 w' H2 N) g; t        {! _6 }% l9 \: ~: t
            while (--j);! {4 p+ u- x+ B: v, o/ S" }2 f
        }
8 l7 F- w$ P1 b& ?        while (--i);
" i: c5 h: M# {' r    }
: m! c3 H; s- ^3 [    while(--ms);" v4 R( h1 `: ?) X+ ?$ d
' C1 A, Q; ^" Q* |$ {  W
# {" [7 y6 c4 z
#endif
! b7 U9 u* j* S/ p+ ~( U}
, }- R  P& s* A1 l
1 [, D% e% B' d+ t" ~9 e; ^+ b
/ I$ f3 y$ F: _1 I$ W, n; }  F+ u; E& e- n2 z- A

# F  K6 O5 T% B$ _void delay_us(uint n_us)        //STC89Cxx ϵÁÐ @11.0592MHz
4 n- ]. Y6 [5 |( o7 ]- w8 j7 R{
# I7 [# P+ l' [% {  R7 R* s        while(n_us--);
0 J2 c" b/ K, b# Z0 a}
# P% E& s5 C4 V( x) z. T# Q7 q/*
! k  O) t* @2 C0 Bvoid itoa(long value,char* str, int base)4 _. R: P* J! I. Q0 r( d9 Z% f
{+ v- t6 ^& m6 s* @/ ], H
    char *p = NULL;# N& M9 {$ y5 J- h" _8 f
    int minus; //, s. B) F( Q, c. X: E, p4 T
    char buf[20];
4 W5 e5 m& t$ w' U, E8 p
8 d& p  X4 x/ }& ^3 c  _8 p
# d; w2 K- ?+ L2 k: @; S    p = &buf[20];
" o# M- c  o0 E* U3 K    *--p = '\0';- y+ O) ]6 i+ m% v5 ]
    if (value < 0)
' F! o) u2 E. ]9 F2 [    {
9 s4 M5 a) U; p) z' w        minus = 1;4 a1 t8 L  x9 X
        value = -value;
% Y, D* `& M2 D$ R5 B    }: R- ^5 Z. c- {1 \. _# F
    else
# F" f4 B$ C% n/ r9 y0 t. I        minus = 0;
8 n- {4 v$ \# H( j( D# P. W0 {; t    if (value== 0)7 y: q3 T2 X, x/ d
        *--p = '0';
( d( w5 I, i6 X, [    else) n9 _4 L$ V1 Y: `, A% I
        while (value > 0)
" D7 q/ M8 X# l+ I5 P        {
( M: c9 \! \( [. k            *--p = "0123456789abcdef"[value % base];9 ?! m3 t0 M+ l+ I' c/ a. k6 n) w
            value /= base;
( I" d' ^1 |  x  N6 d        }
& g3 ~! [" J3 k; H    if (minus)
5 \' N2 P( q8 q. k! O6 n        *--p = '-';
5 V% }* }. s  {1 |0 B5 o/ n4 J/ j' ~3 |! h
  q" v6 ]1 i. J7 e1 _
    mEMCpy(str, (const void *) p, strlen((const char *) p));
5 E* y$ ?) l2 P7 R7 I; U4 X}4 [$ {1 X/ D( t$ D6 L
*/
' ?  \" u6 J, F

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-9 00:26 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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