为什么52学用单片机制作机器人这样子不能用作计算器

均值计算器(绝对准确)-海文库
全站搜索:
您现在的位置:&>&&>&信息与通信
均值计算器(绝对准确)
信息与电气工程学院课程设计说明书( 学年第 二 学期)
课程名称 :
单片机应用课程设计题
求均值计算器的设计专业班级 :
电气工程及其自动化1104班
学生姓名 :
指导教师 :
刘增环、岑毅南、高敬格等设计周数 :
设计成绩 :
2014年 6月 26日
目 录一、课程设计目的??????????????????????二、课程设计正文??????????????????????2.1、设计所需器材????????????????????2.2、设计任务和要求???????????????????2.3、设计方案??????????????????????2.3.1、硬件设计???????????????????1.STC90C52AD说明??????????????2.数码管说明????????????????3.晶体振荡电路设计????????????????4.数码管和位选设计????????????????5.复位设计??????????????????6.矩阵键盘设计????????????????2.3.2、软件设计???????????????????1.主程序流程图??????????????2.显示程序流程图?????????????3.按键扫描程序流程图????????????????4.系统程序??????????????????2.3.3、软硬件调试??????????????????三、课程设计总结???????????????????????四、心得体会???????????????????????五、参考文献?????????????????????????
附录一、系统原理图??????????????????????
附录二、系统PCB图??????????????????????
附录三、系统仿真图??????????????????????
一、课程设计目的1.进一步熟悉和掌握单片机的结构及工作原理。2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。二、课程设计正文2.1 设计所需器材电阻:330k(7个),1k(3个)按键开关:SW-PB(12个)单片机最小系统(1个)三极管:9012PNP型(3个)数码管:共阳型(2个)底座:DIP40(1个)、DIP20(1个)万能电路板:1个DB9针形座:1个排线、电源接线若干2.2 设计任务和要求本次课程设计,我们要求做的是求均值计算器。设计的主要内容是采用STC90C52AD作为控制单元,实现计算器设计。原始数据及主要任务:设计一个以STC90C52AD 单片机为核心的求均
值计算器系统。能够进行10以内的多个数字求平均值运算,且具备清零功能。10个数字键,2个功能键。最后求出的均值小数点保留1位显示。主要任务:(1)确定总体设计方案;(2)3位数码管显示电路设计,3*4按键电路设计;(3)设计硬件电路原理图和PCB图,绘制软件程序流程图,编写程序;(4)软硬件联机调试。技术要求:以STC90C52AD单片机为核心,使用P1 .0 -P1.6接3*4矩阵按键; P0.0、P0.1、P0.2用作数码管位选通端口,P2.7控制数码管DP段。P2.0-P2.6接数码管的a,b,c,d,e,f,g。2.3设计方案求均值计算器的主要的部分是STC90C52AD,使用合适的I/O口接3*4矩阵按键及数码管驱动端口,通过行扫描法对矩阵键盘进行扫描,确定是哪一个按键按下,然后单片机实现相应的计算,由对应的段选点亮LED数码管显示计算结果。2.3.1硬件设计1.STC90C52AD说明AT89C51的引说明和功能说明如下:XTAL1 :接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。
XTAL2 :接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。RST :STC90C52AD的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。P0口(P0.0~P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向I/O口用。P0口每一个引脚可以推动8个LSTTL负载。P2口(P2.0~P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。外部不扩展而
单片应用时,则作一般双向I/O口用。每一个引脚可以推动4个LSTL负载。P1口(P1.0~P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。P3口(P3.0~P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。2.共阳数码管LED显示器由8段发光二极管组成,排列成8字形状,称为8段LED显示器,器件各引脚如图所示:为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。均值计算器用到的数字0~9的共阴极字形代码如下表:
3.晶体振荡电路设计图2.3-2 晶体振荡电路采用6MHZ的晶振,接在芯片的18,19引脚上。在复位端口加低电平。
4.数码管和位选设计
图2.3-3 数码管和位选电路需要显示数值选用共阳极的数码管是三极管驱动,接有1k欧姆的保护电阻而成的两个数码管在显示时需要选通,采用STC90C52AD的P0.1和P0.2口作为位选信号的输出端,低电平有效。5. 复位设计复位键直接加在单片机的复位端,当按键RST被按下时,系统复位。6.矩阵键盘的设计
矩阵键盘开关接在P1口上,P1.0~P1.7,按键按下后相应的按键由高电平变为低电平,P1.0~P1.3为列。2.3.2软件设计1.主程序设计先将参数初始化,使数码管显示零,然后键盘行扫描,当扫描的键值为0到9时,数码管显示按下的键值,并且将按下的键值累加,存储在一个变量中;当扫描的键值为11时,单片机程序实现求均值功能,数码管显示均值结果;当扫描到的键值是10时,将数码管重新清零。键盘重复扫描,计算器实现重复工作。2.显示程序设计
当扫描程序返回的值为0到9并且按下开关的次数小于10次时,右边
的数码管选通显示按下的开关对应的数值;当按下开关的次数大于10时,右边的数码管选通并都显示零;当扫描程序返回的值为10时,两个数码管都选通且都显示零;当扫描程序返回的值为11时,左边数码管小数点亮,左边数码管显示个位数,右边数码管显示第一位小数。3.按键扫描程序设计逐次列扫描,第一列扫描时P1.0置低电平,然后P1.4到P1.6口依次置低电平,这样能够依次扫描出0、1、2开关,第二列和第三列扫描情况同上。4.系统程序#include&reg52.h&#define uchar unsigned char#define uint unsigned intuint num,temp,s1,s2,s3,count,ge,uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};void delay(uint z){uint x,y;for(x=z;x&0;x--)for(y=110;y&0;y--)
;}void display(uchar ge uchar yu) {
P2=table[ge];P0=0Delay (5);P2=table [yu];P0=0Delay(5);}void main(){s1=0;s2=0;s3=0;count=0;while(1){P1=0temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
temp=temp&0xf0;
while(temp!=0xf0)
switch(temp)
case 0xee:s1=0;
0xde:s1=1;
case 0xbe:s1=2;
} while(temp!=0xf0)
temp=temp&0xf0;
}}P1=0temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xed:s1=3;
case 0xdd:s1=4;
case 0xbd:s1=5;
}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}
}}P1=0temp=P1;temp=temp&0xf0;while(temp!=0xf0)
temp=temp&0xf0;
while(temp!=0xf0)
switch(temp)
case 0xeb:s1=6;
case 0xdb:s1=7;
case 0xbb:s1=8;
} while(temp!=0xf0)
temp=temp&0xf0;
count++;s3=s1*10;s2=s2+s3;}}P1=0xf7;temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=P1;switch(temp){case 0xe7:s1=9;count++;
s3=s1*10;s2=s2+s3;
0xd7:s1=0,s2=0,count=0;
} while(temp!=0xf0)
temp=temp&0xf0;
}shi=s2/count/100;ge=s2/count%100/10;yu=s2/count%100%10;display(ge, yu);}
}2.3.3、软硬件调试系统调试:根据系统设计方案,本系统的调试共分为两大部分:硬件调试,软件调试。(1)硬件调试对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。首先用数字万用表对实物板上的各元器件进行测试,在测试过程中,检验出一些错误,例如,数码管的a-g端所对应的引脚是哪一位,正确焊接电路。(2)软件调试软件调试采用单片机仿真器keil uVision及protus,将编好的程序进行调试,首先主要是检查语法错误。再进行仿真,检验各个子程序是否正确执行,和硬件模块的协调性。由于能力有限,程序中仍然存在很多错误,不能显示均值结果,经过大家互相讨论和别的同学的指点,最终能够正常显示出平均值。三、课程设计总结我们课程设计的题目是“求均值计算器”,看似简单,题目要求也不多,但是真正着手时才发现无从下手,虽然有两星期的时间,但是感觉非常的紧迫。究其原因是平时学习生活中,对单片机等理论知识不够精通,而且很多东西仅凭书本上的介绍根本没有办法实现。我们组有四个成员,令人欣慰的是,经过我们不懈的努力,课程设计取得一定的成果。我们是第一次遇到关于单片机这样的设计题目,通过亲身经历课程
设计的全过程,我们感觉在单片机领域,我们认识到的还远远不够,还有很多知识需要学习掌握,当我们通过自己的努力取得成果时,一种心理上的自豪感和成就感油然而生。而且,在课程设计过程中,我们认识到了团队协作的重要性,大家分工合作,感觉很充实。在查阅资料的过程中我还了解到了单片机的巨大应用市场,认识到其重要性。我想在以后的日子里,这个过程会成为我人生的美好而难忘的回忆,汗水是我们努力的过程,更是成功的使者。最后,我真心的感谢所有帮助过的同学们,还有实验室为大家不辞辛劳的各位老师!希望这样的课程设计能够继续下去,帮助更多的学生锻炼动手动脑的实践能力。四.心得体会三人一组的为期两周的单片机课程设计,虽然时间短,但是增强了动手能力,把课本知识与实践相结合,理论联系实际。同时也从这次课设中受益匪浅,感触最深的是,动手之前一定要清晰的设计思路,并且千万记得先检查电子器件的好坏,否则前功尽弃,比如我们组在焊接电路板是没有检查电路板的完好与连通性,电路板上的P1.0所在的连通的线路并没有导通,使得所焊接的键盘的第一列扫描不上而出现乱码;除此之外,还要在上电前,检查线路端口的极性,以免烧坏器件等问题。 实际和理论是有一定差距的五.参考文献[1]张毅刚.单片机原理及应用.高等教育出版社,2003[2]苏家键等.单片机原理及应用技术.北京:高等教育出版社,2004[3]钟睿.MCS-51 单片机原理及应用开发技术.北京:中国铁道出版社,2006
[4]蓝清华等.单片机应用教程.北京:清华大学出版社,1999[5]范蟠果.工控单片机原理及应用.北京:清华大学出版社,2007
附录一、系统原理图
附录二、PCB图
附录三、仿真图附释(在仿真图中我们运用了CD4511共阴极数码管驱动芯片,但在实际中我们却只用了共阳极数码管,时间仓促,没来得及修改,原因只是单片机最小系统上引脚覆铜存在断路,P3口无法实现动态显示的位扫描,主题原因不详,过多的耽误了时间)
上一篇: 下一篇:
All rights reserved Powered by
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。网站已改版,请使用新地址访问:
1602-calculator LCD 显示的计算器,使用STC89C52单片机,由于 浮点数限制,可以 6位数字运 SCM 开发 238万源代码下载-
&文件名称: 1602-calculator
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 41 KB
&&上传时间:
&&下载次数: 24
&&提 供 者:
&详细说明:LCD1602显示的计算器,使用STC89C52单片机,由于单片机浮点数限制,可以计算6位数字运算,大于这个长度,用科学计数法表示小数位精度后6位,大于6位按四舍五入-LCD1602 display calculator use STC89C52 MCU six digital operations, due to the limitations of the single-chip floating-point numbers can be calculated, is greater than the length, using scientific notation with 6 decimal digits of precision, greater than 6 to rounding
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&144-1602液晶显示的计算器\1602.c&&........................\1602.h&&........................\1602液晶显示计算器.Opt&&........................\1602液晶显示计算器.plg&&........................\1602液晶显示计算器.Uv2&&........................\1602液晶显示计算器_Opt.Bak&&........................\delay.c&&........................\delay.h&&........................\keyboard.c&&........................\keyboard.h&&........................\main.c&&........................\obj\1602.lst&&........................\...\1602.obj&&........................\...\1602液晶显示计算器&&........................\...\1602液晶显示计算器.hex&&........................\...\1602液晶显示计算器.lnp&&........................\...\1602液晶显示计算器.m51&&........................\...\1602液晶显示计算器.plg&&........................\...\delay.lst&&........................\...\delay.obj&&........................\...\keyboard.lst&&........................\...\keyboard.obj&&........................\...\main.lst&&........................\...\main.obj&&........................\obj&&144-1602液晶显示的计算器
&近期下载过的用户:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 很好的ETA5767程序C语言,给大家分享
&[] - 主要是用51单片机和1602实现计算器的功能,同时用键盘作为数值的输入
&[] - 51单片机 1602液晶 4*4矩阵键盘做的计算器程序
&[] - 4*4矩阵键盘输入,液晶1602显示的计算器.
有仿真文件和源程序
&[] - 51,1602实现计算器的加减乘除基本功能,还有时钟显示,修改,带仿真可直接运行,有些功能还待完善!
&[] - 简易计算器,实现加减乘除运算,内含原理图以及源程序,供研究
&[] - 用于浮点数转化为字符串,然后在FYD1001A中12864液晶屏显示。
&[] - 采用AT89s52单片机实现的计算器程序,含小数
&[] - 简易计算器设计,利用LCD1602显示,使用矩阵键盘控制
&[] - 单片机1602+矩阵(4x4)计算器
计算器(简易)的程序 矩阵键盘用51单片机,矩阵键盘,数码管制作的计算器c代码!!
#include &reg51.h&
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar code
table8[]={0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89};&&&&&
//最左边显示0-9&
uchar code
table7[]={0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99};&&
//左边倒数第二
uchar code
table6[]={0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9};&&
//左边倒数第二
uchar code
table5[]={0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9};
uchar code
table4[]={0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9};
uchar code
table3[]={0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9};&&
//左边倒数第二&
uchar code
table2[]={0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9};
uchar code
table1[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9};
datA;&&&&&
//过度数据
&& //加法标志位
&& //减法标志位
&& //乘法标志位
&& //除法标志位
& //溢出标志位
&& //数据处理标志位
&& //除法的非法标志位
//按键键值
//按键IO口状态值&&&
//IO口扫描结束
&& //键值获取结束
void delay_ms(uint
z)&&&&&&&&&&&&&&&&&&&&&
//1ms的延时函数&&&&
&uchar x,y;
&for(x=z;x&0;x--)
&&for(y=110;y&0;y--);
scankeyboard()&&&&&&&&&&&&&&&&&
//scankeyboard()函数(用于扫描键值)
{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//反转法测键值。。。
&P2=0x0f;&&&&&&&&&&&&&&&&&&&&&
&keycode=P2;
&if(keycode!=0x0f)
&&delay_ms(10);&&&&&&&&&&&&&&&&
//按键闭合消抖。。
&&P2=0xf0;
&&keycode=a|b;
&&while(P2!=0xf0);
&&delay_ms(10);//按键释放消抖。。
&&scanok=1;//键值测完后。。scanok置1。。。
checkkeycode(void)&&&&&&&
if(scanok)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//如果键值测完后,则执行以下。。。
scanok=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//scanok清零。。为下次使用准备
&&switch(keycode)&&&&&&&&&&&&&&&&&&&&&&
//用开关语句查找键值对应的逻辑功能...
&&&case 0xee:
keynum=0& ;& //数字键
&&&case 0xed:
keynum=1& ;
&&&case 0xdd:
keynum=2& ;
&&&case 0xbd:
keynum=3& ;
&&&case 0xeb:
keynum=4& ;
&&&case 0xdb:
keynum=5& ;
&&&case 0xbb:
keynum=6& ;
&&&case 0xe7:
keynum=7& ;
&&&case 0xd7:
keynum=8& ;
&&&case 0xb7:
keynum=9& ;
&&&case 0x77:
keynum=10 ;&& // +
&&&case 0x7b:
keynum=11 ;&& // -
&&&case 0x7d:
keynum=12 ;&& // *
&&&case 0x7e:
keynum=13 ;&& // /
&&&case 0xbe:
keynum=14 ;&& // =
&&&case 0xde:
keynum=15 ;&& //清零
&&checkok=1;&&&&&&&&&&&&&&&&&&&&&&&&
//查完后,checkok置1.
datpros(void)&&&&&&&&&&&&&&&&&&&&
//数据处理函数。。
if(keynum==15)&&&&&&&&&&&&&&&&&&&&&
//如果是15& 则认为是清零的& 进行清零
else&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//否则则认为是数字键 进行显示 存贮 并运算
&&if(clrflag)&&&&&&&&&&&&&&&&&&&
//清除标志为1,则执行以下。
&&{&&&&&&&&
&&&clrflag=0;&&&&&&&&&&&&&&&&
//为下次使用准备。
&&dat=dat*10+(ulong)&&&&
//将每次按的数字合成一个整体。。比如按下"1","2","3"后就会把它合成"123"
&&if(dat&)
overflow=1;
//如果输入值大于65535(所用的为int型数据,最大为65535)的话则溢出标志置1,可供显示程序查询并显示"EEEEEEE"
&&if(divflag&&!dat)
illegal=1;&&
//如果做除法时除了零,则非法标志置1,供显示程序查询
void add(void)
addflag++;&&&&&&&&&&&&&&&&&&&&&&&&&
//加法标志置1。。。
subflag=mulflag=divflag=0;&&&&&&&&&
//将其它运算标志清零。。(一次只能作一种运算)
clrflag=1;&&&&&&&&&&&&&&&&&&&&&&&&&
//清零标标置1,(当按下加号后,再按第二个加数时,这时应该显示第二加数。。所以要清掉第一个加数。)
if(addflag&1)&&&&&&&&&&&&&&&&&&&&&&
//此处用于边加。。
{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//当连续加的时候。。加号应有等于的功能。。
dat=dat+datA;&&&&&&&&&&&&&&&&&&
datA=&&&&&&&&&&&&&&&&&&&&&&
//和保存,用于下一次连加。。
}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//说明:比如进行"1+2+3"时,当按第二个加时,应该要显示1+2的和。。
datA=&&&&&&&&&&&&&&&&&&&&&
//如果不是连加,将输入的第一个加数暂存。。(因为显示程序只显示dat变量的值。)
void sub(void)
&& subflag++;
addflag=mulflag=divflag=0;
&& clrflag=1;
if(subflag&1)&&&&&&&&&&&&&&&
//连减。。
&& else datA=
void mul(void)
&& mulflag++;
addflag=subflag=divflag=0;
&& clrflag=1;
if(mulflag&1)&&&&&&&&&&&&&&&
&&dat=datA*
&& else datA=
void div(void)
&& divflag++;
addflag=subflag=mulflag=0;
&& clrflag=1;
if(divflag&1)
&&dat=datA/
&& else datA=
void equ(void)
if(addflag)&&&&&&&&&&&&&&&&&&&&&&&&&&
//如果些时做加法运算。。
dat=dat+datA;&&&&&&&&&&&&&&&&&&&&
//计算各存入dat(显示程序会将dat显示的。。)
&& if(subflag)
&& dat=datA-
&& if(mulflag)
&& dat=datA*
&& if(divflag)
addflag=subflag=mulflag=divflag=0;&&&
//运算一次完成后将所有运标志清零。为下次运算作准备。。
void display(void)
ge=0,shi=0,bai=0,qian=0,wan=0,shiwan=0,baiwan=0,qianwan=0;
&if(!overflow&&!illegal)
&&ge=&&&&&&&&&&&&&&&&&&&&&&&
//将数据分开然后分别显示
&&shi=dat0/10;
&&bai=dat00/100;
&&qian=dat000/1000;
&&wan=dat;
&&shiwan=dat;
&&baiwan=dat0000;
&&qianwan=dat00000;
&&P0=table1[ge];&&&&&&&&&&&&&&&&&&
//个位显示
&&delay_ms(2);
&&P0=table2[shi];&
&&&&&&&&&&&&&
//十位显示
&&delay_ms(2);
&&P0=table3[bai];&
&&&&&&&&&&&&&
//百位显示
&&delay_ms(2);
&&P0=table4[qian];&
&&&&&&&&&&&&&
//千位位显示
&&delay_ms(2);&&&
&&P0=table5[wan];&
&&&&&&&&&&&&&
//wan位显示
&&delay_ms(2);
&&P0=table6[shiwan];&&&&&&&&&&&&&&
//个位显示
&&delay_ms(2);
&&P0=table7[baiwan];&&&&&&&&&&&&&&
//个位显示
&&delay_ms(2);
&&P0=table8[qianwan];&&&&&&&&&&&&&
//个位显示
&&delay_ms(2);
&&P0=table1[0];&
void calculate_handle(void)//计算大函数。。
&if(checkok)//如果检测键值完万。。则执行以下。。
&&checkok=0;//检测完标志清零..
(keynum)//如果是+,-,*,/,=则进入相应的函数。。
&&&case 10 :
//如果是按了"+",则进入加法函数。
11&: sub();
//如果是按了"-",则进入加法函数。
&&&case 12 :
//如果是按了"*",则进入加法函数。
&&&case 13 :
//如果是按了"/",则进入加法函数。
14&: equ();
//如果是按了"=",则进入加法函数。
&&&default :
datpros();&&&&&&
//如果不是,计算符(即为数字),则进入数据处理函数。
void main(void)
&&scankeyboard();&&&&
&&checkkeycode();
&&calculate_handle();
&&display();
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&>&基于51单片机的超强科学计算器(数字可处理10e-38~10e38,7位有效数字,精确到小数后六位)
基于51单片机的超强科学计算器(数字可处理10e-38~10e38,7位有效数字,精确到小数后六位)
上传大小:83KB
基于51单片机的超强科学计算器,用LCD1602显示,
键盘6X6共36个键,可以实现一般科学计算器的大部分功能,具体指标如下:
1、数字可处理10e-38~10e38
2、7位有效数字
3、精确到小数后六位
4、操作出错提醒
5、用户可很方便的自行DIY增加功能
综合评分:4.3(19位用户评分)
所需积分:
下载个数:90
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有13条
非常不错,完美
一般,计算器程序虽然看似很不起眼,但是是打基本功的好东西,单片机初学者应当多吸收学习
非常不错,完全解决了我的课业设计,感谢
看看学习,很好,就是没有电路图,没有仿真
不错的资料
很一般,没原理图。没有高级三角计算函数。
还不错,用作学习也好。
资源很好,可惜没有原理图做参考。。
看看还不错
建议大家下载
很好的程序,学习单片机的好资料
审核通过送C币
c自学入门到进阶
创建者:weixin_
Setup Factory合集(6.0~9.5)
创建者:caozhy
上传者其他资源上传者专辑
基于AT89S52的多功能八路抢答器完整版(包含论文、完整代码和原理图、PCB等)
开发技术热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
基于51单片机的超强科学计算器(数字可处理10e-38~10e38,7位有效数字,精确到小数后六位)
会员到期时间:剩余下载个数:
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
VIP年卡全年1200个资源免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
jason13_lwj
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:

我要回帖

更多关于 avr单片机计算器 的文章

 

随机推荐