下载此文档

简易计算器的设计.doc


文档分类:通信/电子 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
一、功能实现:利用1602液晶显示器实现整数和小数的加法、减法、乘法、除法、开根号的运算。第一行显示输入的数据,第二行显示运算结果。二、Proteus仿真图三、操作说明:每次运算完后必须按一下清零键,该系统才会重新开始执行。四、程序:#include<>#include<>#defineintunsignedint#definecharunsignedcharvoidinti();//初始化voiddelay(); //延时voidanjian(); //按键显示数字和符号,第一个数存在a内voidsheji(); //设计显示完后的参数voidjsab(); //存储两个输入数voidjisuanxs(); //计算显示voidchufa(); //除法计算部分voidchengfa(); //乘法计算部分voidjianfa(); //减法计算部分voidjiafa(); //加法计算部分voidkaigenhao(); //开根号运算部分voidbenshenxs(); //一个数本事显示voidleijixiaoshudian(); //小数点的累计voidfenli(); //计算后的结果分离,以便于显示voidql(); //清屏voidxshuju(charshuju); //写数据voidxzhiling(charzhiling); //写指令//charnum[]="ILOVEYOU"; 显示在屏幕上intsz[]={'0','1','2','3','4','5','6','7','8','9','+','-','*','/','=','.'};charxs[]="ENRRO";sbite=P2^2;sbitrs=P2^0;sbitrw=P2^1;sbitkey0=P2^6;sbitkey1=P2^7;sbitkey2=P3^0;sbitkey3=P3^1;sbitkey4=P3^2;sbitkey5=P3^3;sbitkey6=P3^4;sbitkey7=P3^5;sbitkey8=P3^6;sbitkey9=P3^7;sbitkey10=P1^3;sbitkey11=P1^4;sbitkey12=P1^5;sbitkey13=P1^6;sbitkey14=P1^7;sbitqingling=P1^0;sbitkey15=P1^1;sbitkey16=P1^2;intfuhao,num,m,n,q,w,s,fuhao1,fuhao2,fuhao3,fuhao4,fuhao5,xiaoshu,cishu1,cishu2;inti,g,j,p;intt,f,h;floata,b,c,d;voidmain(){inti(); a=0; b=0; c=; d=; q=0; fuhao=0; xiaoshu=0; cishu1=0; cishu2=0; num=0; xzhiling(0x80+0x01); /*第一行初始地址为80H,后面加03H是指在距屏幕的起始处3空格出开始显示,第二行的初始地址为80H+40H*/ while(1) { while(fuhao==0) //没有计算过程,输入数据后,按等于号即输出结果 { anjian(); benshenxs(); } while(fuhao1==1) //加法{ anjian(); jiafa(); } while(fuhao2==1) //减法{ anjian(); jianfa(); } while(fuhao3==1) //乘法{ anjian(); chengfa(); } while(fuhao4==1) //除法{ anjian(); chufa(); } while(fuhao5==1) //开根号{ anjian(); kaigenhao(); } ql();//清零 }}voidinti() //初始化{ e=0; xzhiling(0x38); //功能设定,根据所用的液晶显示器来决定的,即开显示 xzhiling(0x0f);//0x0f设置显示功能开,有光标且闪烁,如为0x0e则为光标不闪,如为0x0c则无光标 xzhiling(0x06);//光标设置为写入字符后自动右移一位,和整屏左移 xzhiling(0x01);//清屏}voiddelay() //延时{ inti,j; for(i=5;i>0;i--) for(j=110;j>0;j--);}voidxzhiling(charzhiling) //写指令{ rs=0; rw=0; e=0; P0=zhiling; delay(); e=1; delay(); e=0;}voidxshuju(charshuju) //写数据{ rs=1;

简易计算器的设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人不忘初心
  • 文件大小559 KB
  • 时间2019-08-18