需要准备的元器件:
1.stc89c52rc (本源码使用的mcu)
2.1602液晶模块
3.4*4矩阵键盘
单片机最小系统就可以,然后需要16个微动开关做成4*4矩阵键盘 。
我用的lcd io定义为sbit rw=P3^6;
sbit rs=P3^5;
sbit e=P3^4;觉得接线不方便的可以改 。
4*4矩阵键盘的定义 S16 S12 S8 S4分别是1 2 3 +
S15 S11 S7 S3分别是4 5 6 - -
S14 S10 S6 S2分别是7 8 9 *
S13 S9 S5 S1分别是0 CLR = /
附:4*4矩阵键盘的原理图,单片机最小系统,程序源码。
注:源码来自X宝的一家店铺
单片机源程序如下:
/* 实现两个数的运算,每个数的位数至少可以八位 */
#include typedef unsigned char uint8; typedef unsigned int uint16; sbit rw=P3^6; sbit rs=P3^5; sbit e=P3^4; sbit led=P3^7; sbit beep=P2^0; uint8 key,num; uint8 fuhao;//定义具体的那个符号,是加减还是乘除。 uint8 flag; //定义有没有按下符号键,这个是统称 long a,b,c,d; //定义运算数据的第一个和第二个及等于的数变量 uint8 k; //定义小数点后面显示的位数 uint8 biao; uint8 dat1[]={1,2,3,0x2b-0x30, 4,5,6,0x2d-0x30, 7,8,9,0x2a-0x30, 0,0x01-0x30,0x3d-0x30,0x2b-0x30 };//保存显示的数据 void delay(uint16 i) { while(i--); } void lcdwrc(uint8 c) { delay(1000); rs=0; rw=0; e=0; P0=c; e=1; delay(1000); e=0; } void lcdwrd(uint8 dat) { delay(1000); rs=1; rw=0; e=0; P0=dat; e=1; delay(1000); e=0; rs=0; } void lcdinit() { delay(1500); lcdwrc(0x38); delay(500); lcdwrc(0x38); delay(500); lcdwrc(0x38); delay(500); lcdwrc(0x38); lcdwrc(0x08); lcdwrc(0x01); lcdwrc(0x06); lcdwrc(0x0c); key=0; num=0; flag=0; fuhao=0; a=0; b=0; c=0; d=0; biao=0; led=0; } void keyscan() { P1=0xfe; //令第一行为0,然后判断是哪一列按下 if(P1!=0xfe) { delay(1000); if(P1!=0xfe) { key=P1&0xf0; switch(key) { case 0xe0: num=0;break; //1 case 0xd0: num=1;break; //2 case 0xb0: num=2;break; //3 case 0x70: num=3;break; //加 } } while(P1!=0xfe); if(num==0||num==1||num==2) //确认第一行的数1,2,3 { if(flag==0) //没有按下符号键 { //led=1; a=a*10+dat1[num]; } else { //led=1; b=b*10+dat1[num]; } } if(num==3) { //led=0; flag=1; fuhao=1;//加号+ } lcdwrd(0x30+dat1[num]); } P1=0xfd; //令第二行为0,判断是哪一列按下 if(P1!=0xfd) { delay(1000); if(P1!=0xfd) { key=P1&0xf0; switch(key) { case 0xe0: num=4;break; //4 case 0xd0: num=5;break; //5 case 0xb0: num=6;break; //6 case 0x70: num=7;break; //减— } } while(P1!=0xfd); if(num==4||num==5||num==6) { if(flag==0) //没有按下符号键 { //led=1; a=a*10+dat1[num]; } else { //led=1; b=b*10+dat1[num]; } } else { flag=1;
上一篇:完美搞定keil error C100: unprintable character 0xA3 skipped
下一篇:温度监控器单片机设计
推荐阅读
史海拾趣
首先,需要澄清的是,直接关于“General Electric Solid State”公司的发展故事在现有的参考资料中并不详尽,因为“General Electric Solid State”可能并不是一个独立的公司名称,而是指通用电气公司(General Electric Company,简称GE)在固态技术或固态电子领域的业务或产品部门。以下是根据通用电气公司在电子行业,特别是固态技术领域的发展历程,提炼出的五个相关故事:
1. 固态技术的早期探索
背景:在20世纪中后期,随着半导体技术的飞速发展,通用电气公司(GE)作为电气行业的领导者,迅速投入到了固态技术的研发中。这一时期,GE的工程师们致力于开发更高效的固态器件,如晶体管、集成电路等,以替代传统的电子管设备。
发展:GE的研究团队在固态材料的选择、制造工艺的优化以及性能提升方面取得了显著进展。这些成果不仅推动了GE自身产品的升级换代,也为整个电子行业向固态化、集成化方向发展奠定了基础。
2. 固态器件在电力系统中的应用
背景:电力系统是GE的传统优势领域之一。随着固态技术的成熟,GE开始将固态器件应用于电力系统中,以提高电力系统的效率和可靠性。
应用:GE研发了一系列基于固态技术的电力电子设备,如固态继电器、固态断路器、固态变压器等。这些设备在电力系统中扮演着重要角色,能够有效减少能源损耗、提高电力传输效率,并增强电力系统的稳定性和安全性。
3. 固态照明技术的突破
背景:通用电气公司的创始人托马斯·爱迪生因发明电灯而闻名于世。进入21世纪后,GE继续在照明领域深耕,将固态技术应用于照明产品中。
成果:GE成功推出了LED(发光二极管)照明产品,这些产品具有能效高、寿命长、环保等优点。GE的LED照明技术不仅应用于家庭和商业照明领域,还广泛应用于户外照明、工业照明等多个场景,为全球节能减排事业做出了贡献。
4. 固态传感器与工业自动化
背景:随着工业自动化水平的不断提高,对传感器的精度、稳定性和可靠性提出了更高的要求。GE凭借其在固态技术方面的积累,开始研发高性能的固态传感器。
应用:GE的固态传感器在工业自动化领域得到了广泛应用,如温度传感器、压力传感器、加速度传感器等。这些传感器能够实时监测设备的运行状态和环境参数,为工业自动化控制提供精准的数据支持。
5. 固态技术在医疗设备中的创新
背景:医疗设备对技术的要求极高,尤其是在精确性和可靠性方面。GE作为医疗设备领域的领军企业之一,不断将固态技术引入医疗设备的研发中。
创新:GE利用固态技术开发出了一系列创新的医疗设备,如固态成像设备(如CT、MRI等)、固态激光治疗器等。这些设备在医疗诊断、治疗等方面发挥了重要作用,提高了医疗服务的效率和质量。
请注意,以上故事是基于通用电气公司在电子行业,特别是固态技术领域的整体发展历程进行提炼的。由于“General Electric Solid State”并非一个明确的公司名称,因此故事中的具体细节可能需要根据GE的实际情况进行适当调整和补充。
Fremont Micro Devices USA公司的发展故事
故事一:初创与成长
Fremont Micro Devices USA(简称FMD或弗里蒙特微)的故事始于对高性能模拟及数模混合信号集成电路设计的执着追求。公司于多年前在加利福尼亚成立,起初是一家小型但充满活力的初创企业,专注于非易失性存储芯片、MCU芯片和电源管理芯片的研发。凭借其创始团队在半导体行业的深厚背景和技术专长,FMD迅速在消费电子、便携设备和通讯/网络领域崭露头角。通过持续的技术创新和产品研发,FMD逐渐积累了市场声誉,吸引了多家国际知名风险投资公司的关注和支持,为公司的快速发展奠定了坚实的基础。
故事二:技术突破与市场拓展
在FMD的发展历程中,技术突破是推动其不断前进的重要动力。公司研发团队拥有国内外顶尖半导体企业的工作经验,他们致力于全定制和半定制的数模混合芯片设计,不断提升产品的性能和可靠性。通过不断的技术积累和创新,FMD在Memory、MCU和PMIC等领域取得了显著的技术突破,拥有了业界领先的技术基础和IP积累。这些技术成果不仅提升了公司的市场竞争力,也为其在消费类、智能硬件、IOT和工控安防等应用领域的市场拓展提供了有力支持。
故事三:全球化布局与供应链管理
随着业务的不断扩张,FMD开始布局全球化市场。公司在美国本土建立了完善的研发和生产体系,同时在中国深圳设立了总部,并在香港设立了办事处,以便更好地服务亚太地区的客户。此外,FMD还积极与全球知名的电子元器件分销商合作,建立了稳定的供应链体系。通过优化供应链管理,FMD确保了产品的质量和交付速度,进一步提升了客户满意度和市场竞争力。
故事四:应对行业挑战与危机
在电子行业的发展过程中,FMD也面临着诸多挑战和危机。例如,全球半导体市场的周期性波动、国际贸易环境的变化以及新冠疫情的爆发等都对公司的运营和发展产生了一定的影响。然而,FMD凭借其强大的技术实力和市场敏锐度,积极应对这些挑战和危机。公司通过加强研发创新、优化产品结构、拓展新兴市场等方式,保持了业绩的稳定增长,并在逆境中实现了新的发展。
故事五:上市规划与未来发展
近年来,FMD在资本市场也取得了重要进展。公司已完成与中信证券的上市辅导协议签署,并在深圳证监局备案,拟在A股市场挂牌上市。这一举措不仅将为FMD带来更多的资金支持和发展动力,也将进一步提升公司的品牌影响力和市场竞争力。展望未来,FMD将继续秉承高性能、高可靠性和低成本的理念,加大在研发创新和市场拓展方面的投入力度,为客户提供更加优质的产品和服务,推动公司向更高层次的发展迈进。
B+B SmartWorx一直致力于产品创新,不断推出符合市场需求的新产品。其中,光纤转换器、3G/4G无线路由器以及Wzzard系列无线感测装置等产品受到了市场的广泛认可。这些产品不仅填补了研华在某些领域的空白,也展示了B+B SmartWorx在物联网和工业网通领域的强大实力。此外,公司还积极开发风扇配件、AC插座等电力元件产品线,进一步丰富了其产品体系。
天二科技(EVER OHMS)于1988年正式成立,其初创团队便专注于电阻器领域的研发与制造。面对当时电子行业的激烈竞争,天二科技凭借对电阻器技术的深入理解,成功开发出多款高性能、高精度的电阻器产品,迅速在市场中崭露头角。这些产品不仅满足了当时市场的需求,更为公司后续的发展奠定了坚实的基础。
面对日益激烈的市场竞争,CapXon公司始终坚持以技术创新为驱动,不断推动产业升级。公司投入大量资金用于研发新的技术和产品,以满足市场对高品质、高性能电容器的需求。通过不断的努力,CapXon成功研发出了一系列具有自主知识产权的高性能电容器产品,这些产品不仅具有更高的稳定性和可靠性,而且能够满足更广泛的应用场景需求。
面对国内市场的饱和竞争,AMRI Enterprise Co Ltd积极实施国际化战略,拓展海外市场。公司通过参加国际电子展会、建立海外销售渠道等方式,不断提升品牌知名度和产品影响力。同时,AMRI还针对不同国家和地区的市场需求,调整产品策略,提供定制化的解决方案。这一战略的实施,使得AMRI的产品成功打入多个国际市场,实现了业务的快速增长。
在3GPP中,3G LTE的正式名称是3G Long Term Evolution(LTE),即3GPP长期演进(LTE)项目。 3GPP长期演进(LTE)项目是近两年来3GPP启动的最大的新技术研发项目,以OFDM/FDMA为核心的技术,与其说是3G技术的“演进”(evolution) ...… 查看全部问答∨ |
|
samsung2451下的wince6.0速度比wince5.0慢问题 最近在samsung2451下跑wince6.0,通过播放器发现明显比wince5.0慢很多,不知是wince6.0本身比wince5.0慢,还是其它什么原因?… 查看全部问答∨ |
模电书上说在负反馈放大电路中,输入信号为零时,因为某种电扰动(如合闸通电),其中含有频率为f0的信号,使得AF的附加相移达到180°或-180°,@负反馈变成了正反馈,如果|AF|>1,则产生了自激振荡。我不明白的是,如果@处条件不成立,也就是不 ...… 查看全部问答∨ |
使用 LM Flash Programer 下载程序 错误编号1 [ 本帖最后由 Study_Stellaris 于 2011-9-19 16:52 编辑 ]… 查看全部问答∨ |
|
【C2000 LaunchPad】单相交流电压+电流表__工程创建篇 总贴位置:https://bbs.eeworld.com.cn/viewthread.php?tid=369113&page=1&extra=page%3D2#pid1466612 【C2000 LaunchPad】单相交流电压+电流表 以前一直用CCS3.3。最近装了个 ...… 查看全部问答∨ |
|