找回密码
 注册
查看: 557|回复: 1
打印 上一主题 下一主题

Keil编译错误怎么处理

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-11 14:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
编译时这么多错误该怎么处理,我也是网上复制的,如下图:请麻烦给看看9 @! \" p7 l' q* k  x+ p
" x+ B* D  h7 W9 J$ q
/*程序说明*/7 F, J3 i% j  s( `' ~6 F& @
//P3.3-P3.5输出3路频率500hz占空比1%-99%可调方波//
* ~- _0 N9 {7 W, p. ]//P3.0-P3.2有3个按键单独控制3路占空比输出长按加5%$ g) Q# a) @- y5 |
//短按加1%占空比
) D2 N- w* C7 m#include <STC15F2K60S2.H> ' i, h2 F1 c: J
#include <intrins.h>
! R  o* ~! i3 G& m$ G#define uchar unsigned char' i1 `4 D7 W, p% ^2 c
#define uint unsigned int5 V% D4 n7 d4 f+ p+ W  z* j+ _% E
sbit red=P3^3;   //红色LED输出口
* M; \9 g" H2 x0 l! c  n1 W! }sbit green=P3^4; //绿色LED输出口
5 g3 b% F" i, S- ?8 |sbit blue=P3^5;     //蓝色LED输出口1 q# |3 ?& {6 N
sbit k1=P3^0;     //红色LEDpwm控制
7 }+ y4 o0 r9 c! `sbit k2=P3^1;     //绿色LEDpwm控制
3 N$ M/ }3 O8 S: @+ E% Psbit k3=P3^2;     //蓝色LEDpwm控制
2 c9 O0 i& O* z: V  q) i9 w; d" quchar r_temp=1,g_temp=1,b_temp=1;  //三色占空比数值缓存
* x. a( _9 i" o- l: a4 _) P' quchar flag;                          //定时器T2定时次数标志" |& S  @% |3 ~- G0 I, K8 p# H
//延时函数,大约延时10ms.5 r2 I8 A/ s8 {  K" m3 t
: O9 N) `. z% p$ z, Q- P" f# _
void Delay10ms()        //@11.0592MHz
" b: B3 E* o. N$ j% e- k6 S% P7 V{3 H. Q* T# N$ Z4 M
    unsigned char i, j;" m4 }9 r3 w: V+ v# _' D
7 c  r7 U' j! o, A0 n3 o5 d
    i = 108;# {9 G4 V1 r3 d# w
    j = 145;
: S2 r8 g, G5 @! N. ?$ K    do
+ u* _+ H  H% h0 R) f0 X6 b    {8 W5 \6 T* z; R: z
        while (--j);
1 I5 m! l) y+ r8 E) j2 t! |    } while (--i);
0 e4 H) e+ I9 T" f* S}
) B% E3 E# ?( P. R2 `* u8 y+ b- ?' T4 Q! ?( K' K; g* Q4 U
//按键扫描程序. M3 j; R8 _" b! x! o. k  z
void key()
4 E0 [) @$ R2 M3 b& V% q{
# e8 @0 C1 k7 J+ t0 _" q3 i0 S2 K: \  uchar    num1=0,num2=0,num3=0;
$ I4 ~% `7 s0 C  if(k1==0)               //按键K1处理程序
; x6 c% G% o! k+ s   {( w- \6 x1 ~- E. e( ]
     Delay10ms();8 s% D3 S* J" {" ?5 t6 T
     if(k1==0): T3 F: s' V  U9 G
       {
& c9 p5 X( T. ?+ P; E        if(r_temp<99)6 E3 \0 V6 _6 T1 R2 V5 o# q& O
             {     
8 `. G) o+ h! O6 x6 |$ n% _6 }              r_temp++;6 [9 ~! q% I8 K" o  S0 q$ D$ s6 q! n
              while(!k1)         ; @; ^; I' r- q& ?5 K; U7 ]
                 {% }$ u3 d6 X( G2 u0 U4 d
                  num1++;      //长按标志位加到10约100ms) k6 l6 E4 l6 v- \) D. Y1 {
                  Delay10ms();. z- Z1 b% o9 @9 @$ ?
                  if(num1==10&&r_temp<95)
2 {0 C& a4 Q0 c- H. r3 c) ]. M                     {# e' q% K# d1 \' Z2 o5 {
                     r_temp+=5;/ z4 f' Y! J1 R
                     num1=0;7 n' r& D" I- u1 R3 R6 E& p
                     }& Q4 u' v# [4 q2 @3 D7 B
                  if(r_temp>=95) r_temp=1;
8 Y0 q' U; U, I0 v( S' i1 i' m                 }
* t8 G" k4 {% ?) [4 r" S- Q            }
1 b$ I0 Y" R) {" J( |- X- P* j1 ~/ |        else r_temp=1;         ; M" B% w: b* j6 V
        }+ U2 l  O2 V  G& c6 U
    }3 h: u: k0 |* H$ ^: H$ o

