51单片机4乘4计算器

51单片机4乘4计算器 目录具体实现功能设计介绍51单片机简介资料内容原理图AD19仿真实现protues8.7程序Keil5全部资料资料获取具体实现功能由51单片机4*4矩阵按键LCD1602液晶显示屏电源等构成具体功能利用4×4矩阵键盘输入可以进行加、减、乘、除等几种数字运算并在LCD1602上显示操作过程及结果。仿真/实物演示视频51单片机4乘4计算器设计介绍51单片机简介51单片是一种低功耗、高性能CMOS-8位微控制器拥有灵巧的8位CPU和可编程Flash使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。本设计所使用的芯片可兼容以下所有的51系列单片机包括AT系列和STC系列。资料内容原理图AD19本系统原理图设计采用Altium Designer19具体如图。注1请使用Altium Designer19直接打开资料中的工程文件资料中已说明打开方式注2此设计需按照原理图制作实物不可直接烧录到任何开发板中运行需要修改程序仿真实现protues8.7本设计利用protues8.7软件实现仿真设计具体如图。注1请使用protues8.7直接打开资料中的工程文件资料中已说明打开方式注2由于仿真软件限制仿真设计和实物设计无法百分百对应程序Keil5本设计利用KEIL5软件实现程序设计。主函数如下//////////////// void main() { uchar key0xff; //键值初始化 uchar n0; //第1个数可以按1-4次 uchar m5; //第2个数可以按1-4次 uchar x0; data_a0; //前一个数 data_b0; //后一个数 data_c0; //结果 init_lcd(); //1602液晶初始化 display_a(); while(1) { keykeycheckdown(); /*动态扫描键盘返回按键对应值赋给j key0到f */ if(0xff!key) /*若返回值有效进入内部处理程序*/ { if(key10) { if(n4){data_adata_a*10key;m5;display_a();}n; //首先输入第一个数 if(m4){data_bdata_b*10key;n5;display_b();}m; //必须按了-*/才能输入第二个数 } else { switch(key) /*功能键选择*/ { case 0xa:n5;m0;x1;W_lcd(5,0,);break; //加 /* S1 */ /* 数值转换函数 */ case 0xb:n5;m0;x2;W_lcd(5,0,-);break; /* - S2 *///减 case 0xc:n5;m0;x3;W_lcd(5,0,*);break; /* * S3 *///乘 case 0xd:n5;m0;x4;W_lcd(5,0,/);break; /* / S4 *///除 case 0xe:n5;m5;eql(x);W_lcd(12,0,);display_c(x);break; /* */ case 0xf:n0;x0;m5; data_a0;data_b0;data_c0;LCD_Write_String(0,0,table);LCD_Write_String(0,1,table);W_lcd(0,0,0);break; /* C*/ } } do{P10xf0;}while(P1!0xf0); /*等待按键松开*/ }//(0xff!key) }//while }//main程序运行结果如图注请使用KEIL C51直接打开资料中的工程文件资料中已说明打开方式全部资料全部资料包括原理图(AD19)、程序(Keil5)、protues仿真(protues8.7)、设计报告(仅供参考)、仿真视频、开发资料、仿真视频、单片机最小系统介绍等全网最全资料内容如下图所示资料获取https://docs.qq.com/doc/DT3hoU29XT0ZDdW5P