基于51单片机的计算器课程设计实验报告_第1页
基于51单片机的计算器课程设计实验报告_第2页
基于51单片机的计算器课程设计实验报告_第3页
基于51单片机的计算器课程设计实验报告_第4页
基于51单片机的计算器课程设计实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、数控无线发射与接收 1.实用 单片机实现简单的计算器功能2.实页脚内容数控无线发射与接收3.实#include#include#include#include#includeunsigned table116; /1602 第一行显示字符unsigned table216; /1602 第二行显示字符 unsigned code table_error error;/* 键扫描函数 */unsigned keyscan() /描键盘函数unsigned key_l,key_h,addres,num;P0=0 x0f;页脚内容数控无线发射与接收key_l=P0;P0=0 xf0;key_h=P0

2、;addres=key_l key_h;if(addres!=0 xff)Delayms(1);if(addres!=0 xff)P0=0 x0f;key_l=P0;P0=0 xf0;key_h=P0;addres=key_l key_h;switch(addres)case 0 xee:num=1;break;case 0 xde:num=2;break;case 0 xbe:num=3;break;case 0 xed:num=4;break;case 0 xdd:num=5;break;case 0 xbd:num=6;break;case 0 xeb:num=7;break;case

3、0 xdb:num=8;break;case 0 xbb:num=9;break;case 0 xd7:num=0;break;/按 case 0 xe7:num=C;break;/键页脚内容数控无线发射与接收case 0 xb7:num=;break;/ 按键case 按键 case 按键 case 键 case 0 x77:num=+;break;/键 while(addres!=0 xff)P0=0 x0f;key_l=P0;P0=0 xf0;key_h=P0;addres=key_l key_h;return return 0;void clear_lcd(void) 清屏unsign

4、ed j;for(j=0;j16;j+)页脚内容 void main()unsigned i=0,j;unsigned key;unsigned flag_operator = 0;unsigned flag_equ 0;unsigned flag_key 0;数控无线发射与接收加减乘除标志位等于标志位运算位标志bit flag_MaxValue = 0;bit flag_minus 0;/负数long int = 0; 最终运算结果unsigned int value_H =0; 第一个数据unsigned int value_L = 0; /第二个数据unsigned int temp=1

5、, 10, 100,1000,10000,100000,1000000,10000000,100000000;Initialize_LCD();while(1)key=keyscan();if(key 0)if(key C) 清除键 按下页脚内容数控无线发射与接收clear_lcd();i=0;flag_operator = 0; flag_equ 0; value = 0; value_H value_L 0; flag_key 0;flag_minus=0;elsefor(j=0; ji; table115-i+j table115-i+j+1;table115 = key;/table1

6、i key;i+;if(key =)for(j=0; j16; =)flag_equ = j;flag_key+;break;确定运算符位置页脚内容数控无线发射与接收if( table1j + j = - = * table1j /)flag_operator = j;flag_key+;for(j=16-i; jflag_operator; 第一个数据处理/value_H = value_H ( 10 , (flag_operator-j-1) value_H value_H + (table1j-48) tempflag_operator-j-1;for(j=flag_operator+1

7、; j15; j+)第二个数据处理/value_L = value_L * pow( , (flag_equ-j-1) );value_L value_L + tempflag_equ-j-1;if(table1flag_operator +)value value_H value_L;else if(table1flag_operator -)value value_H value_L;页脚内容数控无线发射与接收else if(table1flag_operator *)value value_H value_L;else if(table1flag_operator /)value val

8、ue_H value_L;if(value 0)table215 = (value 48);else if(value2000000000)flag_MaxValue = /break;j=15;while(value!=0)table2j (value%10 48);value value/10;页脚内容数控无线发射与接收j-;if(flag_minus) 负数table2j -;if(flag_key | table10 0 flag_MaxValue=1 )ShowString(5,1,table_error);while(keyscan() != C);clear_lcd();i=0;flag_oper

温馨提示

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

评论

0/150

提交评论