mega16单片机科学计算器程序源代码-控制/MCU-飞外网

飞外网>控制/MCU>mega16单片机科学计算器程序源代码

mega16单片机科学计算器程序源代码 来源:网络整理•作者:工程师2• 2018-05-24 16:08 • 次阅读 • 个评论

支持最大八位的无符号长整型数值计算

#include《iom16v.h》

#include《macros.h》

//#include《stdio.h》

#define uchar unsigned char

#define uint unsigned int

#define ulong unsigned long

#define EA SREG|=BIT(7)

uchar temp,old,key_turn,flag=0;

ulong datA=0,datB=0;

const uchar wela[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

const uchar tab[11]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};

extern uchar dat[8]={0,0,0,0,0,0,0,0};

extern uchar dat_right[]={0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a};

void delay(uint z)

{

while(z--);

}

void display(uchar z)

{

uchar i;

while(z--)

for(i=0;i《8;i++)

{

PORTB=wela[i];

PORTD=tab[dat_right[i]];

delay(30);

PORTB=0XFF;

}

}

void clean_junk()

{

uchar i,p=0;

for(i=0;i《8;i++)

{

dat_right[i]=0x0a;

}

for(i=0;i《8;i++)

{

if(dat[i]》0)p=1;

if(p)dat_right[i]=dat[i];

}

}

void delete()

{

uchar i;

for(i=0;i《8;i++)

{

dat[i]=0;

}

clean_junk();

}

void disan_he()

{

ulong i;

i=dat[0]*1e7+dat[1]*1e6+dat[2]*1e5+dat[3]*1e4+dat[4]*1e3+dat[5]*1e2+dat[6]*1e1+dat[7];

if(flag)datB=i;

else datA=i;

flag=1;

delete();

}

void disan_fen()

{

dat[0]=datA/1e7;

dat[1]=datA%10000000/1000000;

dat[2]=datA%1000000/100000;

dat[3]=datA%100000/10000;

dat[4]=datA%10000/1000;

dat[5]=datA%1000/100;

dat[6]=datA%100/10;

dat[7]=datA%10;

flag=0;

}

void move()

{

uchar i;

if(temp》0&temp《0x0b)

{

for(i=0;i《8;i++)

{

dat[i]=dat[i+1];

}

if(temp==0x0a){dat[0]=0;temp=0;}

dat[7]=temp;temp=0;

}

}

void clean()

{

uchar i;

flag=0;

for(i=0;i《8;i++)

{

dat[i]=0;

}

temp=0;

old=0;

datA=0;

datB=0;

}

void disan()

{

if(temp》0&temp《0x11)switch(temp)

{

case 0x0e:clean();break;

case 0x0b:old=temp;temp=0;disan_he();break;

case 0x0c:old=temp;temp=0;disan_he();break;

case 0x0d:old=temp;temp=0;disan_he();break;

case 0x10:old=temp;temp=0;disan_he();break;

case 0x0f:switch(old)

{

case 0x0b:if(flag)disan_he();datA=datA/datB;old=0;temp=0;disan_fen();break;

case 0x0c:if(flag)disan_he();datA=datA*datB;old=0;temp=0;disan_fen();break;

case 0x0d:if(flag)disan_he();datA=datA-datB;old=0;temp=0;disan_fen();break;

case 0x10:if(flag)disan_he();datA=datA+datB;old=0;temp=0;disan_fen();break;

default:temp=0;old=0;break;

}break;

default:move();temp=0;break;

}

// disan_fen();delete();

}

void diskey()

