北京联合大学 毕业设计
lcden=1; }
void init() //初始化 {
lcden=1; //使能信号为高电平 write_com(0x38); //8位,2行
write_com(0x0c); //显示开,光标关,不闪烁 write_com(0x06); //光标左移,显示屏不移动 write_com(0x80); //检测忙信号 write_com(0x01); //清屏 i=0; j=0;
a=0; //第一个参与运算的数 b=0; //第二个参与运算的数 c=0;
flag=0; //flag表示是否有符号键按下, fuhao=0; // fuhao表征按下的是哪个符号 }
void INT_0(void) interrupt 0 using 0 {
temp=P2&0x0f; start=1; }
calculate() {
switch(temp) {
case 3: // 除号 write_date(0x30+table1[temp]); flag=1; fuhao=4;
43
北京联合大学 毕业设计
break;
case 7: // 乘号 write_date(0x30+table1[temp]); flag=1; fuhao=3; break;
case 11: // 减号 write_date(0x30+table1[temp]); flag=1; fuhao=2; break;
case 12: // ON write_com(0x01); a=0; b=0; flag=0; fuhao=0; j=0; break;
case 14: // 等号 { j=1; if(fuhao==1) {
write_com(0x80+0x4f); //按下等于键,光标前进至第二行最后一个显示处 write_com(0x04); //设置从后住前写数据,每写完一个数据,光标后
退一格
c=a+b;
if(c>2147483647 || c<-2147483647)
{
44