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

Keil C程序规范写法范例

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
/***************************************************************************************
6 V/ H' c5 @' E$ B/ o7 B* P** 这仅是个学习(A to D connvert TLC0831)  **6 f8 `; m' M; Z; ^
** Keil C51 REV7.0 **
0 D9 V# S/ T. |0 B; y** 优世电子公司 **( v; u8 m% E1 J: L3 z3 `
** REV1.0 **& P: z9 V; k% \( t% g
** **, ~( r; U3 v  q& F* `
**系统所使用的器件:TLC0831(A to D connvert) **
3 D" h$ N# J  [**创建人:Jarvee **  ~/ F  q6 F& F0 `7 ~/ C5 a& n
**文件名:main.c **3 n+ M7 P" |/ X' f, I
**日期:2002-9-14 **
: |5 ]' ?( X; g  F* W! L**描述: **
( q" n9 M. c& L& ^% d; Z**--------------------------------------------------------------------------------------7 J0 h& b' F. R! U8 b) s% H
**修改人: **
7 O/ V0 E) ]8 X9 P**日期: **
# B# N4 D; k" r**描述:  **
' \2 f% M( f& H) w" L**--------------------------------------------------------------------------------------
, g! {% q- [- i9 @***************************************************************************************/' `0 S( a- j$ O+ J8 }  l
' C. C& t% a5 a$ v4 {
, T$ |7 q) E4 I0 o1 y
#include <reg52.h>
" ?, d$ d0 f- R#include <stdio.h> //头文件
+ ~4 ]/ ?1 ~, k, j& I6 y
: X  v" `0 f$ N$ [2 S# d6 b6 V9 p; [typedef unsigned char uchar; //重新定义数据类型6 W: L0 v, G- o1 R1 V6 F1 K" J
5 |; b, `5 L$ I$ @: @! j
void delay(uchar x); //函数说明6 [. Q7 p! V9 Z+ D, H; s& Q4 [3 L9 W
uchar readadc(void);$ ~. W2 Z  v7 @' p9 y6 |
void adcck(void);; [4 d- N$ e0 \7 Q9 u; d

( F' }0 x. M) q) a& z" V% v/ P6 d9 ^& U; b# N
sbit adcdo=P1^0; //DATA ) t1 ^+ w, g* F% ]5 B* R
sbit adccs=P1^2; //CHIP SECELET: Q& r/ F  k4 {. u) [0 i  y
sbit adcclk=P1^1; //CLK: n9 t9 ~3 f. F' `' n+ z6 H5 n
//P1口功能宝义; t' Z9 v* M3 r* b$ \
) j7 F; @6 L% k

