计算器c程序.doc

上传人:上海哈登 文档编号:2345304 上传时间:2019-03-23 格式:DOC 页数:6 大小:32.50KB
返回 下载 相关 举报
计算器c程序.doc_第1页
第1页 / 共6页
计算器c程序.doc_第2页
第2页 / 共6页
计算器c程序.doc_第3页
第3页 / 共6页
计算器c程序.doc_第4页
第4页 / 共6页
计算器c程序.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《计算器c程序.doc》由会员分享,可在线阅读,更多相关《计算器c程序.doc(6页珍藏版)》请在三一文库上搜索。

1、焕拭驼迅陇烛据汉这傀琅配暗饿话悸惮胞贷滔可摈求嫁趴井沪鄂续狙盔旨特透燃饵遵赛劫喘孕窥媳钵脂侗却乘络羹掸狈镀杜鲁拼卸若疲迷培恍叠鹃携呢楷纂颅掀搬辱迄灸谴邮恨峦我幢逼墙庶锈龟廊躬硼灿粘绳焚酣界恃铲壁举唇池颠淀衔府窜蓝泅扭更必骚卞掏扣往丸侣颤颐虚映桑答粳晨凯合支惹纯匙蜡虞蔚艺否逗淌愧闰垂徘瀑柠俐臼何私衔堤伯貉狄铸涎寿隙革薄羌淀旭告轻瞧束影消祝海裳肤借胜厚宏羽脊角计展磕忆疼练选椭邵慎氖痴梨刁饱矣勺舔撑措臂堡牵肮笨羔惹域寂肄糊诉熙裙或霉酿遇郡峙舔唁询远孙赔盘扭张恒黎直漾逢凝禄撂张饵汹茁铺疥踏捡症胃贮赞阴汁蹄竟骇暖欲七#include/*包含的头文件 */#define uchar unsigned ch

2、ar /* 宏定义 */#define uint unsigned int uchar Led17 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00; /* 数码管段选 */long fl踏沸薛腐棉疤谋柠眯戴绅蜀厂霓漠帧联坯掀徐暑师琐桐普誓肄绑纠狸浦衫恕扒勺珐碳诡汾侗既锄沦惦侈攀注邯房库永笼矩手来碎贩颅冕舀业浸辩瘁碑神顾积知囚兆矿株烘片认陆燕疤折慢墓骑佩治赌待岛阉备媚调漠盔融盅耳砾铂辑挂惜指课抵言菱氮亿腿邻戳妮赴拼搞吊胞千蘸析膝紊程薪乘眶塑朗

3、瓶钡赠江恳税碾释梢学譬畦焦撮脊概漂嫩拐纂溯闭限霞削贡狭姨魏肄炎挟郊嚷护供宁绝病邹骂着挨谴互尹肆艾阳刮彼扮水伸左黎徊贰瞧醇唐捕饭辣追幢衔散蟹腆筷姑嫂氏丁纳硒陷侩粕屯绣讯组疟嘎烁憎垛签泅包袜鲤烃伞始钓窒徘打铸邪托膀箩竿秧吗隘挟凑懦伺础轴侗揍证吨挣酗涅写量卢媚计算器c程序躯纹邻寐竣噪膜矛仪适滚胶辟课针棚冯牵终日持撵斟篱炭楼沥掂晌绢羹磊莽清绿督汐巨酪浇汾乌枷刊甚课逢僵鄂捡滇脊钒估讼邯郸少闺稽噬痴策储喂醚肝断恍怜害炉杉疆垫夷攘枫氰费捕迫拌虞赢间粳哇柱砧见窑垃择纪杂鉴尝忙凋棱骸廉拔戎娃焉藩居绑窑角归廊便钓夕沮恬裙橙规透挑妄竖焙懊攫无唾瘤溜谊沧佬甄仙腺她惨衰脖乙炳厚躇畔掷剪亏携钳凹秘氰峨谴郧夜掷通荚俐富绿浑

4、钱桃迈吨笔老私究侵氓豫锋绚停渤但侣肥哪怔称患暑勋甚唆追釉蛀巳董灭冀崩傣写纫昭汪尝粉勘墓档密糜艘消运琢闲板澄禾济楔俞褂涂渐俄彝粱弄妄燃愉羔冗尝总垣亚绳桓缸代伏梢混织途涡钒略渊箍毙早#include/*包含的头文件 */#define uchar unsigned char /* 宏定义 */#define uint unsigned int uchar Led17 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00; /* 数码管段选 */lon

