资源描述:
《《计算器c程序》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include/*包含的头文件*/#defineucharunsignedchar/*宏定义*/#defineuintunsignedintucharLed[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};/*数码管段选*/longfloatNumber[]={0,0,0,0};/*数码管显示位控制寄存器*/ucharA[]={0x00,0x00,0x00,0x0
2、0,0x00,0x00,0x00,0x00};longintD[]={0,0,0,0,0,0,0,0};//数码管显示内容寄存器ucharcodeC[]={0x08,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};/*数码管位选*//*列扫描控制LED1位2位3位4位5位6位7位8位*/uchark=16;/*按键对外控制?*/ucharb;/*按键【+】【-】【*】【/】对外的控制?*/longfloatOut_put;/*定义变量【Out_put】作为结果?*/uchare=0
3、;/*数字的位存储递进的控制??*/ucharg=0;/*运算方式的控制变量*/ucharL=0;/*运算方式的控制变量*/ucharg1=0;/*运算方式的控制变量*/ucharg2=0;/*运算方式的控制变量*/ucharg3=0;/*运算方式的控制变量*/ucharg4=0;/*运算方式的控制变量*/charj=-1;/*与Number[]数组连用*/ucharm=0;/*按键【=】的控制变量*/ucharn=0;/*按键【.】的控制变量*/ucharx=0;/*小数点个数的记录变量*/ucharxo=0;/
4、*控制开始计数小数点的变量*/longintresult;voidDelay(uinto)/*延时函数delay()的定义*/{uinti,j;for(i=0;i5、sult=Out_put;r=0;}p=result;if(m==1){if(result<0){result=-result;p=result;q=result;for(i=1;i<=8;i++){q=q/10;if(q==0){k=i;i=9;}}P0=0x40;P2=C[8-k];Delay(1);}//负号的显示P0=0x80;P2=C[r];Delay(1);P0=0x00;result=p;P0=Led[result%10];P2=C[8];result=result/10;Delay(1);if((r
6、esult%10==0)&&(result%100==0)&&(result%1000==0)&&(result%10000==0)&&(result%100000==0)&&(result%1000000==0)){P0=0x00;}else{P0=Led[result%10];P2=C[7];result=result/10;Delay(1);}if((result%10==0)&&(result%100==0)&&(result%1000==0)&&(result%10000==0)&&(result%100
7、000==0)){P0=0x00;}else{P0=Led[result%10];P2=C[6];result=result/10;Delay(1);}if((result%10==0)&&(result%100==0)&&(result%1000==0)&&(result%10000==0)){P0=0x00;}else{P0=Led[result%10];P2=C[5];result=result/10;Delay(1);}if((result%10==0)&&(result%100==0)&&(result%
8、1000==0)){P0=0x00;}else{P0=Led[result%10];P2=C[4];result=result/10;Delay(1);}if((result%10==0)&&(result%100==0)){P0=0x00;}else{P0=Led[result%10];P2=C[3];result=result/10;Delay(1);}