# G+ Z! n! P* ~0 L7 C9 Z
  g- T7 _( v; A: B( x/**************************************主程序******************************************/0 j. B4 K8 G, B' X2 a) J# X8 }
void main(void)! h0 Y: m1 Q; K- ^
{
" y* b  ?7 L' \) j3 D3 a# buchar a;$ Q" y3 V4 D: P' W& X3 V
a=readadc();
2 m: V( \( E& R6 V( uACC=a;6 \$ \/ ?( p! a2 y* s
}! M. K3 X- r1 i: J
3 q0 N- X8 b1 [- k4 D; d9 N. P; D
6 w/ h) q) k" h( E9 I
/***************************************************************************************
8 M8 C2 a+ |) V  M& k**函数名称:void delay(uchar x) **' p. b. B+ i+ M, V5 {. \5 C
**功能描述:延时 **) r+ L- J1 Q8 p
**输入:uchar x (所要延时的长度) **- H# |& H* ], ^5 T' Q
**输出:无 **
# \2 F9 i6 e8 t**全局变量:无 **
! K4 e: [" J0 ^: p**调用模块:无 **2 p! o+ W; V6 Y4 C1 O4 l
** **, \/ b2 }$ A6 n5 X2 T& |% {' \( T
**创建人:Jarvee **
8 J% I  |6 H/ U0 w$ S* J8 u2 f**日期:2002-9-14 **
6 M# ]5 B, O+ X" y0 A0 ?7 U4 Y% s**--------------------------------------------------------------------------------------2 ]  C+ E0 z. r- u! t1 R
**修改人: **% U) {  Z( |0 u- O% R& `
**日期: **. w# R9 P! W/ k$ ^1 @, q
**描述:  **. f  r9 D3 R# b' ~
**--------------------------------------------------------------------------------------
( ~+ v% q7 N1 Q5 l5 l2 O4 Z***************************************************************************************/, z! t) Q: Q  b: D0 p* Y& U8 j
void delay(uchar x)
( R0 q8 X. R% d+ ]4 Z: d9 Z{
- g; I& _' s* R- k% Ouchar i;) l" o& D) ^# V' w+ W4 j
for(i=0;i<x;i++);
/ I% i5 ?5 w2 R! ]$ g( b}* _% `& y8 ?% R9 y  s, S* v
1 U: w% K& ]& L0 q2 g5 `, \, f9 H
# J6 d* Q4 r) h6 Q; C4 P
& Z7 _1 d! n7 x+ c+ r6 d
/***************************************************************************************# M0 J& ?) O/ f* n8 o
**函数名称:void adcck(void) **
  G' k- c) i5 |  _**功能描述:产生方波信号 **! N2 q0 ~) `: s7 h2 D: a3 d
**输入:无 **
9 R: M% X+ o. A8 h# N2 C: c- I**输出:无 **5 J6 w' V& u  ~# r$ j
**全局变量:adcclk-->P1^1 TLC0831的CLK **) _3 M1 Y. K3 e5 F- y4 J6 q
**调用模块:void delay(uchar x) **
0 L* c, T* _2 z4 {: z** **/ f$ |+ _7 A5 i/ E/ `3 ~
**创建人:Jarvee **/ F4 u, c+ x' l) u, g
**日期:2002-9-14 **3 W, Q# b4 }; z3 F
**--------------------------------------------------------------------------------------; c; v. b+ v* ^$ L- \
**修改人: **
2 w& w4 D- c* K6 ~**日期: **. b4 D0 D+ |2 b- a6 I9 P% Y
**描述:  **
, z/ F8 F7 n& s# ^- S: Q**--------------------------------------------------------------------------------------
( i5 B' a0 x( Y1 q4 a***************************************************************************************/
; u1 z6 \  d6 t& Q6 R' ^+ I$ xvoid adcck(void) // clock signal + w8 ^2 A" ~7 m9 y. v
{
( ]" \% U$ ^- O- h3 m5 n8 ]9 C* kadcclk=1;
; @$ L8 |. R1 ]' N( N  Hdelay(2);( H9 }2 R2 R3 y# |4 H

3 u. N! H# V. l. F  w$ b& {3 x6 Radcclk=0;
1 V9 M4 \" n2 a' y+ Q4 i& [& a, N5 ?2 jdelay(2);
: ?* r" o$ F' X# ?0 l# w}
/ C. U; Q6 i" w' z, _& U& Z
' t+ [. _' Y! I/ S% g6 D# t / l# z' i! k# U; a) y- l

% [; `1 }0 f- |/ t# V$ G/ k" o/***************************************************************************************9 C8 F( k8 g  x' |8 C+ {+ f* k. h
**函数名称:uchar readadc(void) **- a% U# N, F$ _; a' y
**功能描述:从TLC0831读出所转换的数据 **8 m, S# }. D/ P8 U2 {, t
**输入:无 **
5 e6 G0 G4 C" p& s6 Y+ O**输出:函数返回值 **& ?# K" [; q7 o) _, o0 ]
**全局变量:adccs-->TLC0831的使能线 **
0 U  ^9 n+ R1 q# |$ r! D$ c. r2 Z**调用模块:void adcck(void) **9 G9 _  ^) _) n" ^: ]
** **$ x& {8 Z& f* M. ]
**创建人:Jarvee **
1 I+ K$ J: O; M( j; j" T7 }**日期:2002-9-14 **  T5 R8 D6 y# j
**--------------------------------------------------------------------------------------: ^6 Y& d3 F; _
**修改人: **
# _& a4 @2 }! E% f0 i' l**日期: **; G! ?) H5 k1 ]  S
**描述:  **
6 `2 w0 J" T" `( t# R**--------------------------------------------------------------------------------------
  \& I8 y6 u. O4 t8 \***************************************************************************************/
2 o  O+ x8 ]  F. i3 I2 ]uchar readadc(void)
/ l5 i& J$ s6 O{. J% q  T9 `& a7 z5 ]# v! v# t
uchar i;* B- }. d$ D+ M( E
uchar ch;
/ H1 j9 a! H, madccs=0;adcck();ch=0;
2 q* A- X1 o1 ^% j  e, n
( v, B, h7 P: @3 X: [for(i=0;i<8;i++)- A! V$ e( Z% T/ V
{
* H/ k) l. D- S! T. F# Kadcck();+ [! L* }0 a# N+ C
ch=(ch<<1)|adcdo;
/ ~6 q9 V7 }* Y4 b5 n8 H6 Y/ r}
% N. a# D% |4 |9 Nreturn(ch);" v: U' C4 q4 J; G
}

该用户从未签到

2#
发表于 2016-8-9 16:36 | 只看该作者
学习中,谢谢分享! ?% @' ^0 k3 Y; I
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 12:48 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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