电子计算器7441819683

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

重庆科技学院课程设计报告院(系):_电气与信息工程学院_专业班级:计科普08学生姓名:谌洪舟学号:2008441100设计地点(单位)______I512__________设计题目:____电子计算器_____________完成日期:2011年01月05日指导教师评语:_______________________________________________________________________________________________________________________成绩(五级记分制):________________指导教师(签字):________________重庆科技学院《嵌入式体系结构与接口技术》课程设计报告I重庆科技学院课程设计任务书设计题目:电子计算器学生姓名谌洪舟课程名称嵌入式体系结构与接口技术课程设计专业班级计算机科学与技术2008地点I512起止时间2010年12月27日~2011年1月7日设计内容及要求一、设计任务设计一个具有加减乘除功能的计算器,带三角函数、指数函数、对数函数计算功能,科学计数法表示。设计参数本设计任务是设计一个计算器。系统硬件较为简单,主要模块即是键盘与显示。另外可加一蜂鸣器在出错时报警。由于系统硬件比较简单,硬件采用ZLG2410实验箱的矩阵键盘和数码管,控制芯片为ZLG7290。进度要求此题为必做题,进度根据自身情况掌握。12月27日--12月27日明确设计任务,学习相关知识;12月28日--12月28日查阅相关资料,进行基础练习;12月29日--12月30日根据题目要求,进行设计和实现;12月31日--12月31日编写代码、测试程序。参考资料1、ARM嵌入式系统开发-软件设计与优化,AndrewN.Sloss,沈建华(译),北京航空航天大学出版社,2005;2、ARM体系结构与编程,杜春雷,清华大学出版社,2007;其它说明1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:指导教师:冯骊骁2010年12月10日重庆科技学院《嵌入式体系结构与接口技术》课程设计报告II摘要嵌入式系统是后PC时代被广泛使用的计算机平台,它通常都具有低功耗、体积小、功能强、集成度高等优点。此设计一个具有加减乘除功能的计算器,硬件采用ZLG2410实验箱的矩阵键盘和数码管,控制芯片为ZLG7290。此计算器能够实现整数和小数的加减乘除的计算功能,并用led数码管动态显示,操作简单、实用。通过此课程设计,对MagicARM2410实验箱操作更加熟悉,对ADS1.2的编程和调试更加灵活。较好的熟悉并掌握了ZLG7290的操作原理和编程,以及led数码管的显示原理及编程,对以后学习有一定的帮助。关键词:MagicARM2410ADS1.2ZLG7290led数码管重庆科技学院《嵌入式体系结构与接口技术》课程设计报告III目录1系统需求分析.............................................................11.1设计内容与要求.......................................................11.2设计参数.............................................................12概要设计.................................................................23详细设计.................................................................33.1键盘部分.............................................................33.2显示部分.............................................................33.3流程图...............................................................43.4功能函数.............................................................54测试....................................................................115总结致谢................................................................126参考文献................................................................13重庆科技学院《嵌入式体系结构与接口技术》课程设计报告11系统需求分析1.1设计内容与要求设计一个具有加减乘除功能的计算器,带三角函数、指数函数、对数函数计算功能,科学计数法表示。1.2设计参数本设计任务是设计一个计算器。系统硬件较为简单,主要模块即是键盘与显示。另外可加一蜂鸣器在出错时报警。由于系统硬件比较简单,硬件采用ZLG2410实验箱的矩阵键盘和数码管,控制芯片为ZLG7290。重庆科技学院《嵌入式体系结构与接口技术》课程设计报告22概要设计本电子计算器包括键盘和数码管显示,从键盘输入数据和符号的一个具有加减乘除功能的计算器。并用led数码管动态显示,操作简单、实用。图1系统功能框架图重庆科技学院《嵌入式体系结构与接口技术》课程设计报告33详细设计3.1键盘部分ZLG729064可采样64个按键或传感器,其基本功能如下:(1)键盘去抖动处理当键盘按下和放开时,可能会出现电平状态反复变化,称作键盘抖动。若不处理会引起按键命令错误,所以要进行去抖动处理,以读取稳定的键盘状态为准。(2)双键互锁处理当有两个以上按键被同时按下时,ZLG729064只采样优先级最高的按键(S1S2S3….S64)。3.2显示部分表1按位下载数据且译码指令其中A3~A0为显示缓存编号(范围为:0000B~011B),DP=1时点亮该位小数点,Flash=1时该位闪烁显示,Flash=0时该位正常显示。表2D4~D0显示的数据重庆科技学院《嵌入式体系结构与接口技术》课程设计报告4本设计的电路原理图图2电路原理图3.3流程图否是图3程序流程图初始化把对应的数保存到数组yiwei(num)按键键值是否为1~11?键值不是13时,fst=Shuzhi(num,bzct);键值为13时,snd=Shuzhi(num,bzct);result=fst+(-、*、/)snd,调用Jieguo(result)返回重庆科技学院《嵌入式体系结构与接口技术》课程设计报告53.4功能函数主函数部分intmain(void){uint16key;intj=0;intnum=0;floatfst=0,snd=0,result=0;unsignedchari=0,flag=0;intbz=0,bzct=0;//intx=0,y=0;//GPIO设置rGPACON=rGPACON&(~(121));//A口,RUN灯控制口(GPA21)rGPHCON=(rGPHCON&(~(0x0320)))|(0x0120);//rGPHCON[21:20]=01b,设置GPH10为I/O输出模式//初始化I2C接口InitI2C();RunBeep();Clean();//读取按键,设置键值对应的显示while(1){DelayNS(1);key=ZLG7290_GetKey();if((key&0xFF00)==0){key=key&0x00FF;}if(key0&&key=10){yiwei(num);//后移disp_buf[0]=key-1;重庆科技学院《嵌入式体系结构与接口技术》课程设计报告6num++;ZLG7290_SendBuf((uint8*)disp_buf,num);if(bz==1)bzct++;while((ZLG7290_GetKey())==key);}if(key==11)//.{disp_buf[0]+=0x80;bz=1;while((ZLG7290_GetKey())==key);}if(key==12)//+{fst=Value(num,bzct);num=0;flag=1;bz=0;bzct=0;Clean();while((ZLG7290_GetKey())==key);}if(key==14)//-{fst=Value(num,bzct);num=0;flag=2;bz=0;bzct=0;Clean();while((ZLG7290_GetKey())==key);}if(key==15)//*重庆科技学院《嵌入式体系结构与接口技术》课程设计报告7{fst=Value(num,bzct);num=0;flag=3;bz=0;bzct=0;Clean();while((ZLG7290_GetKey())==key);}if(key==16)///{fst=Value(num,bzct);num=0;flag=4;bz=0;bzct=0;Clean();while((ZLG7290_GetKey())==key);}if(key==13)//ENter{RunBeep();snd=Value(num,bzct);num=0;switch(flag){case1:result=fst+snd;Clean();Result(result);flag=0;bz=0;bzct=0;break;case2:result=fst-snd;if(result0)result=-result;Clean();重庆科技学院《嵌入式体系结构与接口技术》课程设计报告8Result(result);flag=0;bz=0;bzct=0;break;case3:result=fst*snd;Clean();Jieguo(result);flag=0;bz=0;bzct=0;break;case4:if(snd==0)break;result=fst/snd;Clean();Result(result);flag=0;bz=0;bzct=0;break;}while((ZLG7290_GetKey())==key);}//if(key==13&&key==1)//clean();}return(0);}重要函数部分voidClean()//清零{unsignedchari;for(i=0;i8;i++)disp_buf[i]=0x1f;disp_buf[0]=0;ZLG7290_SendBuf((uint8*)disp_buf,8);重庆科技学院《嵌入式体系结构与接口技术》课程设计报告9}voidyiwei(intn){//后移unsignedchari;for(i=n;i0;i--){disp_buf[i]=disp_buf[i-1];}}intValue(intcount,intbc)//取值{unsignedchari=0,j=bc;floatsum=0;if(bc!=0){//有小数sum=sum+(disp_buf[bc]-0x80);//个位}elsesum+=disp_buf[bc];//个位for(i=0;ibc;i++){sum=sum+disp_buf[i]/pow(10,(bc-i));//小数部分}for(i=1;i(count-bc);i++){sum=sum+disp_buf[j+1]*pow(10,i);//整数部分除去个位}retur

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功