微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > MPLAB编译时出现的问题,请指教!

MPLAB编译时出现的问题,请指教!

时间:10-02 整理:3721RD 点击:
#include<pic.h>
#define DAT 1
#define CMD 0
#define LINE1 0b10000000
#define LINE2 0b11000000
#define uint unsigned int
__CONFIG(0x20F1);
void Initial();
void DELAY_10US(unsigned char R1,unsigned char FLAG);
//void delay(unsigned char R1,unsigned char FLAG);//延时
//void jisuan();//计算
void rest();//复位
void scan();//扫描
void display1();//显示第一行
void display2();//显示第二行
unsigned char h,l,key0,fuhao,gw,sw,bw,qw;//对应横,列,按下键,对应数,结果的个位,十位,百位,千位
unsigned int a,b,jieguo;
const unsigned key[4][4]={1,2,3,13,4,5,6,12,7,8,9,11,21,0,20,10}; //?
void main()
{
     Init();//初始化
     while(1)
     {
             while(RBIF==0)
             scan();//扫描
             display1();//显示第一行
             //jisuan();//计算
             display2(); //显示第二行   
     }
}
void delay(uint x)//延时
{
     uint a,b;
     for(a=x;a>0;a--)
         for(b=110;b>0;b--);
}
void initial()
{
     TRISA=0X80;//10000000,RA7输入接CLKIN,RA6输出接CLKOUT
     TRISB=0XCF;//11001111,RB7,RB6接输入,RB0~RB3接输入
     TRISC=0X00;//00000000,RC端口均输出
     TRISD=0X00;//00000000,RD高四位输出
     RE3=0;//复位
     PORTA=0;//A端口置0
     PORTB=0;//B端口置0
     PORTC=0;//C端口置0
     PORTD=0;//D端口置0
}
void scan(void)//键盘扫描
{
     delay(20);//延时20ms,等待震荡结束
     RBIF=0;//清楚标志位
     if(PORTB==0XcF)//如果RB的值没有变化,则刚刚的中断时一个干扰,则返回主程序
     return;
     TRISB=0xc0;//下输入,即RB0~RB3输入
     PORTD=0Xf0;//再次设置下检查行的I/O方式
     if(RD4==0);h=0;//确定行
     if(RD5==0);h=1;//确定行
     if(RD6==0);h=2;//确定行
     if(RD7==0);h=3;//确定行
     TRISD=0x00;//左输入,即RD4~RD7向外输出
     PORTB=0Xcf;//再次设置下检查行的I/O方式
     if(RB3==0);l=0;//确定列
     if(RB2==0);l=1;//确定列
     if(RB1==0);l=2;//确定列
     if(RB0==0);l=3;//确定列
     TRISB=0xc0;
     PORTD=0Xf0;//还原至检查行的状态
     key0=key[h][l];//通过查数组,把之前检测到的位置变成具体的数字或者符号
     if(key0<21)
     display1();//显示刚才扫描到的符号
     if(key0<10)//确定数字
     {
            if(fuhao==0)
            a=a*10+key0;//若是无符号的数字,则赋值给a
                else b=b*10+key0;//若有符号,则赋值给b

     }

}


这是我写的部分程序,不知道为什么会出现如图所示的问题,新手请指教!



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top