AT89C51单片机C实现简易计算器计算机C++资料_第1页
AT89C51单片机C实现简易计算器计算机C++资料_第2页
AT89C51单片机C实现简易计算器计算机C++资料_第3页
AT89C51单片机C实现简易计算器计算机C++资料_第4页
AT89C51单片机C实现简易计算器计算机C++资料_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就令字或数据使LCD完成不同功能或显示相应数据。/******并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就令字或数据使LCD完成不同功能或显示相应数据。/******(0x01);write(0x06);write(0x0e)会在LCD上输出运算结果。〔4〕错误提示:当计算器执行过程中AT89C51单片机简易计算器的设计根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。了得到较好的显示效果,采用LCD显示数据和结果。按等号就会在LCD上输出运算结果。〔4〕错误提示:当计算器执行过程中有错误时,会在LCD上显致能。(9)DA〔DataAvailable致能。(9)DA〔DataAvailable,脚12〕:数据相符。后来经过计算得到有符号长整型的表示围为-2147483=num*10+(key-'0');if(operators本次功能键?结果送显示缓冲结果送显示缓冲等待数值输入等待数值静态显示。按键局部:采用4*4键盘;利用MM74C922为4*4的键盘.-/**********LCD清屏函数**********算功能。三、软件设计现实生活中人们熟知的计算器,其功能主要如.-/**********LCD清屏函数**********算功能。三、软件设计现实生活中人们熟知的计算器,其功能主要如***********LCD检查忙碌函数**********盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一.制及提示;针对上述功能,计算器软件程序要完成以下模块的设计:emp=a;while((temp=temp/10)!=0)N=1;/*使能信号开*/P1=mand;/*将数据送入p1得到的结果大于计算器的表示围时,计算器会在LCD上提示溢出;制及提示;针对上述功能,计算器软件程序要完成以下模块的设计:emp=a;while((temp=temp/10)!=0)N=1;/*使能信号开*/P1=mand;/*将数据送入p1得到的结果大于计算器的表示围时,计算器会在LCD上提示溢出;MM74C922芯片。MM74C922是一款4*4键盘扫描IC,它可检测到与图4MM94C22硬件图其中DOA为LSB,DOD为MSB。MM74C922引脚说明:独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的rd.zl..-分块程序设计键盘输入检测程序设计有键按下时,M、ROM、定时器/计数器和多功能I/O独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的rd.zl..-分块程序设计键盘输入检测程序设计有键按下时,M、ROM、定时器/计数器和多功能I/O等一台计算机所需要的9C51单片机为主控单元。显示局部:采用LCD静态显示。按键输出口与单片机的P2口相连,MM74C922的DA引脚经过一个非门线分别连接到MM74C922的X1-X4、Y1-Y4引脚,MM74C922的数据MM74C922对各按键的响应如下表所示:*/voidcheckBF(){chari,x=0x80;P器〔CPU〕、数据存储器〔RAM〕、程序存储器〔ROM/EP根本功能部件。如果按功能划分,它由如下功能部件组成,即微处理iddisplay(longa){longtemp,b,c=*/voidcheckBF(){chari,x=0x80;P器〔CPU〕、数据存储器〔RAM〕、程序存储器〔ROM/EP根本功能部件。如果按功能划分,它由如下功能部件组成,即微处理iddisplay(longa){longtemp,b,c=图6LCD模块向LCD写指令字或写数据以使LCD实现不同的功能或显示相应数脚6〕:部消除开关弹跳电路所外加电容的引脚。(8)OE脚6〕:部消除开关弹跳电路所外加电容的引脚。(8)OE〔Ou零键功能键输入数值状态清零根据上次功能键和输入的数据计算结果sedataoverflow();}else{switch(w[i]);}四、联机调试在联机调试的过程中,一开场没有做数.〔四〕运算模块〔单片机控制〕MCS-51单片机是在一块芯片中集成了CPU、RAM、ROM、定时2、LCD显示模块;=0;operators=0;display(num);br/**********除数为处理函数**********/v=0;operators=0;display(num);br/**********除数为处理函数**********/v过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通.系统总流程图voidinitLCM(){write(0x30);writkey){case'c':x=0;y=0;num=0;inytic();operators=3;num=0;break;rd.zl..-voidinitLCM(){write(0x30);writkey){case'c':x=0;y=0;num=0;inytic();operators=3;num=0;break;rd.zl..-分块程序设计键盘输入检测程序设计有键按下时,.初始化参数初始化LCD显示Y读取键码N数字键清零键功能键输入数值状态清零根据上次功能键和输入的数据计算结果本次功能结果送显示缓冲结果送显示缓冲等待数值输入等待数值输入结果送显示缓冲数值送显示缓冲等待数值输入LCD显示键盘上按键的个数就为4×4键盘上按键的个数就为4×4个。这种行列式键盘构造能有效地提高键盘的方案。矩阵键盘采用四条I/O线作为行线,四条I/O线作tic();operators=3;num=0;break;局部:采用4*4键盘;利用MM74C922为4*4的键盘扫描.{{{}{}}{{*****/voidwritedata(charddata)个P口实现*****/voidwritedata(charddata)个P口实现16个按键功能,这种形式在单片机系统中也最常用。图emp=a;while((temp=temp/10)!=0)输入结果送显示缓冲数值送显示缓冲等待数值输入LCD显示.wo.}}}2、LCD显示程序设计利用LCD静态显示,通过程序向LCD写指令字或数据使LCD完成{>0){y=num;iny=1;}elsex=num;if(制及提示;针对上述功能,计算器软件程序要完成以下模块的设计:thmetic();operators=1;num=0;br下:键盘输入;数值显示;加、减、乘、除四那么运算;对错误的控>0){y=num;iny=1;}elsex=num;if(制及提示;针对上述功能,计算器软件程序要完成以下模块的设计:thmetic();operators=1;num=0;br下:键盘输入;数值显示;加、减、乘、除四那么运算;对错误的控.}{R_W=0;}{R_W=0;}{{R_W=1;EN=1;EN=0;}}有错误时,会在LCD上显示相应的提示,有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算9'&&key>='0')//判断按下的键是否为数值{num;EN=1;x=P1;EN=0;for(i=0;i<10;ibreak;case'+':if(operators)ari.{}{{}{}{{}}}eak;case'-:'if(operators)arith致能。(9)DA〔eak;case'-:'if(operators)arith致能。(9)DA〔DataAvailable,脚12〕:数据算术运算程序设计.word.zl..-错误处理及提示程序设计>0){y=num;iny=1;}elsex=num;if(.开场开场乘YNN错误信息送显示缓冲数值送显示缓冲运算结果溢减加除Y{}(i=0;i<8;i++)writedata(overflo独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的制及提示;针对上述功能,计算器软件程序要完成以下模块的设计:=0;operators=0;display(num);br(i=0;i<8;i+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论