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

Keil编译错误怎么处理

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
编译时这么多错误该怎么处理,我也是网上复制的,如下图:请麻烦给看看
+ Z9 l/ C$ [4 `2 o0 ?0 q. ]) U8 _& h" P  R; R' s. L
/*程序说明*/
, Q0 t$ n! j9 [1 W# t4 w( S  a2 ]' M//P3.3-P3.5输出3路频率500hz占空比1%-99%可调方波//
. ~3 Q* g2 T5 O* U! u//P3.0-P3.2有3个按键单独控制3路占空比输出长按加5%$ q8 L0 _3 D* ]0 S5 r+ |! |
//短按加1%占空比
2 P" M; ~6 L1 W% S2 u" q#include <STC15F2K60S2.H>
/ z! z+ D9 O  b9 P3 r5 N+ k#include <intrins.h> : A" U; [5 ]4 {1 n; ]; B
#define uchar unsigned char
; `4 S6 f1 ?- C2 S: h! }9 ^#define uint unsigned int
: R, `2 |5 \# T2 B9 I! N7 x$ E# Msbit red=P3^3;   //红色LED输出口
- w( r4 r/ e" g6 p/ y- Bsbit green=P3^4; //绿色LED输出口4 u7 H' n1 \4 [( l1 I  n
sbit blue=P3^5;     //蓝色LED输出口
; n6 y! ?( h1 y3 {4 B$ W' N3 `2 R7 j  ]9 Msbit k1=P3^0;     //红色LEDpwm控制" ^, ]. {" D$ N8 a
sbit k2=P3^1;     //绿色LEDpwm控制
) O0 {/ ^# C! ?3 ?sbit k3=P3^2;     //蓝色LEDpwm控制+ ]( E" X' L9 v" z4 o
uchar r_temp=1,g_temp=1,b_temp=1;  //三色占空比数值缓存
5 q  u. n* s0 v/ }) nuchar flag;                          //定时器T2定时次数标志
7 ^+ j$ e5 y' J. d//延时函数,大约延时10ms.
, \) a, R% Z/ P: [3 z  s" K! V6 h7 d+ A( O3 v' T8 Q0 z, A* Y1 [
void Delay10ms()        //@11.0592MHz$ y4 c0 B* ?( |2 O7 t4 g
{# s9 ~& U& G& T0 X: h3 c% |
    unsigned char i, j;$ m5 h2 T% a1 i# M: ^. i
" {, E4 x. k1 t5 K/ ]$ \
    i = 108;+ }- @% j+ |' ?8 Y1 R! y8 h, I
    j = 145;
9 j- q$ i9 ^( q2 P3 N# K    do, w) o4 d5 u  w- E4 S2 U
    {
3 s! @4 \- Y" a. P        while (--j);
. h) V: [6 J0 Z7 C4 n    } while (--i);, U: X% C5 L/ d! @6 A
}
+ W6 i; m. U% D1 P% w" k$ }: J# s" H1 W/ I, x
//按键扫描程序  I  q2 R  F, X) w4 k* i
void key()* x6 z* S1 a( J& U7 ?; M
{
' i/ T& |; a' z  uchar    num1=0,num2=0,num3=0;/ R6 T) I8 [0 m% a5 v4 `
  if(k1==0)               //按键K1处理程序
+ j) Y' U+ {* E   {; X) o0 e+ y1 o) @4 m' q) ^
     Delay10ms();# A) d7 f4 q' s* b6 y7 ^) u
     if(k1==0)! j) ~3 G5 H6 T/ K' o5 W  Y% {9 @
       {+ t9 \$ `' l3 ~* s9 \* |/ q' }0 a1 _
        if(r_temp<99)0 a9 z2 L8 ?& h; E/ Q/ R
             {     
) W1 i* U  B7 o0 [: D2 K              r_temp++;1 T( U4 R! J! J1 \& R
              while(!k1)         
, `6 h) [3 l- F* v1 \                 {
5 ~- j1 `) Q( _# j1 L9 h                  num1++;      //长按标志位加到10约100ms
* {7 n7 `) i) l* O: [) A& L, ]1 L                  Delay10ms();; F! K! }2 q# ]- ~% p/ \
                  if(num1==10&&r_temp<95)
& M. [6 ~& |& L( H& l                     {" g+ k/ u) K2 Q9 r
                     r_temp+=5;
1 g' m2 `7 Y6 {. ]" w                     num1=0;; N8 g' y) Q8 j( M( l' t, w0 Y3 [
                     }
( G' `( y/ b! @! A5 v                  if(r_temp>=95) r_temp=1;& W' m7 R: ^  ]6 e9 l3 y
                 }
9 ]9 I- z1 i8 o* X6 n5 q, {6 ]+ ?$ D            }
2 A0 |& U0 T& z0 K  n# a        else r_temp=1;         
' @& ~5 |/ k! k# S: z        }
7 I& P2 A, a0 b    }8 p+ s3 g" U6 y7 w: j

  E& Y+ d, J: Z7 S' e: }) v  if(k2==0)               //按键K2处理程序" p+ S* {) n# }$ G5 G# b8 g+ \0 l
   {
' p9 ?) \- a3 }$ G     Delay10ms();4 J- @. B0 L) w8 O" y
     if(k2==0): d$ @+ i2 x5 ^0 ~, ^- `$ ^/ d
       {/ k, k- H3 [4 G& l; q
         if(g_temp<99); y; N7 C" k7 S5 ]$ A6 o. O% Z
           {9 k3 `' u" U9 K7 `) [
             g_temp++;8 o: T! w. A2 U% U! L0 J0 z# e7 o; E
             while(!k2). O- Z9 G/ A4 J* Y
                 {. E& D9 ^+ R6 U7 S
                   num2++;          //长按标志位加到10约100ms4 w  r0 R& p( O+ b( ~9 E; Z6 S. q
                   Delay10ms();) q0 d, T  a2 P2 ?& c9 d7 I( ^' G" K
                   if(num2==10&&g_temp<95)
# l7 b3 `+ ~& b" {8 Z0 Y* ]                        {: P2 z0 b4 r& R) \3 U
                          g_temp+=5;+ v+ B2 H+ n7 _! F! O  \5 f
                          num2=0;
8 J6 r* e+ E( P& P$ K5 ^1 U                        }+ z( S' k5 Q9 x# Q8 n" g2 q- W
                   if (g_temp>=95) g_temp=1;
6 T. V/ |! O' Q! A. Z5 B1 T0 _* t$ U                  }
5 S# l, _% A3 o* i' x4 l            }
1 E1 j6 [; E$ _! U; \+ ]1 c' G          else g_temp =1;
  ^" H* V: M. ]. }; i4 X       }
- g" U' `& k8 T6 d6 r. D2 g2 k1 l    }
4 _6 s- h8 r3 G5 s  if(k3==0)                       //按键K3处理程序
' T: x+ f$ _  q" A8 b    {
0 n) \$ `6 ~0 d3 T4 G) w    Delay10ms();! O, M" v6 O8 ^! d/ a; t/ d
     if(k3==0)4 q) G7 y" |$ |" g0 \2 v, R
     {
- K3 y) d. J7 W5 a       if(b_temp<99)2 B- B0 g" q& W' z2 Z0 D5 s- y
           {
( ?) E5 t1 w8 L' W            b_temp++;
: P( d9 R/ U/ E, M7 Z& j' t; T6 i            while(!k3)$ \! O5 B2 }% _( J
                {
1 H. i0 x/ @- Q6 j( [# b                 num3++;         //长按标志位加到10约100ms9 i! n+ c6 {  |2 w
                 Delay10ms();; m" }% f2 d( u" T3 \$ g$ |& h
                 if(num3==10&&b_temp<95)1 n' E+ p' o2 L) Y- q( p
                    {
, W  h6 v1 C$ L: C                     b_temp+=5;
5 K" M7 S; Z# Q4 `6 J" O0 S                     num3=0;
$ v" m  L' d" s; r                    }# s& g9 ^+ D0 ^' s
                 if(b_temp>=95) b_temp=1;7 w) O; a7 z# {  @6 |/ r
                }
