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

Keil编译错误怎么处理

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
编译时这么多错误该怎么处理,我也是网上复制的,如下图:请麻烦给看看$ n0 l9 J2 Y& Z" D( G. ^
( l, A8 |5 {, g# N( L5 @
/*程序说明*/
+ ]! I) N: ], {, K+ s//P3.3-P3.5输出3路频率500hz占空比1%-99%可调方波//
% Y/ U) g5 O$ R1 V: O//P3.0-P3.2有3个按键单独控制3路占空比输出长按加5%
" Z5 o' v* \' K8 u1 t//短按加1%占空比
+ f4 X" k& J  }3 [. v, U, Z#include <STC15F2K60S2.H> + j/ k8 g2 w3 `! {3 S( }/ O
#include <intrins.h> * [! L# X% o+ V7 z
#define uchar unsigned char
. P( J3 S- _- v( z: ~3 _#define uint unsigned int
7 g; w2 @0 i! A) n+ h4 csbit red=P3^3;   //红色LED输出口
: ^( s6 l* c" ksbit green=P3^4; //绿色LED输出口
' x( @; H! F2 O' j, osbit blue=P3^5;     //蓝色LED输出口
* a9 r+ r3 y7 E3 ~6 ?sbit k1=P3^0;     //红色LEDpwm控制3 b7 O6 }9 H& j+ Z
sbit k2=P3^1;     //绿色LEDpwm控制
$ x: s% S2 B6 Q& M5 Lsbit k3=P3^2;     //蓝色LEDpwm控制! R, f# A% `4 @
uchar r_temp=1,g_temp=1,b_temp=1;  //三色占空比数值缓存
+ I* l5 _5 I; U8 L1 Euchar flag;                          //定时器T2定时次数标志
4 Z' z3 o: \' D2 G/ [7 P1 r//延时函数,大约延时10ms.4 @! |+ l9 p) Z* n2 L. ^" U$ T

( p! @& ]4 g8 \2 [$ F9 @7 y/ Gvoid Delay10ms()        //@11.0592MHz
( Y$ A4 O. w3 n; G. n2 p{  E5 E% n& ]) o' X
    unsigned char i, j;# R9 B( m; K/ q7 |

" A* l' t8 |/ W! {8 w* C+ j4 m: y    i = 108;! U8 A* f+ X  h7 P
    j = 145;
2 _& d- K- z; r1 A# r1 m& F    do0 I' d7 _' N( P2 v
    {
# [5 X5 s" r' A0 r' S' Y" s, ?: `        while (--j);5 ^& |( l, I! U( m/ p# w
    } while (--i);. U* l/ ?6 j% P7 |% A" @% q2 r
}+ ]- o! {6 [# ?5 u/ {; f7 ^' _+ X
: Y) c) L: A  T7 k8 a
//按键扫描程序
0 s) f7 T; h8 S4 ivoid key()
# Q* I8 ]3 w% H. Z- }% X{
- `4 b0 Y5 J$ M  uchar    num1=0,num2=0,num3=0;$ x$ Q  Q( j0 ^* o
  if(k1==0)               //按键K1处理程序# n! C" q5 q' ?& F
   {) M. F# ~  X6 i0 J& v8 y
     Delay10ms();
- E% m7 @2 D8 x9 G5 ?- L     if(k1==0)8 s' f) a4 y0 h5 K
       {8 d0 V2 W3 E" E
        if(r_temp<99)# D/ H1 V& q1 c/ \# R4 l: M
             {     ! J  e1 M' b: _# b& n# v& V# }
              r_temp++;/ V5 J$ H3 }- |
              while(!k1)         
. c3 j1 S. b4 r1 {) O# p                 {
4 e/ [6 B0 `& c/ p% |3 I. U5 q                  num1++;      //长按标志位加到10约100ms
' i, g1 j5 f: {8 L) ]; i. }                  Delay10ms();8 `9 s& N4 S) _9 c2 U  P& H
                  if(num1==10&&r_temp<95)