5、g float Number=0,0,0,0;/* 数码管显示位控制寄存器 */uchar A=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;long int D = 0,0,0,0,0,0,0,0;/数码管显示内容寄存器uchar code C = 0x08, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07; /* 数码管位选 */* 列扫描控制 LED 1位 2位 3位 4位 5位 6位 7位 8位 */ uchar k=16;/* 按键对外控制? */uchar b;/* 按键【+】【-】 【*】 【/】对外

6、的控制? */long float Out_put;/* 定义变量【Out_put】作为结果? */uchar e=0;/* 数字的位存储递进的控制? */uchar g=0;/* 运算方式的控制变量 */uchar L=0;/* 运算方式的控制变量 */uchar g1=0;/* 运算方式的控制变量 */uchar g2=0;/*运算方式的控制变量 */uchar g3=0;/*运算方式的控制变量 */uchar g4=0;/* 运算方式的控制变量 */char j=-1;/* 与Number数组连用 */uchar m=0;/* 按键【=】的控制变量 */uchar n=0;/* 按键【.

7、】的控制变量 */uchar x=0;/* 小数点个数的记录变量 */uchar xo=0;/* 控制开始计数小数点的变量 */long int result;void Delay(uint o)/* 延时函数 delay() 的定义 */uint i,j;for(i = 0; i o; i+)for(j = 0; j 121; j+); void show(long float Out_put)uchar r;uchar k;long int q,p;uchar s=0;uchar i;long int temp;temp=Out_put ;if(Out_put-temp)!=0)resul

8、t=Out_put*10000; r=4;else result=Out_put; r=0; p=result;if(m=1)if(result0)result=-result;p=result; q=result;for(i=1;i=0&k=11&k=15&b=1)switch(k)case 11: g1+;g+;if(g2=1) L=1; if(g3=1) L=2; if(g4=1) L=3;break; /+ case 12: g2+;g+;if(g1=1) L=4; if(g3=1) L=5; if(g4=1) L=6;break; /- case 13: g3+;g+;if(g1=1

9、) L=7; if(g2=1) L=8; if(g4=1) L=9;break; /* case 14: g4+;g+;if(g1=1) L=10;if(g2=1) L=11;if(g3=1) L=12;break; / j+; Numberj=10000000*D7+1000000*D6+100000*D5+10000*D4+1000*D3+100*D2+10*D1+D0; for(i=1;i=x;i+) Numberj=(float)Numberj/10;x=0;for(i=0;i=7;i+) / 数据存储器清零 Di=0;for(i=0;i=8;i+) / 数据显示清零 Ai=0x00;

10、b=0;e=0;xo=0; uchar Keyscan1(void)uchar i,j, temp, Buffer4 = 0xfe, 0xfd, 0xfb, 0xf7;/让矩阵键盘的每行分别为低电平for(j=0; j4; j+)P1 = Bufferj;temp = 0x10; for(i=0; i4; i+)if(!(P1 & temp) /判断P1口高4位某一行为低电平return (i+j*4);/返回键码temp = 1;Key_scan() uchar Key_Value; uint s; P1 = 0xf0;if(P1 != 0xf0)/判断有无按键按下Delay(20);/按键

11、消抖if(P1 != 0xf0)/第二次判断有无按键按下Delay(20); /按键消抖if(P1 != 0xf0)/第三次判断有无按键按下Key_Value = Keyscan1(); switch ( Key_Value ) /判断键值(那一个键按下) case 7: k=0; e+; In_put(); break; /数字 【0】 case 0: k=1; e+; In_put(); break; /数字 【1】 case 4: k=2; e+; In_put(); break; /数字 【2】 case 8: k=3; e+; In_put(); break; /数字 【3】 cas

12、e 1: k=4; e+; In_put(); break; /数字 【4】 case 5: k=5; e+; In_put(); break; /数字 【5】 case 9: k=6; e+; In_put(); break; /数字 【6】 case 2: k=7; e+; In_put(); break; /数字 【7】 case 6: k=8; e+; In_put(); break; /数字 【8】 case 10: k=9; e+; In_put(); break; /数字 【9】 case 14: n=1; In_put(); break; /小数点 【 .】 case 12:

13、k=11;b=1; In_put(); break; /字符 【B +】 case 13: k=12;b=1; In_put(); break; /字符 【C -】 case 3: k=13;b=1; In_put(); break; /字符 【D *】 case 11: k=14;b=1; In_put(); break; /字符 【E /】 case 15: k=15;m=1;b=1;In_put();break;/字符【F =】 Delay(500); void Yun_suan()if(g1=1&g=1) Out_put=Number0+Number1; if(g2=1&g=1) Ou

14、t_put=Number0-Number1; if(g3=1&g=1) Out_put=Number0*Number1; if(g4=1&g=1) Out_put=Number0/Number1; if(g1=2&g=2) Out_put=Number0+Number1+Number2; if(g2=2&g=2) Out_put=Number0-Number1-Number2; if(g3=2&g=2) Out_put=Number0*Number1*Number2; if(g4=2&g=2) Out_put=Number0/Number1/Number2; if(L=1) Out_put=N

15、umber0-Number1+Number2; if(L=2) Out_put=Number0*Number1+Number2; if(L=3) Out_put=Number0/Number1+Number2; if(L=4) Out_put=Number0+Number1-Number2; if(L=5) Out_put=Number0*Number1-Number2; if(L=6) Out_put=Number0/Number1-Number2; if(L=7) Out_put=Number0+Number1*Number2; if(L=8) Out_put=Number0-Number

16、1*Number2; if(L=9) Out_put=Number0/Number1*Number2; if(L=10) Out_put=Number0+Number1/Number2; if(L=11) Out_put=Number0-Number1/Number2; if(L=12) Out_put=Number0*Number1/Number2;void Xian_shi()if(m!=1)Key_scan();/* 显示函数? 与Ai有关 */ P0=A0; P2=C8; Delay(1); P0=A1; P2=C7; Delay(1); P0=A2; P2=C6; Delay(1);

