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

Keil C程序规范写法范例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-8-9 15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
/***************************************************************************************
/ e' A) f( b* N; E1 ^: T. y** 这仅是个学习(A to D connvert TLC0831)  **
# r; I, j. T2 g5 A' }& f** Keil C51 REV7.0 **
5 A% T+ H+ P" k4 M" {, I1 M** 优世电子公司 **, `$ N- P# m* k/ c
** REV1.0 **
$ g5 Z2 `8 B' v** **2 e7 H( B/ T; @! c8 V2 j: Y
**系统所使用的器件:TLC0831(A to D connvert) *** f% I: Q) p# L* S7 R' ^( I# B/ }6 @& y
**创建人:Jarvee **9 B' k9 {1 D& D5 X2 c: v( L
**文件名:main.c **
/ I' b$ L. L# x. b4 L**日期:2002-9-14 **
/ x9 I# A1 Z5 G: U! Q**描述: **
  d5 C3 f: l# H**--------------------------------------------------------------------------------------
- t# d) g8 a3 Z; m9 W( D! d5 r**修改人: **2 L% [, @: }2 n6 w" K. `  F
**日期: **# C, N- A2 u- d! g+ b
**描述:  **+ C# e0 x+ P0 }  C5 q6 m
**--------------------------------------------------------------------------------------$ W1 n8 E, j' `3 A& B8 j
***************************************************************************************/
; g. j7 J1 b# X* V' s, U% O
0 Z7 g4 V1 }$ J/ ^; k# T  @- B- d7 a3 V8 z( Q
#include <reg52.h>
$ a5 a" \; c  t* r+ C  W, m#include <stdio.h> //头文件. a( J- t: R/ J4 n