% d" h- t% B- s! u; T                     {2 X4 b! R& ^# X; K" w. |/ {
                     r_temp+=5;: d$ u9 D' |. l1 \% T- P* F
                     num1=0;+ N/ C; X1 d$ D# i) ~$ C* F  p, j
                     }
1 n6 d, n! U* i, ?5 I) ]                  if(r_temp>=95) r_temp=1;! a$ \, x4 h- s/ [
                 }
! d5 U- Z4 z1 U( p# g            }
" }: K3 x2 S2 U# a        else r_temp=1;         # q0 m9 E6 t( Z3 w* ?+ j2 W
        }2 o% m: p$ @) h, A7 X& _8 @& |
    }
# X" _  W  e5 m7 l( M' m8 \
3 u, \2 P" b* @$ q  if(k2==0)               //按键K2处理程序$ n) f2 Z8 G& w  f! b" I3 [1 D6 B
   {
' e' z* @! l9 i" o! C- m     Delay10ms();/ Z, T  T$ X+ d* G, O% o1 i8 z% ^( q: p
     if(k2==0)
! r- {4 B0 b( l  z; E0 }) R       {
' T+ r3 |) W+ R/ G         if(g_temp<99)0 J9 I8 U5 t6 u$ v1 v/ M% m
           {1 }: L' t& H# T0 f1 o
             g_temp++;- i# {& R8 C' m( [
             while(!k2)
; Z6 Y/ T! u; A: f: b! T# O                 {
6 n/ N5 [5 l( L" g                   num2++;          //长按标志位加到10约100ms8 M& l  a* f2 |( T
                   Delay10ms();0 {& y+ q. {1 j8 T
                   if(num2==10&&g_temp<95); |* ~  J7 O3 Z3 T* ], r5 ?
                        {/ t" R/ t) e  g, V# w* v& f2 [% T
                          g_temp+=5;
! I" Z/ O. W& b6 [: F: r! A                          num2=0;. j" S# r7 }3 n' J' ]8 w
                        }
) N/ W5 Z* `# F3 V+ C% @4 ]                   if (g_temp>=95) g_temp=1;
3 ^6 `+ i2 D' Q5 o                  }1 i+ K, ?0 b$ q$ G7 b# q" n
            }' ^8 F# R" q( k- t- G( h
          else g_temp =1;" @- i2 |5 i& a3 i, K% |' o3 ~! O
       }
3 z4 X" r7 ]  I4 Q# e, Z- P    }, \" Y) f/ Z- }" x
  if(k3==0)                       //按键K3处理程序4 m! I" U6 g! p" ?/ f
    {
- n' I# h& W, h; C+ T( c# X4 A    Delay10ms();% G) V5 j( {+ H  w) g* ]* V
     if(k3==0)
2 z$ J6 \- M" N     {
) Z! b2 A$ _# z* F) c( a8 |5 N/ b       if(b_temp<99)
, y$ I$ A2 z3 w, p0 \           {
. A7 H" L5 |  w5 H5 ]* m" r% Z7 a0 s            b_temp++;& M8 A& c9 M5 v: Q9 _  P) N
            while(!k3)4 m; g8 G& F3 h! q5 @
                {
: `. t# r3 p4 N9 B                 num3++;         //长按标志位加到10约100ms
' J2 a0 `; }( ^3 P6 i+ u3 L                 Delay10ms();1 B' y3 n) l2 @( p; g
                 if(num3==10&&b_temp<95)  D3 d* l8 o! t" y: g/ y
                    {
5 q8 k6 @7 ^$ X. R4 \  }                     b_temp+=5;$ `4 R/ ?6 p* D, ?3 w! D
                     num3=0;
8 q& ?* r2 J9 y                    }. ]: y' X5 a, t5 F( F
                 if(b_temp>=95) b_temp=1;$ T- w# p% C- V! c6 S
                }( D4 H  b" F+ q$ N8 [
           }5 V& w6 ~( y$ R" H8 V% C6 `! ^/ f
     else b_temp =1;
4 Z8 H0 |  R2 h      }
% S  t+ Q) }' b7 h) S- R    }
8 H5 T4 [  n: R8 h  r}
1 ^2 F. D! N# T. Q1 ^) h1 a' @( `+ T# j
//定时器T0 16位自动模式定时1ms 控制灯灭时间
; v; _) v; X) x- E: u9 G) l+ t* |+ s
void InitTimer0() interrupt 1  // 1毫秒@11.0592MHz
3 P! y  M7 g" F% O# I{    $ j6 X4 ~# x8 l  |& J
    IE2 = 0x00;   //关闭定时器2中断
