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

Keil编译错误怎么处理

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
编译时这么多错误该怎么处理,我也是网上复制的,如下图:请麻烦给看看2 Z: c2 F; K; ~1 b& A# Y

) E& p2 y8 p0 v. ~. T) X+ E/*程序说明*/
$ c! ~6 ?# c) r//P3.3-P3.5输出3路频率500hz占空比1%-99%可调方波//4 f- L- o/ |3 K4 r! J
//P3.0-P3.2有3个按键单独控制3路占空比输出长按加5%8 d; \0 l1 I2 i  A. g6 N6 x
//短按加1%占空比2 p( {, Y. e8 ^- V: m: O3 Q
#include <STC15F2K60S2.H> % y- L' U1 a/ @4 _" P8 w
#include <intrins.h> 3 M4 l7 C+ n7 d" e7 u
#define uchar unsigned char
4 w- p( o& s+ t9 a#define uint unsigned int
9 b0 K* U6 T4 z( `3 l  I) x+ Rsbit red=P3^3;   //红色LED输出口
  J) }2 t) L% e4 {. ?sbit green=P3^4; //绿色LED输出口
! `! ?- |. X1 e3 {5 l6 Zsbit blue=P3^5;     //蓝色LED输出口
1 G* Z. Y0 Y( R  Y9 M3 Msbit k1=P3^0;     //红色LEDpwm控制
* b4 A& p2 F) D# w, b+ F% Osbit k2=P3^1;     //绿色LEDpwm控制- q8 c" A' o, G* R5 |! U% B% E
sbit k3=P3^2;     //蓝色LEDpwm控制: r1 U+ g+ m* u  u; |& }
uchar r_temp=1,g_temp=1,b_temp=1;  //三色占空比数值缓存
" p( ^/ R* i7 w: t8 p: O- xuchar flag;                          //定时器T2定时次数标志% ^& @( r+ X0 [' j* @! r( c
//延时函数,大约延时10ms.% Z, I$ N# {/ L6 k, b0 D

: X) Y4 }: C2 K" h7 o5 Mvoid Delay10ms()        //@11.0592MHz
5 R+ R5 w! i( G5 p2 d8 ?{5 _7 G9 L* C. E. P5 @
    unsigned char i, j;! p' D8 `! t: v; q! }

7 t5 b& X* ]: _& N    i = 108;
7 k4 x6 d& |1 t0 Y' _1 U4 F    j = 145;
; |/ U* ?& v- G7 n0 h; U% J    do1 }5 r. u$ a: n2 q5 d5 M
    {" _! m: @  X0 r! k4 x
        while (--j);4 X0 I' s' y& r) A) g% W
    } while (--i);5 i; V# m. d; x
}
" T  E# G( i% @, |/ P. e5 ~2 {' U3 K1 M  M0 o( |
//按键扫描程序$ L) f- E9 \8 p- j+ `- ]" W; ?
void key()
$ H  k- @) c& `5 a6 s{
3 S6 ?$ k9 {7 ^4 N. i3 K" s' p  uchar    num1=0,num2=0,num3=0;0 T0 [  R: e* H0 ^9 c2 G% b8 l
  if(k1==0)               //按键K1处理程序/ F. W$ N; r  E  v1 p1 ^
   {0 T% N/ d2 x3 [/ n7 c, v0 l- p
     Delay10ms();5 V% g: z  u4 y8 u3 }! j! t
     if(k1==0)
+ Q4 z- x8 I$ \! I& t7 f! |       {+ ~6 d; ]; h& k  i; B8 I
        if(r_temp<99)
* A& P3 G, p' m             {     : e, J8 L) H9 }. N
              r_temp++;" E9 ^4 a! f0 k& l  @; U" D
              while(!k1)         & n( @  j  A5 b- m' J1 ~
                 {4 F: N4 ?9 Y0 l, _$ P  N
                  num1++;      //长按标志位加到10约100ms
6 |# o# K2 I- X                  Delay10ms();% X' b5 N; Q. P9 \! [
                  if(num1==10&&r_temp<95) : G3 @. G: V' x
                     {
# F8 u$ E( |& {5 K, v+ ~                     r_temp+=5;4 v2 _4 u% K4 I0 X/ i3 e' H
                     num1=0;$ N) w1 ^6 ~* e8 f) t* k3 ?
                     }
6 u* T' t- f' B( z+ \4 D                  if(r_temp>=95) r_temp=1;! D  F3 u& p% Q" ~
                 }- O$ V, q+ O1 u" @3 w
            }
. U7 {& A9 h) x1 A        else r_temp=1;         
  z: U7 |. M& J1 X5 M& V        }$ j+ m& B0 N# l, Z. R
    }
6 o7 J( {4 S# C1 j
+ z7 T, m  i& B- Y  if(k2==0)               //按键K2处理程序
8 L, q; h- O+ @& ?! M/ S, w  ^   {
/ H# T! o$ S2 Q$ s% Z     Delay10ms();
" M% h0 [( t* L% C% D1 i     if(k2==0)/ a2 J6 A) P! y# P
       {6 |0 T6 }5 t7 o" ?- Y# X, r
         if(g_temp<99)
3 r! M% j4 g  W/ j3 E5 J9 T           {! W$ a+ y4 p( h, |3 ~' ^& z+ q4 C- o
             g_temp++;# T; Y6 D  Z# S2 p' m( d+ R0 T
             while(!k2)
/ Z* c# w0 Z1 |3 L5 Q9 u1 E5 i6 ?: Q                 {
- w6 Q. I7 x4 N7 G/ ]7 {                   num2++;          //长按标志位加到10约100ms
2 i+ N) j1 I2 f                   Delay10ms();* j( e+ [7 W) N  C1 U1 R
                   if(num2==10&&g_temp<95)& G9 F% W+ i/ @0 P1 w' v
                        {
2 G0 S. f1 k6 X8 t$ f3 Z5 N                          g_temp+=5;6 D9 T7 F* ]: o
                          num2=0;9 y( H7 f& V' b8 H9 W. e1 e/ X
                        }5 U+ F9 w" R, |8 j( ~/ L6 B
                   if (g_temp>=95) g_temp=1;
9 j7 C: q: H8 o& o8 P) r0 x9 x+ y; v$ b                  }: j! f  B/ c3 @. Q
            }  v- K- ?& ?" Y" {
          else g_temp =1;
# x2 {8 \' c2 j       }2 Q2 e( U" E% M5 t6 d: ^
    }
; b- j9 ]& `7 ]* W  if(k3==0)                       //按键K3处理程序; ^& o- x( O) s
    {
0 E9 |5 G( o$ R" e2 V$ @0 U    Delay10ms();; W( c1 E# y5 _7 m
     if(k3==0)! f/ W( ^) {; m5 }
     {4 f" j( y# {& d* f
       if(b_temp<99)
1 b/ Y2 W) h4 c* h6 l           {9 @' @# A" L3 i) J& \7 B3 ~
            b_temp++;* k8 d0 A2 ?, W6 H. b
            while(!k3)5 H3 V8 [" O( n
                {
- e% C7 j5 t3 C5 \( M4 ^                 num3++;         //长按标志位加到10约100ms
, Q+ n2 K9 x# }' M$ ~                 Delay10ms();
' m3 {2 s  B6 {2 K" U: h                 if(num3==10&&b_temp<95)& L9 c( C8 ~$ {# v8 b8 e' y
                    {5 }& X- b+ K( L1 J7 B
                     b_temp+=5;! \' k& b' z$ J1 R5 a- P; C, [. E  g0 d& N
                     num3=0;
- d0 K# E* B3 x, p6 i* W7 j  w! T                    }
6 a0 O' C" i) l- k$ w4 M" ]/ D                 if(b_temp>=95) b_temp=1;
; f, M8 D$ n- W* C' v                }8 b) k! }5 Q; V6 e; A  Y
           }9 @5 J) B1 H2 j/ `! G: K$ r
     else b_temp =1;
( p. a) t! T( ?% O/ ]3 u( ?7 w      }+ F# m. V! a9 M8 D0 `9 o0 O# Y# v
    }- g' @: Q& p% O2 h& M
}/ V- T/ p6 Y' _( A! A9 G; K/ u2 V

  a: E! O  W( X4 b1 C//定时器T0 16位自动模式定时1ms 控制灯灭时间9 e7 ~! K6 @  z8 Z

5 R6 W6 d, L% V( o  bvoid InitTimer0() interrupt 1  // 1毫秒@11.0592MHz
( N8 B$ ~( t1 e# N1 g{    ; l2 F6 V% n3 t5 ]5 i
    IE2 = 0x00;   //关闭定时器2中断
& `. O  B$ p! ?3 N& ~1 t) L    AUXR=0XE4;    //关闭定时器2计数
/ ~3 H# b% e, B    TL0 = 0xCD;% \) U+ d: m  F& e( q( A3 v0 [
    TH0 = 0xD4;  r7 {" s7 Q- v6 ]
    red=1;
7 V( m5 g% j7 j# z1 A7 {4 W$ G* h    green=1;
5 y+ u: k( X1 `& U& x    blue=1;
0 E' m' O* ?/ z4 J    flag=1;
$ S$ a+ I  }& j# T0 R, L" l' k    AUXR=0xF4;        //开启定时器2计数$ g" G5 K/ o0 }# Q9 F
    IE2=0x04;       //开启定时器2中断允许
- k& P1 D2 v, {/ W  f: Z! e}- R9 _0 k7 V7 i" E. \* O- v4 x( I: q
//定时器T2 16位自动模式定时10us    控制等亮时间/ @8 F7 _7 M& O# y6 f3 j
void InitTimer2() interrupt 12    //     10微秒@11.0592MHz! s1 `0 |4 d$ h0 _& K$ Z8 r9 P5 @: K
{    * q2 j. \2 O( h) U
    flag++;
3 F5 x: O: \# {  e1 h    T2L = 0x91;        //设置定时初值' ~" j" q+ C1 e5 D3 {5 }5 h
    T2H = 0xFF;        //设置定时初值8 H6 ?" V! |- V1 b+ x
    if(r_temp==flag) red=0;
7 T. k3 W- Q+ u: V) `    if(g_temp==flag) green=0;: f, v! M) e3 e- g2 k; ]: J
    if(b_temp==flag) blue=0;# a; u( {2 g% C1 D" j$ Q% D
}
% D: R& |; U. b4 R* E+ e1 \void init()
: i2 A$ T% ?2 l# A: C0 r- t{8 Z  d1 l3 M# }  O" b
    AUXR =0XE4;//设置定时器0和2为1T模式0 X; q, {4 M$ S' L% @
    TMOD= 0x00;! [/ A9 ]: K# w& j6 `* J4 m
    TL0 = 0xCD;* A4 x. \+ @' t8 }8 n
    TH0 = 0xD4;
" N* h* Z4 A# h& H( k& r    T2L = 0x91;        //设置定时初值
" |) T  g" b3 H$ z/ M/ `/ x% X    T2H = 0xFF;        //设置定时初值+ k6 K! T' C/ P% V( N! ]0 P
    EA = 1;
  P+ a1 \$ u; b! `! N; l& Q    ET0 = 1;
0 l3 I; E' V/ C5 |; n    TR0 = 1;
) _: g1 |. o! n2 x}    - W4 d( ?$ i! a; a% w7 L: d
void main()$ B* }6 u5 ^) r9 K: N6 u$ \
{   
0 A, J& J+ h: z; m, xinit();9 a% y! I( o  i5 V) c
while(1)8 t# Y) t- p3 N% o9 x
   {
9 i! p1 `% ?3 t   key();
0 r" V: [: F$ g+ E! B3 }, e3 h6 S4 A   }
+ f; H' |9 s/ k/ k: D}
2 u, j, u* K  V
! Z/ \6 ]* h# {' c- V1 I6 x
" y( I3 A# M% ]/ x& m. k

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-7-20 16:35 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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