{

uchar i,n;

const uchar code[]={0xFE,0xFD,0xFB,0xF7};

if(temp==0x00)for(i=0;i《4;i++)

{

PORTA=code[i];

temp=PINA;

if(~temp&0xf0)i=6;

while(~PINA&0xf0)display(1);

PORTA=0xff;

}

if(temp》0x10)switch(temp)

{

case 0xEE:temp=0x07;break;

case 0xDE:temp=0x08;break;

case 0xBE:temp=0x09;break;

case 0x7E:temp=0x0b;break;

/////////////////////////

case 0xED:temp=0x04;break;

case 0xDD:temp=0x05;break;

case 0xBD:temp=0x06;break;

case 0x7D:temp=0x0c;break;

//////////////////////////

case 0xEB:temp=0x01;break;

case 0xDB:temp=0x02;break;

case 0xBB:temp=0x03;break;

case 0x7B:temp=0x0d;break;

////////////////////////

case 0xE7:temp=0x0e;break;

case 0xD7:temp=0x0a;break;

case 0xB7:temp=0x0f;break;

case 0x77:temp=0x10;break;

/////////////////////////

default:temp=0x00;break;

}

disan();

}

void main()

{

MCUCSR|= 1《《JTD; //禁用jtag功能

MCUCSR|= 1《《JTD; //再次禁用jtag功能生效

DDRC=0XFF;

DDRB=0XFF;

DDRD=0XFF;

DDRA=0X0F;

while(1)

{

display(1);

diskey();

clean_junk();

}

}