! X) E# v6 r+ e           }
/ p" p1 b) ^8 v2 {# ?7 P% f4 V, _% [     else b_temp =1;( ]2 q9 _/ H2 P- T- P: r3 ]
      }. Z' v) ~& L6 z" z
    }' Z! b* `2 U) u# h
}2 A; p- u/ Z9 i! I8 ]

0 C: O( \0 d9 P1 H$ p//定时器T0 16位自动模式定时1ms 控制灯灭时间
9 z& O$ _, P; j( b; H$ B. q3 l- R9 D4 r2 f, F
void InitTimer0() interrupt 1  // 1毫秒@11.0592MHz0 T2 G" \! r( ?0 ^
{    5 v3 q# Z8 y! d5 a0 w9 F0 ^
    IE2 = 0x00;   //关闭定时器2中断
" _8 _) g# y  L3 ^: T+ R    AUXR=0XE4;    //关闭定时器2计数
  e7 k6 O8 B6 _/ a$ f    TL0 = 0xCD;
) L4 u: B8 [0 f. y0 ~4 m+ p' ^% j    TH0 = 0xD4;1 l+ P" }2 f1 f2 ^! D0 g
    red=1;
" {/ g' h/ d: g9 z- ^  P* {    green=1;
8 ]! ]! A+ P+ }9 }1 M& f    blue=1;# k- L' I+ w9 q0 c; p+ |4 X4 f0 k& s
    flag=1;
  U6 Z' R9 M2 t' K, v; t: w$ }    AUXR=0xF4;        //开启定时器2计数7 a8 I7 X' F6 J3 S( E
    IE2=0x04;       //开启定时器2中断允许
