proteus仿真:
实物:
/*******************************************************************************
* 标题: LCD1602简易计算器 *
* 时间 2018年7月26日22:32:18 *
* *
* 实验说明:1602简易计算器,可以实现四位数以内的加减乘除, *
********************************************************************************
* 实验心得:当内部ram不够用的时候,可以定义成xdata,使用外部ram,但是有一个问题*
就是在用proteus仿真的时候,如果有xdata的代码,可能仿真会出现点问题,因为peoteus*
不支持外部扩展ram *
********************************************************************************/
#include #include"lcd.h" #include"math.h" //--定义使用的IO口--// #define GPIO_KEY P1 //--定义全局变量--// unsigned char code XuJian[16]="01470258=369+-x/"; long value[16]; unsigned char Num[8];//此处写成unsigend char xdata Num[8]时,实物可以用,但是仿真有点问题,因为proteus不支持外部扩展ram. unsigned long result;//运算结果 unsigned int flag=0;//标志位 unsigned int m; unsigned int c=0; long First=0;//输入的第一位数 long Second=0;//输入的第二位数 unsigned int Key;//符号判断,如果key=12,为+,13,为-,14为×,15为/。 unsigned char KeyValue=-1; //用来存放读取到的键值 //--声明全局函数--// int KeyScan(void);//键值判断函数 void Delay10ms(unsigned int c); //误差 0us void RES();//结果运算函数 /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void main(void) { LcdInit(); // for(i=0;i<7;i++) // { // LcdWriteData(TiShi[i]); // } while(1) { KeyValue=KeyScan(); switch(KeyValue) { case(0): LcdWriteCom(0x01); KeyValue=-1; First=0; Second=0; c=0; break; case(1): if(flag==0)//flag为0时,正常计算 { LcdWriteData(XuJian[1]); KeyValue=-1; if(c==0) First=10*First+1; else if(c==1) Second=10*Second+1; } else if(flag==1)//flag为1时,可以在第一次运算好后,继续输入数字,开始第二次计算 { LcdWriteCom(0x01); LcdWriteData(XuJian[1]); KeyValue=-1; First=0; Second=0; c=0; flag=0; if(c==0) First=10*First+1; else if(c==1) Second=10*Second+1; } break; case(2): if(flag==0) { LcdWriteData(XuJian[2]); KeyValue=-1; if(c==0) First=10*First+4; else if(c==1) Second=10*Second+4; } else if(flag==1) { LcdWriteCom(0x01); LcdWriteData(XuJian[2]); KeyValue=-1; First=0; Second=0; c=0; flag=0; if(c==0) First=10*First+4; else if(c==1) Second=10*Second+4; } break; case(3): if(flag==0) { LcdWriteData(XuJian[3]); KeyValue=-1; if(c==0) First=10*First+7;
上一篇:数码管动态扫描显示01234567显示
下一篇:单片机数字电流表电压表源码与电路图
推荐阅读
史海拾趣
HP(Keysight)公司发展故事
故事一:初创时期的艰辛与突破
HP(惠普)的起源可以追溯到1939年,由威廉·惠普(William Hewlett)和戴维·欧文(David Packard)在美国加州的一个小车库内创立。最初,他们专注于生产音频振荡器,这是一种用于测试音频设备的设备。尽管条件简陋,但凭借过人的技术和敏锐的市场洞察力,他们的产品很快获得了市场的认可。这一成功为公司奠定了坚实的基础,也为后续进入电子仪器和计算机领域铺平了道路。
故事二:半导体技术的先驱
1940年,HP公司开发出了第一台采用半导体技术的电子计算机,这在当时是一项革命性的成就。这台计算机不仅能够执行复杂的计算任务,还标志着HP在半导体技术领域的领先地位。这一突破不仅为公司赢得了业界的尊重,也为后续的微型计算机和个人计算机的发展奠定了基础。
故事三:微型计算机市场的开拓者
1960年,HP公司再次引领行业潮流,开发出了世界上第一台商用微型计算机。这台计算机采用了更小的集成电路,比之前的计算机更加小巧、便宜且易于使用。这一创新不仅降低了计算机的门槛,使得更多人能够接触到计算机,也推动了计算机技术的普及和应用。HP在微型计算机市场的成功,进一步巩固了其在电子行业的领导地位。
故事四:个人电脑市场的崛起
进入70年代,HP公司开始涉足个人电脑市场。1970年,HP发布了第一台商业个人计算机(PC),这一举措标志着公司正式进入了一个全新的业务领域。随着个人电脑市场的迅速发展,HP不断推出新产品,满足消费者的多样化需求。从早期的台式机到后来的笔记本电脑,HP始终保持着技术领先优势,为用户带来更加便捷、高效的计算体验。
故事五:并购与多元化发展的战略
在发展过程中,HP公司也通过并购等方式不断拓展业务领域。2002年,HP以250亿美元收购了康柏(Compaq),这是当时科技行业最大的一笔收购。这次并购不仅增强了HP在个人电脑市场的竞争力,也推动了公司在服务器、存储设备等多个领域的发展。此外,HP还涉足软件及服务等多个领域,成为一个多元化的科技巨头。通过不断并购和业务拓展,HP在全球科技行业的地位日益稳固。
请注意,虽然问题中提到了Keysight,但Keysight实际上是惠普在2014年从惠普科技公司(HP Inc.)分拆出来的一家独立公司,专注于电子测量和测试解决方案。因此,上述故事主要围绕HP(惠普)公司的发展历史进行描述,并未直接涉及Keysight公司。
Computer Conversions Corp非常重视人才的培养和团队建设。公司定期组织内部培训和技术交流活动,鼓励员工分享经验和创新想法。同时,公司还建立了完善的激励机制,为员工提供广阔的发展空间。这种以人为本的管理理念,不仅增强了团队的凝聚力和创新力,也为公司的持续发展注入了强大的动力。通过这些举措,Computer Conversions Corp打造出了一支高素质、高效率的技术团队,为公司的长远发展奠定了坚实的基础。
在电子行业的激烈竞争中,宜源科技公司始终将技术创新作为公司发展的核心驱动力。公司投入大量研发资源,成功开发出一系列具有自主知识产权的电子产品和解决方案。其中,其独特的智能芯片技术,不仅大幅提升了产品的性能,还降低了生产成本,使得宜源科技在市场中迅速脱颖而出。
为了进一步拓展国际市场,B&K Precision在全球范围内设立了多个分公司和办事处。其中,2012年在中国设立的分公司百科中国仪器有限公司是一个重要的战略布局。这一举措不仅加强了公司在亚洲市场的地位,也为各地客户提供了更为迅速和便捷的售后服务保障。同时,通过与国际知名企业的合作与交流,B&K Precision不断吸收先进的技术和管理经验,为公司的持续发展注入了新的动力。
以上五个故事,展现了B&K Precision公司从车库起步到成为全球电子测量领域领导者的发展历程。通过不断创新和拓展业务,公司成功应对了市场变化和挑战,成为了电子行业中的佼佼者。
在1948年,当美国民众开始大量购买电视机时,电视机的维修需求也随之增加。芝加哥的企业家卡尔·科恩(Carl Korn)和菲利普·班(Philip Ban)注意到了这一市场机会。他们发现,当时缺乏能够轻松测试电视组件的设备,于是决定自己动手制作。两位创业者从车库起步,开始制造自己的测试设备,并成立了中央电视服务公司。他们的业务迅速扩展,开始向其他电视维修店销售CRT再生器和真空管测试仪,为公司的后续发展奠定了坚实的基础。
本人上海电力学院大三本科学生,专业电子科学与技术.成绩优良,在校期间各方面表现良好~!希望暑假能找到一份半导体/集成电路技术公司的实习工作~!学过candence软件 以及EDA设计如果有机会,我会好好把握!~ 邮箱 donglei0208@hotmail.com… 查看全部问答∨ |
|
Can not perform this operation on a closed dataset-- delphi 多物料进出仓系统 在添加物料时出现 这个错误提示:Can not perform this operation on a closed dataset if RbtnMulti.Checked = true then //多物料 begin //构造字符串 & ...… 查看全部问答∨ |
|
大家有没有知道一个软件-Junction(Windows Junction creater and repaser point)是怎么做的? 或者知道如何可以将一个隐藏分区Mount成一个文件,我之前用DefineDosDevice给这个隐藏分区一个MS-DOS的device name了,然后呢? 多谢啊~~… 查看全部问答∨ |
|
CycloneII中如何实现信号的LVDS transmitter 用的DE2开发板,用LFSR的方法实现了伪随机数的产生,想将伪随机数据变换成LVDS差分信号送出去,如何将单转成差分信号呢?在I/O配置里面实现么?… 查看全部问答∨ |
//******************************************************************************// MSP430F21x2 Demo - ADC10, DTC Sample A2-0, AVcc, Single Sequence, DCO//// Description: Sample A2/A1/A0 as single sequence with referenc ...… 查看全部问答∨ |
设计资源 培训 开发板 精华推荐
- 答题赢好礼|平稳控制与位置服务中至关重要的 ADI MEMS IMU
- 有奖下载:邂逅大师——福禄克全新专家级红外热像仪
- 畅游安富利人工智能云会展,挑战60天打卡学习养成记!冲击华为Mate40 Pro、Apple iPad Air等豪礼啦!
- 直播已结束【英飞凌全新Wi-Fi6单芯片SoC助力物联网产品的快速开发】(9:30入场)
- 有奖直播|PI助力高可靠性与高效率的工业计量方案
- TI 工业知识挑战赛番外篇!
- 下载《TI MCU与无线连接技术研讨会讲座实录》抽奖赢好礼!
- e络盟大讲堂—告别冗长的手动测试
- Mouser 新用户大礼包:你购物,我5折返E金币!
- 有奖直播:低功耗、小尺寸&高温环境、带触摸功能——瑞萨电子最新16位RL78/G系列单片机介绍