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

Keil编译错误怎么处理

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
编译时这么多错误该怎么处理,我也是网上复制的,如下图:请麻烦给看看) T2 ~( ?2 H2 P- c$ c- M
. w* K7 Z' i% v- Q
/*程序说明*/
1 t9 j- N% [, U$ E* m0 B) W//P3.3-P3.5输出3路频率500hz占空比1%-99%可调方波//
# Q  L8 `" n- S$ R+ W- ^8 v/ @6 }//P3.0-P3.2有3个按键单独控制3路占空比输出长按加5%
! o' d# t# w, O6 C, H8 z//短按加1%占空比4 V% R! V4 q! |, P& _* o8 U) R
#include <STC15F2K60S2.H> 2 I* o' |. m6 k' w  i
#include <intrins.h> 5 n0 ~5 @. e9 x) I: m( V
#define uchar unsigned char( s( h* F) I- y5 d
#define uint unsigned int
3 Y3 G- E$ j9 ^2 h5 gsbit red=P3^3;   //红色LED输出口
+ ^+ u+ F4 N' g. _5 F: |sbit green=P3^4; //绿色LED输出口$ q7 x  g' L6 Q
sbit blue=P3^5;     //蓝色LED输出口; c- ]; j7 r; J6 ~, I4 E
sbit k1=P3^0;     //红色LEDpwm控制
8 q* W3 u) }) t  F/ m: ksbit k2=P3^1;     //绿色LEDpwm控制* N& e4 w! ?* n) l+ m& g
sbit k3=P3^2;     //蓝色LEDpwm控制
2 [; v9 x4 r% H7 N4 ~- `uchar r_temp=1,g_temp=1,b_temp=1;  //三色占空比数值缓存. \4 F4 y" w6 r1 u4 g0 \% e" T! y
uchar flag;                          //定时器T2定时次数标志
, x$ \2 {$ L0 |# ?( O8 }5 A//延时函数,大约延时10ms.6 t1 w2 y7 F/ T; v7 ^

0 `0 n& S1 F$ b. cvoid Delay10ms()        //@11.0592MHz
2 Z) F8 H/ R7 _7 x* ^8 _) u. ]{, o9 K* {( L1 [+ n7 l1 J
    unsigned char i, j;, e8 a' o- V5 }+ E

/ |( v$ O: n: a  t    i = 108;
* r3 a' X0 p6 P( T3 ~& g    j = 145;+ ^0 l$ j; m7 {4 U/ B/ V
    do; g# G% f: J; ?
    {
$ N. \5 H# ]! u! q3 k* t        while (--j);
$ h+ f" A& T9 D+ H$ `* X    } while (--i);
' y4 o8 P* ^8 J3 C3 a}  X6 ]5 h0 Y( K5 w, x2 ^) }
# W6 X. [# J( J/ D+ E( l3 P
//按键扫描程序
' i! S8 g3 c( V- x8 C7 Ovoid key()1 a) q) ]$ r8 H5 \
{/ y$ x5 ]+ u9 A  I0 M( K
  uchar    num1=0,num2=0,num3=0;3 C2 U6 N# E! q1 L# c0 s2 x
  if(k1==0)               //按键K1处理程序
9 M; ]6 g- g8 W8 M1 v   {* R" y8 i: F6 z" j2 B, s
     Delay10ms();
- Z6 ?% n5 B; s; z1 U     if(k1==0)
: t2 a; J* F4 s) v       {
! |6 e' r: B1 ^1 F7 g1 ^: p2 P0 g        if(r_temp<99)" E3 x' T, M$ G  n3 m8 a7 M3 P
             {     8 `2 |5 v: Q1 Y% I5 C0 D8 C1 P6 M. v
              r_temp++;$ H% ~( W9 j5 x' i% m: l
              while(!k1)         
8 n' h) N) L+ \" p' O( w                 {
) J9 ]6 E. H+ K9 g* Y4 M( Y                  num1++;      //长按标志位加到10约100ms& `/ o- j# T8 _! S/ r' M
                  Delay10ms();& ~8 R; v+ f+ P5 o+ v" g
                  if(num1==10&&r_temp<95)
# N) s& G) |( Z3 E; }, U                     {
5 y: j  o, `. Z6 s4 v! z                     r_temp+=5;! t* v9 _7 `2 X
                     num1=0;
0 r! @/ f7 t  I" n. l                     }3 n4 l+ D* \( s
                  if(r_temp>=95) r_temp=1;
, H) I2 k/ A1 E5 k  r$ H+ ?                 }
+ d2 z% {  ~' B1 R$ B; ~# U- B            }4 e$ y; o: \1 |5 ]4 }
        else r_temp=1;         ; s. S: P, A% @* Q' T3 U$ \* g7 F
        }- l$ }% I: C, V: y6 `4 J
    }
8 H9 V7 d* N" ^
: V( ~* \4 g! g6 J& z$ I# b  if(k2==0)               //按键K2处理程序3 l& H8 M4 z1 k( g9 I, C
   {/ T7 r' T6 Y' _2 `
     Delay10ms();
1 c& _* [' H, V+ }% X1 a9 N$ d     if(k2==0)9 n- w6 @1 R; C5 v8 J
       {6 f! s3 e" q+ ^% f8 G
         if(g_temp<99)- K. g! b( V4 ^' \* c4 E
           {* T( X0 P! F; ]
             g_temp++;
" u, R$ Z' w9 F- _0 V" b; ]             while(!k2)
2 K4 m/ d, |- E. f                 {7 n6 x9 x/ }! _: ^1 z
                   num2++;          //长按标志位加到10约100ms0 s$ R  Z5 }) o/ i, l: T
                   Delay10ms();: y$ m, a! v3 y3 P0 O4 g8 y# ]5 g
                   if(num2==10&&g_temp<95)1 f: S( {! A' ^8 k! ]& P: D
                        {
9 x$ I0 `4 _* c1 W! ^& l                          g_temp+=5;/ F, G2 y7 I8 P2 R1 \4 E
                          num2=0;1 k% f: d/ t0 d: w$ N
                        }3 `8 I0 }2 c& n" n$ F& @! j
                   if (g_temp>=95) g_temp=1;$ @, H& H3 D+ A( ^- i# [& n. h
                  }
9 @/ @# Q9 ~9 ]' z            }
4 t$ A: b* c  J) W% y          else g_temp =1;) M) u& K% a. h' M7 w+ r+ ?
       }
- c! o) K' ^0 i( }  r2 G    }
& N, Q5 C0 d$ W- }! [  if(k3==0)                       //按键K3处理程序
0 Y$ s+ h! g( b- o& K    {& ]2 {/ ^$ T  ?: P1 J! q! [
    Delay10ms();
2 ]) G% @2 O6 R$ c     if(k3==0), y: c* g: ]4 I' w
     {
* D5 V7 {8 h& m+ ^, L4 O       if(b_temp<99)) n" B+ u( R- m( [5 n3 t) Q
           {9 R  s+ H. S: q5 z1 K. B" @! i1 p
            b_temp++;
; Q5 P; u, {9 }' s            while(!k3)
1 G5 T) e, e( o0 Y2 s  {- R( R                {4 c  O9 s4 {- s. V
                 num3++;         //长按标志位加到10约100ms
$ W" M5 s5 b9 I+ {6 i& b                 Delay10ms();
+ `, P+ i% @8 {! p3 c1 w/ _* W                 if(num3==10&&b_temp<95). e# n( G" e2 A4 b1 L
                    {8 u$ Q7 q7 M  b2 a; C9 z
                     b_temp+=5;8 a$ D6 K; h$ K/ U( |( d
                     num3=0;
9 [1 x1 n4 ?9 Z5 t                    }4 i  p- \( {' I1 A( ~; y! y
                 if(b_temp>=95) b_temp=1;
# f9 O  t- o8 ]* z  i                }/ q& V2 c; F0 R$ {) J: F) }, L
           }
: [- b' z, D0 G% l* h: f* o$ k     else b_temp =1;
& n9 U! s- M9 i% s+ [      }
/ ~. Q  j* r% K$ ?( |  [    }2 V# i% J% G5 W) d) x2 h8 Z) C
}( ]  ^* F  m2 H  n  |# S1 }2 H6 l5 |2 ?- g
! L: q' ?" g( o* d9 F( B
//定时器T0 16位自动模式定时1ms 控制灯灭时间
+ k4 D) W7 h  A+ r$ L" L; u9 \. ^# Y
void InitTimer0() interrupt 1  // 1毫秒@11.0592MHz
- }# g3 u& q: S6 \, d{   
9 J. h8 f, Q: v* m* J1 V    IE2 = 0x00;   //关闭定时器2中断
) P, T! ?' T* D6 {$ z+ H' l    AUXR=0XE4;    //关闭定时器2计数
7 ?7 E/ u8 K3 _1 {! a* m    TL0 = 0xCD;
' p% F9 V) l' _& \0 O2 R+ I    TH0 = 0xD4;4 ]* n9 {# Q4 N' V/ Q! Y" j9 B/ p" L
    red=1;
5 k4 A$ C& a" ]: E5 p, \, N9 }    green=1;! x' s- s! P6 S( f
    blue=1;- L' m; O9 y' n) W
    flag=1;
% a0 w8 u; t3 m' D5 M    AUXR=0xF4;        //开启定时器2计数
0 U; [. G* X) Q% f- N" P' j9 }    IE2=0x04;       //开启定时器2中断允许
& W: k: L% V9 m0 W$ P}& \7 e# k% ]5 t$ B# _
//定时器T2 16位自动模式定时10us    控制等亮时间/ B2 x, m4 V* |% e5 }1 t( o4 x
void InitTimer2() interrupt 12    //     10微秒@11.0592MHz
5 c) _7 ^6 d2 V0 y+ L{    ! X  I7 A' e- C# E( @
    flag++;
1 k3 s& ~) F( n& _1 K, G2 `    T2L = 0x91;        //设置定时初值* x' C- k' w$ P6 n, a' d
    T2H = 0xFF;        //设置定时初值
  w% N- b3 p# e* U9 t! ~6 E    if(r_temp==flag) red=0;, ?- D8 z; O5 Z, i' L3 K! |7 P
    if(g_temp==flag) green=0;
: T5 M. r8 e& n    if(b_temp==flag) blue=0;
% j% e9 b1 t& I# W8 P( u}0 V4 v- w4 X  [6 h- Y3 k0 P2 n0 g
void init()
1 d. K% A  b+ T: F1 ?{
. j- t1 @6 c8 r    AUXR =0XE4;//设置定时器0和2为1T模式1 s* [3 ?, }3 o7 o8 o& l# g3 E
    TMOD= 0x00;
" h9 K' p2 x. h! Z    TL0 = 0xCD;
' x- u) k/ t& e+ v4 D    TH0 = 0xD4;) R! D. E. a4 r
    T2L = 0x91;        //设置定时初值; b! m1 o2 W4 }0 I
    T2H = 0xFF;        //设置定时初值; Q1 r" i8 b8 e$ ~
    EA = 1;1 O. |2 `; [$ R0 |, v5 J/ |
    ET0 = 1;$ n+ |, r* Q8 ?/ P: K7 O; _& @
    TR0 = 1;& W) z, P# e  j. o# |8 f
}    * y8 ~- l( r+ l; s: J
void main()
7 X/ i9 }3 Z, h4 p5 }- x{   # _: v" S6 l, U, [4 A" `* s6 T
init();
1 u0 B6 M7 x7 d) J( rwhile(1): e) ~8 y7 l5 V% @$ Y
   {
& e! D3 f0 E# Z9 y8 _% K8 I' F, e' z   key();6 F6 a  b2 V3 J3 A8 J
   }
- D1 r* T- Q5 L( |}8 d- d/ M7 h/ Q& f% |- Z4 ]
3 p! g" G7 b% l# R( P  r: l
# u2 d& j) K, F

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

QQ截图20190511140111.png

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-20 14:17 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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