/*----------------------------------------------------- 程序设计:胥学辰-----绝对原创! 设计时间:2011-10-13辰时----2011-10-13午夜。 程序功能: 1:可以对输入的两个数字进行加减剩除运算。 2:可以连续运算。例如:12-2=10,再按减等于8,可以依次减下去。 3:运算完成后显示,再按返回键可以进入最初界面,继续运算。 程序按键: 1:进入运算界面:15. 2:确定输入:14 3:加法:13 4:减法:12 5:乘法:11 6:除法:10 7:返回:9 程序缺点: 1:由于键盘有限,没有设置更改键,必须返回重新输入! 2:暂时不能进行负数运算! 完整版本的程序下载地址: http://www.51hei.com/f/1286411.rar ----------------------------------------------------------*/
[page]
#include#define uchar unsigned char #define uint unsigned int #define ulint unsigned long int ulint m=0,m1=0; ulint m2; uchar xdata flag=1,flag1=1,flag2=0,flag3=0,flag4=0,flag5=0; uchar flag6=0,flag7=0,flag8; uchar data Mi0,Mi,Mi1,Mi2,Mi3,Mi4,Mi5,num,temp,key1,k,j=0,j1=0; sbit rs=P2^6; sbit rw=P2^5; sbit en=P2^7; sbit psb=P2^2; uchar dat_Shuru_1[8]={0,0,0,0,0,0,0,0}; uchar dat_Shuru_2[8]={0,0,0,0,0,0,0,0}; uchar data table_Ts_1[]="15:运算输入!14:确定输入!13:重输输入!12:返回输入!输入:结果:"; void delay(uchar z) { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } uchar key() { P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(10); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case 0xee:num=0;Mi=1; break; case 0xde:num=1;Mi=1; break; case 0xbe:num=2;Mi=1; break; case 0x7e:num=3;Mi=1; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; // k=0; } } } P3=0xfd; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(10); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case 0xed:num=4;Mi=1; break; case 0xdd:num=5;Mi=1; break; case 0xbd:num=6;Mi=1; break; case 0x7d:num=7;Mi=1; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xfb; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(10); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case 0xeb:num=8;Mi=1; break; case 0xdb:num=9;Mi1=1;Mi0=1; break; case 0xbb:num=10;Mi1=1;Mi2=1; break; case 0x7b:num=11;Mi1=1;Mi3=1; break; } // k=1; while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } P3=0xf7; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(10); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case 0xe7:num=12;Mi1=1;Mi4=1; break; case 0xd7:num=13;Mi1=1;Mi5=1; break; case 0xb7:num=14;Mi1=1; break; case 0x77:num=15;Mi1=1; break; } // k=1; while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } } return num; } void write_com(uchar com) { rs=0; rw=0; P0=com; delay(5); en=1; delay(5); en=0; } void write_data(uchar dat) { rs=1; rw=0; P0=dat; delay(5); en=1; delay(5); en=0; } void write_Yunsuan(uchar add,ulint Jg) { uchar xdata gw,sw,bw,qw,ww,ws,wb,wq; { gw=Jg%10; sw=Jg/10%10; bw=Jg/100%10; qw=Jg/1000%10; ww=Jg/10000%10; ws=Jg/100000%10; wb=Jg/1000000%10; wq=Jg/10000000%10; write_com(0x88+add); if(wq!=0) { write_data(0x30+wq); } if(wq!=0||wb!=0) { write_data(0x30+wb); } if(wq!=0||wb!=0||ws!=0) { write_data(0x30+ws); } if(wq!=0||wb!=0||ws!=0||ww!=0) { write_data(0x30+ww); } if(wq!=0||wb!=0||ws!=0||ww!=0||qw!=0) { write_data(0x30+qw); } if(wq!=0||wb!=0||ws!=0||ww!=0||qw!=0||bw!=0) { write_data(0x30+bw); } if(wq!=0||wb!=0||ws!=0||ww!=0||qw!=0||bw!=0||sw!=0) { write_data(0x30+sw); } write_data(0x30+gw); } } void Tishi_Huanying(uchar add,uchar i1,uchar i2) { uchar i; write_com(add); for(i=i1;i
上一篇:一个简单的51单片机操作系统的实现
下一篇:CH451驱动的数码管+按键+电子表+温度程序
推荐阅读最新更新时间:2024-03-16 13:05
设计资源 培训 开发板 精华推荐
- CGD和Qorvo将共同革新电机控制解决方案
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 贸泽开售可精确测量CO2水平的 英飞凌PASCO2V15 XENSIV PAS CO2 5V传感器
- 玩法进阶,浩亭让您的PCB板端连接达到新高度!
- 长城汽车研发新篇章:固态电池技术引领未来
- 纳芯微提供全场景GaN驱动IC解决方案
- 解读华为固态电池新专利,2030 叫板宁德时代?
- 让纯电/插混车抓狂?中企推全球首款-40℃可放电增混电池,不怕冷
- 智驾域控知多少:中低端车型加速上车,行泊一体方案占主体
- Foresight推出六款先进立体传感器套件 彻底改变工业和汽车3D感知