既能显示时间又能做计算器的单片机一、项目描述本次项目是在上次用单片机做的计算器在有一定改进的基础上新加了时钟显示的功能。之前所做的计算器只能实现简单的加减乘除运算,经后期改进,使其可以连续运算更符合我们心中的计算器的形象。加入2022-01-12 19:12:470单片机1602计算器(带源文件、仿真、详细教程)效果展示:单片机1602计算器文件包括:步骤详细介绍,工程文件,源代码工程文件,源代码在:https://download.csdn.net/download/qq_30787727/140476832021-12-29 19:49:301单片机高级系列丨基于单片机的智能计算器单片机高级系列丨基于单片机的智能计算器#include reg52.h #define uint unsigned int #define uchar unsigned2021-11-23 17:21:417基于单片机的简易计算器设计简介:本设计是基于单片机的计算器设计,主要实现以下功能:可进行sin、cos、tan、atan、asin、acos、幂运算、+、-、*、/计算标签:51单片机、LCD1602资料预览效果图:总体2021-11-23 17:21:361451单片机(三十)—— 矩阵键盘计算器在《51单片机(二十九)—— 矩阵键盘输入实验》中,我们对矩阵键盘的原理及使用方法进行了介绍。在本文中,我们采用矩阵键盘设计一个计算器,实现简单的计算器功能。 这个实验的代码的主函数如下所示2021-11-19 11:51:039单片机仿真——用mega16实现流水灯## 单片机仿真——用mega16实现流水灯 今天不知怎的,网页版的csdn写不了博客,总是显示服务超时,那就在手机上写写吧。 单片机与嵌入式系统开课两周了,第一次仿真上线。因为还没有2021-11-15 18:21:028使用ATMega16单片机实现数码管00-99显示使用ATMega16单片机实现数码管00-99显示最近学习了ATMega16单片机的中断系统,要求完成单片机外部中断的实践。利用Mega16单片机的外部中断控制数码管计数显示。要求:1、Mega162021-11-15 11:51:0912Atmega16 AVR 单片机 proteus 仿真 计算器飞外网站提供《Atmega16 AVR 单片机 proteus 仿真 计算器.pdf》资料免费2021-11-15 09:06:029基于51单片机的简易计算器1.简介本计算器是以MCS-51系列AT89C51单片机为核心构成的简易计算器系统。该系统通过单片机控制,实现对4*4键盘扫描进行实时的按键检测,并由LCD1602显示屏将过程与结果显示出来。2.2021-11-11 19:51:0023基于51单片机的简易计算器,用LCD1602显示基于51单片机的简易计算器经历了一番学习,成功做出了一个简易的计算器,并且在程序开头加了一个小密码。我用的单片机是STC89C52,单片机类型不同,电路图也是不一样的。一.设计思路2021-11-11 15:51:0624【单片机】简易计算器完整代码带电路图51单片机计算器代码和电路图文章目录51单片机计算器代码和电路图一、问题描述二、具体实现1.完整代码带注释2.电路图总结一、问题描述通过AT89C51单片机16位矩阵键盘设计简易计算器(仅能实现加减2021-11-10 18:50:5913基于51单片机+数码管的计算器程序所需硬件以及软件1.CT107D开发板2.8段数码管3.矩阵键盘4.STC89C52RC单片机5.keil V56.visual studio code7.stc-isp程序思路基于51单片机2021-11-05 10:36:0012基于51单片机的计算器.电子电工实验报告基于51单片机的计算器.电子电工实验报告2021-11-04 21:08:360基于51单片机的计算器设计能做计算器的单片机单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本次设计是设计一个简易计算器,能够2021-11-04 11:51:0019mega16单片机PWM方式驱动双直流电机自主巡线程序mega16单片机PWM方式驱动双直流电机自主巡线程序(现代电源技术pdf)- mega16单片机PWM方式驱动双直流电机自主巡线程序,将双电机装上轮子即可实现小车自主巡线运行2021-09-23 09:37:552基于51单片机的频率计源代码基于51单片机的频率计源代码2021-09-03 16:24:386451单片机4位数简易计算器51单片机4位数简易计算器2021-05-01 11:28:283基于51单片机的计数器源代码基于51单片机的计数器源代码2021-04-30 09:51:006基于51单片机的LCD温度报警器源代码基于51单片机的LCD温度报警器源代码2021-04-30 09:50:2414基于单片机的数字电位器C语言源代码基于单片机的数字电位器C语言源代码2021-04-28 18:06:158基于51单片机的简易计算机C语言源代码基于51单片机的简易计算机C语言源代码2021-04-28 18:06:145基于C51单片机的简易电子计算器的制作基于C51单片机的简易电子计算器的制作方法说明。2021-04-28 11:29:5343基于单片机的PCB设计源代码基于单片机的PCB设计源代码2021-04-27 21:37:1225Mega16的电子时钟设计资料飞外网为你提供Mega16的电子时钟设计资料的电子资料,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。2021-04-08 08:53:0913使用单片机实现12864LCD显示计算器键盘按键实验的程序免费本文档的主要内容详细介绍的是使用单片机实现12864LCD显示计算器键盘按键实验的程序免费。2021-04-01 17:41:2521使用单片机实现1602液晶显示计算器的C语言程序免费本文档的主要内容详细介绍的是使用单片机实现1602液晶显示计算器的C语言程序免费。2021-03-30 10:47:119基于单片机的交通灯实验源代码基于单片机的交通灯实验源代码,8086十字交通灯。2020-12-21 17:08:045如何使用MSP430单片机实现简易计算器的设计生活中常用的电子计算器具有结构简单、性能稳定的优点,在现代经济社会有着广泛的应用。本次设计的基于MSP430 单片机的简易电子计算器,在MSP430F6638单片机上,使用矩阵键盘输入数据,进行加2020-12-14 09:30:1417使用单片机实现矩阵键盘简易计算器的C语言程序免费本文档的主要内容详细介绍的是使用单片机实现矩阵键盘简易计算器的C语言程序免费。2020-11-26 17:57:3127使用51单片机实现计算器的原理图合集免费本文档的主要内容详细介绍的是使用51单片机实现计算器的原理图合集免费。2020-10-10 15:52:2526单片机的基础实验源代码合集免费本文档的主要内容详细介绍的是单片机的基础实验源代码合集免费。2020-10-05 21:20:567单片机遥控解码的源代码详细说明本文档的主要内容详细介绍的是单片机遥控解码的源代码详细说明。2020-09-26 11:17:351222使用8051单片机和LCD1601设计计算器的程序和仿真电路图免费本文档的主要内容详细介绍的是使用8051单片机和LCD1601设计计算器的程序和仿真电路图免费。2020-08-13 17:24:0215STC89C52单片机实现计算器的资料合集免费本文档的主要内容详细介绍的是STC89C52单片机实现计算器的资料合集免费。2020-06-28 15:40:2130使用51单片机实现简单的加减乘除计算器资料免费本文档的主要内容详细介绍的是使用51单片机实现简单的加减乘除计算器资料免费。2020-06-18 13:10:188使用单片机实现一个简易计算器的程序免费本文档的主要内容详细介绍的是使用单片机实现一个简易计算器的程序免费。2020-06-11 16:59:302单片机闪烁灯设计的源代码本文档的主要内容详细介绍的是单片机闪烁灯设计的源代码。2020-06-07 11:45:082808使用单片机实现智能计算器的程序和工程文件免费本文档的主要内容详细介绍的是使用单片机实现智能计算器的程序和工程文件免费。2020-06-05 16:41:49951单片机模拟PWM输出占空比可调的源代码程序免费本文档的主要内容详细介绍的是51单片机模拟PWM输出占空比可调的源代码程序免费2019-10-30 10:57:0347使用51单片机实现计算器的资料和代码免费本文档的主要内容详细介绍的是使用51单片机实现计算器的资料和代码免费。2019-04-23 17:15:1216单片机按键的源代码资料合集免费本文档的主要内容详细介绍的是单片机按键的源代码资料合集免费包括了:基本的按键程序结构分析,可识别长击和短击按键程序(有限状态机)2019-04-23 17:17:442使用51单片机DIY一个计算器的详细资料免费用两个51单片机做一个计算器并不稀罕,它的特色是这个计算器能显示运算过程,更可贵的是作者将自己制作印刷版,C与汇编混合编制程序的检验体会展现给读者,值得一 读。2019-09-09 17:31:407使用单片机设计的简易加法计算器程序免费本文档的主要内容详细介绍的是使用单片机设计的简易加法计算器程序免费。2019-04-23 17:33:333单片机缓冲区的串口读写源代码程序免费本文档的主要内容详细介绍的是单片机缓冲区的串口读写源代码程序免费。2019-04-23 17:37:112使用51单片机设计的四位计算器程序免费本文档的主要内容详细介绍的是使用51单片机设计的四位计算器程序免费。2019-04-23 17:42:1515使用51单片机设计的完整计算器汇编语言程序免费本文档的主要内容详细介绍的是使用51单片机设计的完整计算器汇编语言程序免费。2019-04-23 17:42:2214使用51单片机设计的简单计算器源代码免费本文档的主要内容详细介绍的是使用51单片机设计的简单计算器源代码免费 在下边,我们将写一个计算器程序,原理很简单,只需要在拨号器的基础上,算出拨号器所表示的数字,并进行计算即可。2019-04-23 17:45:0411使用51单片机设计简易计算器的程序免费本文档的主要内容详细介绍的是使用51单片机设计简易计算器的程序免费。2019-04-23 17:45:2213使用单片机实现音乐播放器的源代码程序免费本文档的主要内容详细介绍的是使用单片机实现音乐播放器的源代码程序免费。基于52单片机的源代码2019-04-16 17:28:1512使用51单片机设计的计算器C语言程序资料免费本文档的主要内容详细介绍的是使用51单片机设计的计算器C语言程序资料免费。2019-04-10 18:25:43451单片机串口通信计算器应用程序免费本文档的主要内容详细介绍的是51单片机串口通信计算器应用程序免费。2019-04-02 17:25:38951单片机串口通信计算器应用程序免费本文档的主要内容详细介绍的是51单片机串口通信计算器应用程序免费。2019-03-25 18:09:541微软发布了使用最多的应用程序之一——Windows 计算器的源代码与NSA(美国国家安全局)公布的120万行Ghidra逆向工程工具开源代码相比,Windows 计算器的3.5万行C++代码可能稍显逊色。虽然计算器是很小的一个部分,但自从1985年的1.0版以来,它在Windows的每个版本中都占据了一席之地。2019-03-11 15:11:204212多个51单片机C语言程序设计源代码的详细资料合集本文档的主要内容详细介绍的是多个51单片机C语言程序设计源代码的详细资料合集。2019-03-08 22:33:4213使用51单片机设计的简易计算器资料合集免费本文档的主要内容详细介绍的是使用51单片机设计的简易计算器资料合集免费本计算器是以MCS-51单片机控制,实现对4*4键盘扫描进行实时的按键检测,并由LCD1602显示屏将过程与结果显示出来。主要内容包括了:原理图,PCB,源代码。2019-01-08 22:55:0440单片机的五个使用案例及源代码资料合集免费单片机的五个使用案例及源代码资料合集免费主要内容包括了:超声波测距(LCD1602显示),孵化环境温湿度监控系统设计,基于单片机的室内空气净化系统,基于单片机的温度湿度采集系统,基于单片机的智能计算器2018-11-24 18:56:3830使用单片机设计的智能计算器资料合集免费本文档的主要内容详细介绍的是使用单片机设计的智能计算器资料合集免费,有实物截图,有源代码,有仿真结果。2018-11-19 12:37:00751单片机串口初值和波特率计算器应用程序免费本文档的主要内容详细介绍的是51单片机串口初值和波特率计算器应用程序免费。2018-10-15 09:02:028Mega16实验板方案原理图详细资料免费本文档的主要内容详细介绍的是Mega16实验板方案原理图资料免费2018-07-18 10:10:191851单片机应用实例运用及源代码51单片机应用实例运用及源代码2017-09-20 14:26:564414709225341T单片机定时器初值计算器单片机定时初值计算器是一款不错的51单片机定时器初值计算设定软件,精确计算定时器的时间常数。2017-08-31 14:36:3714基于单片机简易计算器(仿真+程序)飞外网站提供《基于单片机简易计算器(仿真+程序).rar》资料免费2017-06-07 21:13:1861labview新型计算器源代码labview的计算器代码分享2017-05-04 10:54:13125基于单片机的智能计算器基于单片机的智能计算器,里面有相关程序2017-04-03 13:37:4512PIC单片机定时器初值计算器V1.0PIC单片机定时器初值计算器V1.02016-12-27 23:23:38151单片机与温度传感器与1602源代码通过温度传感器与51单片机,在1602上面显示源代码2016-07-14 16:07:217基于单片机的简易计算器_C语言这是一个基于单片机的简易计算器,用C语言编写的适用keil软件打开。2016-07-01 10:05:598单片机C语言程序设计实训100例基于+仿真-源代码51CTO-单片机C语言程序设计实训100例基于+仿真-源代码部分2016-06-11 16:06:0216简易计算器基于单片机c51,c52的简易计算器设计2016-06-07 10:34:2312基于单片机简易计算器基于单片机简易计算器 4x4 两位混合运算2016-06-05 20:32:2016电容、电阻参数单片机测试系统的设计源代码电容、电阻参数单片机测试系统的设计源代码2016-05-31 22:29:308简易计算器该计算器基于51单片机实现加减乘除四则运算,资料附有调试运行成功的源代码。2016-03-02 20:07:185基于51单片机的简单计算器制作基于51单片机的简单计算器制作。2016-02-22 16:52:4937C51单片机相关的LCD驱动程序源代码C51单片机相关的LCD驱动程序源代码,可供参考调试2016-02-03 10:29:0617基于单片机的综合应用程序计算器【C语言】基于单片机的综合应用程序计算器【C语言】,多种程序集合,符合热爱C语言学习者的胃口。2015-12-31 20:48:587简易计算器设计基于51单片机的简易计算器,采用按键与数码管实现2015-12-27 14:45:228AVR mega16学习课件AVR mega16 学习课件,想要学习的可以作为参考资料来用。2015-11-20 23:18:3219基于AT89C51单片机的电子计算器设计基于AT89C51单片机的电子计算器设计 有需要的看一看,不收积分。2015-11-20 15:29:44107基于单片机的简单计算器设计与仿真基于单片机的简单计算器设计与仿真 有需要的看一看,不收积分。2015-11-20 15:30:027551单片机制作计算器程序用51单片机制作计算器程序,可以实现加减乘除开根号的计算功能2015-11-16 13:15:1565基于单片机的简易计算器设计原理图及程序代码如标题所述,在单片机的基础上给出计算机原理图,配合程序代码,借助proteus即可仿真2015-11-13 16:18:5994单片机串口通讯程序基于51单片机的 单片机串口通讯程序源代码2015-11-12 09:09:5325基于STC51单片机的串口收发的源代码基于 STC51单片机的串口收发的源代码2015-11-12 09:09:2731基于STC51单片机的串口使用的程序源代码基于STC51单片机的串口使用的程序源代码2015-11-12 09:08:5838基于51单片机的IIC 程序源代码基于51单片机的,IIC 程序,源代码。2015-11-12 09:00:3856简易计算器简易计算器基于单片机的设计有程序和仿真以及各种扩展2015-11-04 23:05:1636基于单片机的计算器设计的硬软件此资料是基于单片机的计算器硬件和软件设计。2015-10-27 14:55:328MEGA16单片机用TC1定时器制作的秒表MEGA16单片机用TC1定时器制作的秒表:2012-04-23 15:56:085851单片机简易计算器(单片机小实验,含C程序和Ptotues电路图)51单片机简易计算器(单片机小实验,含C程序和Ptotues电路图)一个单片机的小实验,做一个简易的计算器。里面的内容包括:C程序和Ptotues的实验电路图,调试文件,很齐全。2012-04-22 11:06:05780科学计算器软件本内容提供了科学计算器软件,很方便实用的一款在线计算器2011-08-04 17:58:16421avr mega16学习板原理图V4.0本文提供的avr mega16学习板原理图V4.0,希望对你学习嵌入式有很大的帮助!2011-05-28 18:14:18342基于AVR单片机Mega16的电子时钟设计Mega16是一款采用先进RISC精简指令,内置A/D的8位单片机,可支持低电压联机 Flash和EEPROM 写入功能;同时还支持 Basic和C 等高级语言编程。用它设计电子时钟不仅成本低,硬件简单,而2010-12-17 15:35:23159AVR mega16开发板恩易AVR mega16开发板联系 杨迪 15336417867 0531-55508458 QQ:1347978253 http://www2010-07-14 10:50:5630ISP线 mega16开发板恩易ISP线 mega16开发板联系 杨迪 15336417867 0531-55508458 QQ:1347978253 http://www.easyele.cn2010-07-14 10:48:1746JTAG仿真器 mega16开发板恩易JTAG仿真器 mega16开发板联系 杨迪 15336417867 0531-55508458 QQ:1347978253 2010-07-14 10:47:2011Winbond 51单片机定时器初值计算器(工具软件)Winbond 51单片机定时器初值计算器(工具软件)2010-06-14 07:53:5723651单片机+LCD显示器资料 C源代码+proteus仿真51单片机+LCD显示器资料C源代码+proteus仿真2010-04-02 11:43:38488crc16计算器 (计算工具)crc16计算器 (计算工具):该计算器是开发crc校验程序的得力助手,通过它可以验证程序的正确性。2009-12-31 10:03:52116251单片机应用实例及源代码51单片机应用实例及源代码2008-12-16 12:15:5177AVR单片机SPI通讯实例程序 (C语言源代码)AVR单片机SPI通讯实例程序 (C语言源代码)一个SPI的实例,通过SPI实现两机通讯, 采用中断方式实现双全工通讯。本例用两MEGA8515实现,连接为: MISO-2006-04-23 14:10:565836