3 `5 o- Y' B( L9 S. @    AUXR=0XE4;    //关闭定时器2计数+ ^1 w3 Z9 c( c  ?! K" g$ x
    TL0 = 0xCD;
+ z; \  Y9 _$ O9 x    TH0 = 0xD4;# E, W$ A+ d$ G) A6 Z
    red=1;
8 b3 g) p2 t5 T; t; Z, S    green=1;
) p" p$ F! ]) k6 Q% {; F    blue=1;
0 r5 I6 `  N* R( A7 u    flag=1;
" S/ m4 T) E; x" m5 o    AUXR=0xF4;        //开启定时器2计数) y+ {& ]7 l) O% {
    IE2=0x04;       //开启定时器2中断允许
5 i* E/ e, z( A}
) D; K6 N0 {9 |( g2 ?. o! C/ N//定时器T2 16位自动模式定时10us    控制等亮时间" S8 }. Y1 V4 H' ?1 h
void InitTimer2() interrupt 12    //     10微秒@11.0592MHz8 y  l4 b! P9 `
{    7 k3 j  Z9 P: s; d
    flag++;$ g! g/ k% ]+ H  Q6 J) k, F' V0 t( T
    T2L = 0x91;        //设置定时初值: z% t' \3 U: `0 z; D1 v( o
    T2H = 0xFF;        //设置定时初值. S! w" }$ f' {2 Q) J: F% T* N1 v
    if(r_temp==flag) red=0;1 R' D1 M' j, \' _
    if(g_temp==flag) green=0;: f, r$ ~+ Q6 ~* U4 ^7 |, D
    if(b_temp==flag) blue=0;* h# F. c4 J( `. u# ?2 ]3 D+ X
}
1 H+ Y7 j; t& _. h/ V4 H7 Mvoid init()  o  t8 g6 n( ~4 T  B
{( V& v- e8 A. @9 l
    AUXR =0XE4;//设置定时器0和2为1T模式! l! W6 _5 ^4 u6 w! z. o) K1 v
    TMOD= 0x00;5 b& L1 _% D' Y  q( \
    TL0 = 0xCD;
, x; e6 p2 s* ]4 r" R    TH0 = 0xD4;; v( ~; \+ L2 z) [- |* ]
    T2L = 0x91;        //设置定时初值; n7 `+ R6 A) o
    T2H = 0xFF;        //设置定时初值& W  A3 K2 L, Y$ p
    EA = 1;
* R& T1 Z1 O' |+ }4 J9 ^    ET0 = 1;
* K9 Y- @- y) x" U    TR0 = 1;+ d6 J0 H& x) h$ b: \. p9 U
}   
' n! w3 n$ J  Y0 _void main()2 A2 W0 y, \6 W, ?3 [* ^# Q. W6 h
{   
1 u# s% U2 j2 |2 Tinit();
. o0 D" }, J8 A- i4 f# o8 p' \while(1)
, e* o9 f1 y. j5 V- A1 k: A2 \   {. J: V6 b6 ^# h/ s# j1 e5 B
   key();6 `. @' P3 Q4 d) S8 k. @3 p
   }) \3 Q9 \; g# |. Q
}
* r7 _% G7 L: l7 m: @- q9 B& y; y$ I) h

9 W, n7 r9 ~1 {) j2 Z7 w

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-29 04:53 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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