3 w4 ~/ @- E* c3 V. |9 itypedef unsigned char uchar; //重新定义数据类型
2 z# d; g, {7 l% j+ S3 I
% q8 G1 v7 ?/ `- F9 |void delay(uchar x); //函数说明
2 P/ h2 s. g  b: p: @! Y& k4 quchar readadc(void);& f% y" L1 X3 k3 X0 _; S- C
void adcck(void);/ o# K- q+ [) h+ b

% I) R6 X: c  r8 f% v# n. w9 A2 Q$ j) E  L  E1 v' o" w
sbit adcdo=P1^0; //DATA - ~' i; _' C; {5 H) |3 H$ Z; G
sbit adccs=P1^2; //CHIP SECELET
0 g/ k/ y# o8 C; U9 v3 \sbit adcclk=P1^1; //CLK
) Y( y& Y- ^( |6 F& `( }" M//P1口功能宝义
) N! V- K  }4 F9 T, v% m
1 _3 U; S2 m* D& S3 v# Z
# f" B& @$ V% t9 v
) m" c* E, F8 \( m7 ]3 F5 t/**************************************主程序******************************************/3 H& s" G1 V3 V* f" X4 C
void main(void)
/ s6 _4 I- s; t{
; H: X! `/ d" m+ H- |  @uchar a;
9 D" |! m8 d* S' L, na=readadc();" H7 o9 ?! [* ]( u, h) _3 Q
ACC=a;% A& @$ l3 B2 Z3 {$ [
}
9 W1 }; ?5 m7 J% s  ?
5 |" o  a8 o( d' L1 D
* T. a3 {6 N" F/***************************************************************************************
+ \% \3 q3 t$ r% B**函数名称:void delay(uchar x) **3 L: [) l  x4 K! ^0 f% W
**功能描述:延时 **0 _( h% E8 p6 Z2 A: g
**输入:uchar x (所要延时的长度) **7 J! R% x+ {! u, h1 x' W; x+ K3 \
**输出:无 **
, y/ S& `8 x1 ]3 }5 S0 M  c- g- V$ K' x**全局变量:无 **
- D: D7 r( T0 z( Y1 Q( A**调用模块:无 **
" j$ w- u5 X$ q! I; I8 |! L. U2 d** **
, P9 r6 }& N6 Z2 G' H. z**创建人:Jarvee **1 L% P3 |' Y& b
**日期:2002-9-14 **  u4 z( B+ N! f* _$ `1 X
**--------------------------------------------------------------------------------------
* q" e9 ^% e+ v! `  e5 w( _( d**修改人: **% ~& O& c0 D: t& R+ J
**日期: **6 D! \/ m% `7 y. K) ?5 }
**描述:  **0 o4 F. E: T' @- G
**--------------------------------------------------------------------------------------9 j, R0 M- r7 E  g5 a$ d
***************************************************************************************/
! {& P$ }$ }3 u# Lvoid delay(uchar x)5 K; u$ }+ p2 }8 B" B! V
{; d& U2 z7 |0 a! I
uchar i;
8 M4 o: [9 E$ ufor(i=0;i<x;i++);
5 Y! ]7 N" V" ~1 d" }, T! p/ H}  k  L7 n0 o3 B8 l- v4 n
  B9 a6 F8 R* Q- A! r7 ~  F' {/ C+ m

5 Q/ @, A0 G6 {: W' w) C
9 I8 P! d. i) f% Q4 X/***************************************************************************************' S- ?  e: E7 p) S; I
**函数名称:void adcck(void) **
3 @0 W3 i0 c: e7 G. `0 |**功能描述:产生方波信号 **
  y# r% ?1 G2 H9 J, d: F**输入:无 **
/ N5 R+ ^4 k- J/ i3 s1 \: U**输出:无 **
' ]9 D6 o4 Z, i) t# F**全局变量:adcclk-->P1^1 TLC0831的CLK **  Z8 g5 R4 v3 \6 ^+ U# A9 j
**调用模块:void delay(uchar x) **
* o5 j1 |2 g7 N** **% j0 l1 n) X& Q/ @) m1 v2 A% g3 B$ B
**创建人:Jarvee **3 [1 [! N0 o6 m9 O: o6 w) ~& H$ U
**日期:2002-9-14 **/ Q6 c# v0 W" @' v1 P5 w$ t% ~4 ?! |
**--------------------------------------------------------------------------------------
- f/ A- C8 n. @6 S**修改人: **
0 m& ?- M" J/ G  P**日期: **# f/ I3 D. L4 g5 K$ ?
**描述:  **. o% \. e5 `# L% r; D" P& z
**--------------------------------------------------------------------------------------
$ `9 _& Z  U2 D4 i/ L. \***************************************************************************************/
/ I/ N" ]1 L4 Cvoid adcck(void) // clock signal
* s& y% j3 g% N  q1 m' K! ~4 d) y{
. h. H, T: W3 n! b; U' H: f  t! R2 Z# eadcclk=1;) Y  F' d4 U) k
delay(2);
. s: g, @5 m4 e+ ?" ~' u' }) z# v! L# v8 z
adcclk=0;
: s/ d6 w) k5 c: P; qdelay(2);2 \7 t; \6 D9 D' E1 w4 b
}
: ~; \/ X5 `$ j, ]3 n2 {; r7 e
) E3 c7 K, B$ k( n ) y4 x, x% g$ u1 V

; `: {3 K% X: e- j2 x/***************************************************************************************% x7 o7 R4 c; y% U7 M
**函数名称:uchar readadc(void) **: r/ x) a: x! k! Z# g. ^
**功能描述:从TLC0831读出所转换的数据 **2 t9 d( f( T; y
**输入:无 **
' u6 {& h) x; {. B3 f, D: M, ^8 |0 m4 {**输出:函数返回值 **: D( I# }3 O; z
**全局变量:adccs-->TLC0831的使能线 **0 N6 F: p! o* _
**调用模块:void adcck(void) **
4 R2 M' k! m' E( g/ _# Q1 N& f4 t/ q** **
- `; X: Y- C. S**创建人:Jarvee **: B# }+ f. y1 d6 W2 x
**日期:2002-9-14 **' o- i0 Y  \7 A3 a+ B- n
**--------------------------------------------------------------------------------------' {% G) J3 |1 n* K3 Z& f" F$ r
**修改人: **
0 O" @' i: p8 ]  e* k1 S**日期: **( t9 h. s& p0 l+ d, L/ |
**描述:  **7 u" U2 A  D: M$ R$ h4 D6 q' L7 Z
**--------------------------------------------------------------------------------------
- m& a9 Z, T- z( h* h' i; ~/ u***************************************************************************************/
. Y' g: M; {6 \9 O6 Uuchar readadc(void)* z  \9 j: g" [5 v# L7 `2 o
{4 k/ ]: h0 A1 G( `. k( L
uchar i;
6 O" s, M+ i: V% o* ^# w- J/ Wuchar ch;! `! T% T1 u; k. D# \0 D7 F7 R
adccs=0;adcck();ch=0;
1 D6 ^% Y* @4 O; d1 C
9 y" ?. M- V8 F. `; a1 tfor(i=0;i<8;i++)
: S5 Y. j2 U/ ~; S0 }{* @8 `% w9 U7 S1 R  x% a) }8 p
adcck();6 ?3 e8 S% t/ A8 Z8 j: D1 s& _
ch=(ch<<1)|adcdo;
; S4 R  K+ z$ i8 c9 T  q}
& p) R; a$ p  K. v" a3 C* v% E) qreturn(ch);
/ N3 J! E2 E' x: D+ }}

该用户从未签到

2#
发表于 2016-8-9 16:36 | 只看该作者
学习中,谢谢分享
9 q% s4 z/ W! A3 ]1 s& d, J
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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