初学者请教大神,这程序错在哪了

2019-07-15 16:17发布

本人今年四十有四,初学51,照着书本编写了几段程序,可是在keil中老师提示错误,请大神帮忙看看,到底错哪了?
#include<reg52.h>sfr P0M0=0X93;sfr P0M1=0X94;sfr P1M0=0X91;sfr P1M1=0X92;sfr P2M0=0X95;sfr P2M1=0X96;sfr P3M0=0Xb1;sfr P3M1=0Xb2;const unsigned charsg7[16](0x3f,0x06,ox5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71);void ms_delay(unsigned int t){  unsigned int i;  for(t;t>0;t--)    for(i=100;i>0;i--);} main(){int mun=0;P0M0=0xff;P0M1=0xff; whil(1){P0=seg7(mun);ms_delay(1000);mun++;if(mun>15);mun=0;}}第二个
#include<reg52.h>sfr P0M0=0X93;sfr P0M1=0X94;sfr P1M0=0X91;sfr P1M1=0X92;sfr P2M0=0X95;sfr P2M1=0X96;sfr P3M0=0Xb1;sfr P3M1=0Xb2;define p2   0xff    ; void ms_delay(unsigned int t){ unsigned int i; for(t;t>0;t--)      for(i=100;i>0;i--) ; } main(){   int mun;   P1M1=0x00 ;   P1M0=0X00  ;   while(1)   {     switch(mun)   {   case 0:       p2=0xff;       break;   case 1:       p2=0xfe;       break;   case 2:       p2=0xfd;       break;   case 3:       p2=0xfc;       break;   case 4:       p2=0xfb;       break;   case 5:       p2=0xfa;       break;   case 6:       p2=0xf9;       break;   case 7:       p2=0xf8;       break;   default:       p2=0xff;   }   ms_delay(500);   mun++;   if(mun>4)      mun=0;   }
}

还请大神不吝赐教,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
nsj21n
1楼-- · 2019-07-15 17:32
 精彩回答 2  元偷偷看……
何时的丁丁
2楼-- · 2019-07-15 18:50
charsg7[16](0x3f,0x06,ox5b,0x4f,    等号都没有
P0=seg7(mun);    这是调用哪个函数,我看了你的程序都没看到
define p2   0xff    ;      应该是#define P2 0xff      没有分号    但是这样改也不是啊,p2都是固定的怎么可以继续复制呢
dabing89
3楼-- · 2019-07-15 21:57
whil(1)


while(1);
ww1993
4楼-- · 2019-07-15 22:26
感觉都是语法上的错误,可能是笔误吧,程序一里whil(1)不就是写错了吗,应该是while(1)
你应该把keil编译的错误贴出来,这样看太麻烦
冰林科技
5楼-- · 2019-07-15 23:30
里面有些字符是输入错误的,比如charsg7数组中的oX5b,应该是0x5b的。建议你先了解一下C语言的基本语法,然后再学习单片机会比较好!
zhoukai16702969
6楼-- · 2019-07-16 01:38
 精彩回答 2  元偷偷看……

一周热门 更多>