|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
keil中C语言的();【】;{}三种括号的使用
2 S5 y6 p7 r9 _: u5 m0 M
5 E# s- w* B. S9 A/* 名称:K1-K4 控制数码管加减演示
8 B) T! m. P9 G2 q. }8 s 说明:按下K1后加1计数,按下K2后减1计数,按下K3后清零。4 d1 G+ D4 O4 z) q" V/ c
*/& X5 _* o6 X; M. [- [. q v
#include<reg51.h>) `0 y0 M+ b( C3 K: f& N
#include<intrins.h>6 h0 T; m w6 [: J; I
#define uchar unsigned char0 z5 E- u" X" Q( j3 R+ |2 u
#define uint unsigned int
9 }* l: H m4 Q0 L//段码
$ `6 f2 c- D; d' @, Buchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
- U M$ j5 k0 d/ y2 \- P//待显示的3位缓冲
3 }7 X) ]. O9 O% Iuchar Num_Buffer[]={0,0,0};
9 \% A; O% L7 i! T) H1 Y' U//按键代码,按键计数8 |2 H* w6 E- G# X
uchar Key_Code,Key_Counts=0;; s$ m2 j2 i8 j3 z
//延时* [) A5 Q* p: Z. o( L2 I% K
void DelayMS(uint x)7 _: t0 N# B+ D! M( S4 j- N
{* E D0 K6 X8 U3 y5 N$ @" r% H
uchar i;: X0 w; t* o' C
while(x--) for(i=0;i<120;i++);7 v! W) ?8 {* p
}
2 l5 s" B* K/ ^8 {: _' e. x//显示函数
# _+ d0 `) ~- b) R# {) cvoid Show_Counts_ON_DSY()
! Z8 @3 _" U0 ]# h {{
5 X& A. r9 q: B) Y. @* f! |0 {1 G* ~ uchar i,j=0x01;+ V( F. c9 u2 c: z3 j/ a
Num_Buffer[2]=Key_Counts/100;6 s; y4 ?6 N% d" \
Num_Buffer[1]=Key_Counts/10%10;
2 C1 |( H$ T$ F/ r: I. w* w Num_Buffer[0]=Key_Counts%10;
% ]9 _: Y3 ~' T( ~4 { for(i=0;i<3;i++)
' z( z$ h9 [' T {
2 h4 k' B+ P U% _- ~) r j=_cror_(j,1);
; F: P5 \% N/ d7 d" t; C P0=0xff;
6 K% Y3 V* d5 }2 o P0=DSY_CODE[Num_Buffer];
& X+ \ `: m) ^& s P2=j;
: H4 S/ W; l- I0 P5 c6 i DelayMS(1);" `$ R' z) ]& B# a3 q6 l
}. k% L8 p( `! H8 w0 ^4 t
}5 m U. I! M6 n3 J* \
//主程序: l. r+ R( _# H `) r
void main()
" B2 J! I O! V+ {6 T6 x{( b0 o z# z/ h2 o# j
uchar i;
* C0 X" ?3 F; U, Z5 z! `9 d6 ]* I P0=0xff;
9 m' r+ u2 J w& t8 X, Q3 E P1=0xff;& n4 r3 T) R3 V& p6 O [: I
P2=0x00;- y/ p# w* {# y! U/ f
Key_Code=0xff;% T- y5 _) G2 S9 X/ \1 N; `5 p a& k' @
while(1)/ ]) X+ d* L& f, T
{
+ |' o: B* R) o7 U; ~5 m8 h+ D1 P Show_Counts_ON_DSY();
8 B$ [* E q6 M3 N, G P1=0xff;
: }; O7 B/ o/ W9 u9 _9 B Key_Code=P1;
5 \6 c' o0 O" Q1 J- \ //有键按下时,数码管刷新显示30次,该行代码同时起到延时作用4 Z$ s; |7 y. C
if(Key_Code!=0xff)/ |$ j1 C' w: x
for(i=0;i<30;i++) Show_Counts_ON_DSY();& O w: d: ^8 |5 u- b
switch(Key_Code) h$ |- a7 @' K( @$ s
{4 u5 o$ ^# I! _; a3 F" } M0 Q
case 0xfe: if(Key_Counts<255) Key_Counts++; e3 G/ B) E% v2 Z' E
break;: R1 i' G% r/ `1 f
case 0xfd: if(Key_Counts>0) Key_Counts--;
* n' @2 o( |5 u3 x* Z, E9 w& _ break;
% _0 M7 i7 R f8 k case 0xfb: Key_Counts=0;" ^8 j; E, h6 P9 `7 _* [" d, D
}
0 D; i1 _5 Q9 z. W; \ Key_Code=0xff;
, x8 v2 T4 ]4 {; S8 o }5 R; R# Z* _- w! h$ }( ? m0 c' `
}2 _) f h+ X5 H0 G/ F* p8 D
0 C) p v- k- S4 z3 |
4 p7 @% `" |! g+ [9 ` Y# }& E7 d
1.我想知道什么情况下要用空格、逗号?. c( W0 x5 m' X4 l
2.什么情况下用小括号();中括号【】;还有大括号{}? |
4 E, B! W" r+ j$ n" B5 P |
|