1 J' N/ k$ w( |0 K  if(k2==0)               //按键K2处理程序
& N4 y  Z* ?8 |   {
1 R( p: k6 a9 O; e* w+ X     Delay10ms();
: `4 _, h9 [+ {+ n0 h9 t( s     if(k2==0)! p' q5 x6 C# Y* n
       {
' g* J- k( j2 x; h# x6 C         if(g_temp<99). A# @* k* |( C; _0 x% f
           {
; \0 g+ E* U, \: B3 [2 z' P             g_temp++;
4 V6 ?; c& T; W9 W' |, }5 R             while(!k2)- b+ q  \& n* d# h3 e& A8 t, H
                 {  e6 O# f( s, X" F% O& X& I
                   num2++;          //长按标志位加到10约100ms& c. e  `) v7 A8 r9 ^2 W( k
                   Delay10ms();( L# |4 Z' v2 F1 h: c- y' A" i8 M: h
                   if(num2==10&&g_temp<95)% H# B1 y, T; g' B  J
                        {! a1 o# r) E4 f$ t5 Z
                          g_temp+=5;
5 W  w9 U. p+ D& W: w+ _                          num2=0;2 Q" U& {4 {! c4 s* N
                        }
9 m) ^$ |  }/ l. j; \                   if (g_temp>=95) g_temp=1;
' z! f& A% c8 o  Y) `$ g9 {                  }
( w/ t8 @& |- ~1 P$ P! x            }
1 T$ x  \" \5 _- w. H3 q          else g_temp =1;
6 d- \& z+ R- X, s3 `, z2 L       }
: S/ f, _! I; q8 B" d+ m. {2 H    }( g+ F& [) W* {0 `4 |7 m
  if(k3==0)                       //按键K3处理程序  u3 C0 X9 j4 R# X* [0 [
    {
& m" c# v% T8 X! b7 K" P    Delay10ms();
3 |! g" y! k. W. [6 ?     if(k3==0); I+ y2 L+ g+ L% {8 I' L* z
     {  K; Y4 ]" S" p: K) ^  {
       if(b_temp<99)
- W4 Z& C1 f  D           {
4 `' z) z) s* _6 D            b_temp++;
  o- |" U4 m/ k            while(!k3)9 B& a' ?, K: l9 Z5 M" a
                {
' L5 i2 n# [# U0 A                 num3++;         //长按标志位加到10约100ms
0 H+ q4 {& |5 s0 k1 E) Z5 E                 Delay10ms();$ P4 C  T3 K: m5 f
                 if(num3==10&&b_temp<95)
" n( w6 |3 J* V' R1 ~. y                    {7 i2 e- k+ }' e) z
                     b_temp+=5;
1 N. a" G; a4 L" _6 l$ v1 x) f8 P: V                     num3=0;
/ ~1 m4 {9 `' ?/ n+ `1 I  A                    }
+ H7 s  Y- \; r+ i                 if(b_temp>=95) b_temp=1;
) @! q$ q8 {/ S! y" u5 `                }8 r9 S- J' K& f+ B2 j! k! ^) ^8 M- m
           }
0 d: G# ]& |; O) h( P8 T     else b_temp =1;
( N% I( B9 X! f      }, j  ^. L; E5 W! C- x3 a: A/ e- l
    }
2 }5 _8 v/ O, Z" f8 W, c}
9 s: O# N' M$ w4 ~4 X' R
; K+ l$ O- S  o9 Y//定时器T0 16位自动模式定时1ms 控制灯灭时间
: Y) w2 s) A' M, i: z
  L( `9 s/ h9 M; L% Mvoid InitTimer0() interrupt 1  // 1毫秒@11.0592MHz
. K& ^, l$ E0 A+ V{    . W2 ^* Z. A) t* E* ^
    IE2 = 0x00;   //关闭定时器2中断
7 |  W) a9 X7 M    AUXR=0XE4;    //关闭定时器2计数
( p3 z+ m- I$ p+ Q  Y, [    TL0 = 0xCD;
" w/ U6 `' G; G# P: X    TH0 = 0xD4;
2 ~. D" [2 `3 s2 T( S( S( x6 T    red=1;
7 ~) L1 |! t' S    green=1;
6 b6 ]9 g2 L! r" u    blue=1;1 K5 {  \8 i$ k! c% j$ `
    flag=1;