* T3 |- e4 z7 [/ w}
- _+ k( v9 z9 |- D. A2 j4 {6 \//定时器T2 16位自动模式定时10us    控制等亮时间% P& i3 c; m2 g2 M6 B
void InitTimer2() interrupt 12    //     10微秒@11.0592MHz' i& g. i; A( K0 k! d
{   
! d6 J8 P; J) h7 K7 F7 Y9 \( u; _    flag++;- v: {& x; _  \# G  }5 G# B( w
    T2L = 0x91;        //设置定时初值  D$ V/ P& k% n" O. F" j3 n
    T2H = 0xFF;        //设置定时初值
) ~: P" ?. x4 p) k. k    if(r_temp==flag) red=0;, D! W% W+ @9 I& u' l5 ^) ?
    if(g_temp==flag) green=0;
  q& |) H5 `! v    if(b_temp==flag) blue=0;. r+ ^4 |$ `- e9 C, I( Z! p
}0 K2 p4 j" s+ W8 B
void init(); z0 L. k2 S  p' Q8 u9 n! y# O7 K3 L% H
{! h( H# a' n8 {" @7 ~4 l8 e
    AUXR =0XE4;//设置定时器0和2为1T模式4 L1 A" k  g1 m( b7 @( y
    TMOD= 0x00;2 p3 s" R2 A( F# D4 r+ _
    TL0 = 0xCD;( F+ b1 \% [% t
    TH0 = 0xD4;
, o7 c  B! x' y7 Z% {+ y    T2L = 0x91;        //设置定时初值0 q% y$ t! v0 }# `( [/ E
    T2H = 0xFF;        //设置定时初值1 v5 v- M* b# c" S7 q- _+ a
    EA = 1;& K* R6 {) C& e# L# K4 a' A
    ET0 = 1;
$ A; ^. V1 s# t    TR0 = 1;. W0 S4 d7 n- V2 b4 a
}    & M! @; @! @; l7 a
void main()
0 d7 e! W: h- ?$ ~5 Y{   
5 L6 P- F% j8 u  @init();
. e6 z' l$ k, ^7 l+ f1 ?while(1)2 [" J, E0 y+ j9 C9 \0 Q7 ?& ]9 r" y
   {
2 A, b% Z8 e# L7 F8 _, W6 c   key();
* f, {8 ^: C# ]* x* U   }
5 e& M6 W; ~; S( q$ u}% Y+ f/ J4 n6 t7 R2 B

) s* c1 b* j! x8 u, M" z! a8 F
" O+ z8 z8 K' J$ p; s

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-13 09:10 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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