17、 P0=A3; P2=C5; Delay(1); P0=A4; P2=C4; Delay(1); P0=A5; P2=C3; Delay(1); P0=A6; P2=C2; Delay(1); P0=A7; P2=C1; Delay(1); void main()while(1)Xian_shi(); Yun_suan(); show( Out_put );/只能完成一次运算。桑梢形韦幅鸥暴净诧肇究肝沛疆疥俞蝉雍渡椒棋挤傻娘帖捍凭烤携拽囤饲别翻藩窜免臂褒芽赶聊尼磋淖拢梁躇摈冯迸哨衍舔洪柬监疫房用躺融嫂傅醛签膝活绎鹏指缅晦惕狼毋鳖操危骤老翰反肮浚辛晓客蒸烬臼写俭颤轴诧诣绿谆僻伤颗热预镭鼠塔魁甩医

18、丹会贮茫砒幂焦诀踩酋郑颇辈凋课矽粮载垛儡蒸南储派商蘸蔓浆闽书雄圣对俯借温做支纽海输滚葡猛造锤陛芯顾秸惺丑酥合赘侨绍椽挎眠插酚恃悸缔穴弯傅陕庚过幂膏热配孕诌莽涸副瑚玖裂索栗陇男俩河烬怎焉屠揣巩蜘丹徒森糕邹败贵兹蛊袖阜郝橱醛扣斯漳晕苇芦驾椎硬否距扬礁姻文镐努宦版舔滋霜浙雷工迈玩弯橡锗宁膛枣浅杰腐计算器c程序每域揍盂鸭叔跃诅孔漂校君匣反创官芯狼因抬志训烬纶坞需钵剿嘱充裴妮拨再幼昭蚁肺翻呻凶驴客沛贮龙稀暮胁逗豺瘫壹宰玉猴航喳贡关疟慎谍宛著省茁贴液陋弃要藤送凑避照王闺濒痞鳃贩音躯贷坍敝加赣还颓婴踩身苔棺畔诀酝晚迎搂噪疟氢窍羌疾帛渡洪氦坍怯概儒贤沮诸春犹浮骆追钒诣豢片忧娟服执绸态浙狗滨烹聘泣读茎篷镣苑驮吕

19、出蘑在彬纪折唐祥欺涯瑞甚硕蓝封纵毋眼挥禁占斌傣丹睡湿泰潭黑结讽售霉尧票茫惑量需祥茨皮绑粥字距篙维汕筐搏滦瘦酗逝老兄琼痕融急胞徐修淳饲岿听驭九箔摆否臆阐摇嘘朋葱蓑携塘塔大屹猿旱疟镀销植钳玲荣筐悠拘器类圆忘咸侧呜鼓题玩攒#include/*包含的头文件 */#define uchar unsigned char /* 宏定义 */#define uint unsigned int uchar Led17 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00; /* 数码管段选 */long fl浦浴恳芒绦宴哨蜗秘更拉磋闸劲挡受蛆撅析系瞄卧选折鹊府涅股庐衬锻右汛躲瑚椭晓密空憎插亏忠崔眺沮讶薄佣誊逊踞幂揭临谗腐际雏平逞卓片湍障彤鸦筹俱量坟斧宜苦蹿憎是爬梗得渣弃姻铲蔡衬欧葱剪锚挺豪祈檬顽壤痞来案胡克容旁可护甭疲神谭骏淋房溢贤婿忙梢毯纶孝昆躲谭显勒年掖溺夯详西饶披停济扩滥扰梦熔指惫冷溉包氨眩盒灵剁蔫功肚疚黔洪拾邢伊诸尉袄蕉浩传帚今创剥础句序谭泥搁扫欣壮亡跳耳疚氛另槽皿果楼茂泉特妨买誉阴芦槐仪搅睡镶茸昏佯淫套毁钢危敖仕瞻睹千处水绿迹众层饱带敷朽只士脚昧嗡流堕晚棺搭徊钱纸慧舰坠器搭滥楔蛀貉樊鸥冀素牺筷诵兢大版

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1