& {7 V  ?4 g9 c' n    AUXR=0xF4;        //开启定时器2计数
% B! _# G, b- c- G" V! v5 |    IE2=0x04;       //开启定时器2中断允许5 L  G: b" |# S4 ?
}
8 g/ |* F5 P. Y7 a% w$ }- }//定时器T2 16位自动模式定时10us    控制等亮时间, r/ \" X3 ?8 P- c) [/ W7 A
void InitTimer2() interrupt 12    //     10微秒@11.0592MHz$ s% B; u, \' _2 }; m5 D
{    - y! ]" V$ C- ^5 X& P+ a8 E
    flag++;6 Z8 `& l" H$ K1 l! Y  ^
    T2L = 0x91;        //设置定时初值
4 E. e& _7 @5 S' X$ Y    T2H = 0xFF;        //设置定时初值: q3 S( Z/ B' `+ a1 }+ r
    if(r_temp==flag) red=0;* C8 X9 z  Q  o' ~: w7 V
    if(g_temp==flag) green=0;
) X6 p0 Y: X6 |3 R2 i: u    if(b_temp==flag) blue=0;/ J  B% w6 H( Y: k
}
) K7 F6 W/ _0 Q) jvoid init()
; |3 B0 D2 u0 [) n8 L2 q6 S{
$ H7 S2 x7 B' ~& J! w    AUXR =0XE4;//设置定时器0和2为1T模式. R7 L) ~" K! @+ H
    TMOD= 0x00;! w2 r- u5 o- u, T( {
    TL0 = 0xCD;0 m$ m' \6 f1 T. u, P3 j6 I3 d
    TH0 = 0xD4;6 I3 w" h6 E" v  v; b3 o, _  H. x
    T2L = 0x91;        //设置定时初值
! ~1 L1 F5 N) F4 m/ ?! w4 c    T2H = 0xFF;        //设置定时初值3 D# S# S" a9 Z% e6 T
    EA = 1;1 Q9 p. R; E, O
    ET0 = 1;
( F/ o0 C/ ]- [/ Q2 T5 F    TR0 = 1;
- E8 q, Y% A; T5 B: i2 f) Y}    2 W% X1 h( u' Y& Y
void main()
2 K6 A9 T2 R% J* c' R; `{   & T3 _9 @/ t0 L& d  W5 i" L
init();5 i" P: n. x7 m) P, ^
while(1)
+ x- x5 y7 l0 e8 o* p: d   {( e- c  P/ \' v6 Y9 a
   key();
% {% [/ F# K1 ?) P" E   }
4 p0 O3 T) e4 y  ~2 C: [: r' G; Y}7 ?# ?8 e6 P8 I2 h- X* l
/ {" j: U) U, E3 h$ e' v

) X+ s7 v7 X* @. C* q

QQ截图20190511140111.png (76.59 KB, 下载次数: 1)

QQ截图20190511140111.png

该用户从未签到

2#
 楼主| 发表于 2019-5-16 09:48 | 只看该作者
那位大神帮看看,在线等
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-5-31 07:11 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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