欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    电子计算器7441819683.doc

    • 资源ID:14086130       资源大小:126.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子计算器7441819683.doc

    重庆科技学院课程设计报告院(系):电气与信息工程学院专业班级:计科普08学生姓名:谌洪舟学 号:2008441100设计地点(单位)1512设计题目:一电子计算器完成日期:2011年01月05日指导教师评语:成绩(五级记分制):指导教师(签字):重庆科技学院课程设计任务书设计题目:电子计算器学生姓名谌洪舟课程名称嵌入式体系结构与接口技术课程设计专业班级计算机科学与技术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嵌入式系统开发-软件设计与优化,An drew N.SIoss,沈建华(译),北京航空 航天大学出版社,2005;2、 ARM体系结构与编程,杜春雷,清华大学出版社,2007;苴丿、它说明1 .本表应在母次头施前一周由负责教师填与一份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。3. 一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:指导教师: 冯骊骁2010年12月10日摘要嵌入式系统是后PC时代被广泛使用的计算机平台,它通常都具有低功耗、体积小、 功能强、集成度高等优点。此设计一个具有加减乘除功能的计算器,硬件采用 ZLG2410 实验箱的矩阵键盘和数码管,控制芯片为ZLG729Q此计算器能够实现整数和小数的加减 乘除的计算功能,并用 led 数码管动态显示,操作简单、实用。通过此课程设计,对 MagicARM241(实验箱操作更加熟悉,对 ADS1.2的编程和调试 更加灵活。较好的熟悉并掌握了 ZLG7290的操作原理和编程,以及led数码管的显示原 理及编程,对以后学习有一定的帮助。关键词: MagicARM2410 ADS1.2 ZLG7290 led 数码管目录1 系统需求分析 11.1 设计内容与要求 11.2 设计参数 12 概要设计 23 详细设计 33.1 键盘部分 33.2 显示部分 33.3 流程图 43.4 功能函数 54 测试 115 总结致谢 126 参考文献 131 系统需求分析1.1 设计内容与要求设计一个具有加减乘除功能的计算器,带三角函数、指数函数、对数函数计算功能, 科学计数法表示。1.2 设计参数本设计任务是设计一个计算器。系统硬件较为简单,主要模块即是键盘与显示。另外可加一蜂鸣 器在出错时报警。 由于系统硬件比较简单,硬件采用 ZLG2410 实验箱的矩阵键盘和数码管,控制芯 片为 ZLG7290 。2概要设计本电子计算器包括键盘和数码管显示,从键盘输入数据和符号的一个具有加减乘除 功能的计算器。并用led数码管动态显示,操作简单、实用。功能框图KevifeyUo)RepeatCntDIH-02+SC.-*SDA>/NTjnctirKeyFasiPrssCntDig: <扫型LEDL> SystemRegVCCVCCGKDFlaOrOffScanNumf CmdBuR-2DigO -+DpRamO-7图1系统功能框架图3 详细设计3.1 键盘部分ZLG7290 64 可采样 64 个按键或传感器,其基本功能如下: (1)键盘去抖动处理 当键盘按下和放开时,可能会出现电平状态反复变化,称作键盘抖动。若不处理会 引起按键命令错误,所以要进行去抖动处理,以读取稳定的键盘状态为准。(2)双键互锁处理 当有两个以上按键被同时按下 时, ZLG7290 64 只采样优先级最 高的按键(S1>S2>S3> .>S64)。3.2 显示部分表 1 按位下载数据且译码指令其中A3A0为显示缓存编号(范围为:0000B011B,DP=1时点亮该位小数点,Flash=1时该位闪烁显示,Flash=0 时该位正常显示。表 2 D4D0 显示的数据本设计的电路原理图图2电路原理图3.3流程图图3程序流程图3.4功能函数主函数部分int mai n( void)uin t16 key;int j = 0;int num=0;float fst=0,s nd=0,result=0;un sig ned char i=0,flag=0;int bz=0,bzct=0;/ int x=0,y=0;/ A 口,RUN 灯控制口 (GPA21)/ rGPHCON21:20 = 01b,设置 GPH10/ GPIO设置rGPACON = rGPACON & (1<<21);rGPHCON = (rGPHCON & (0x03<<20) | (0x01<<20); 为I/O输出模式II初始化I2C接口In itI2C();Run Beep();Clea n();II读取按键,设置键值对应的显示while(1)DelayNS(l);key = ZLG7290_GetKey();if(key&0xFF00) = 0)key = key&0x00FF;if( key>0 && key<=10)yiwei(num);/ 后移 disp_buf0 = key-1;num+ ;ZLG7290_SendBuf(uint8 *)disp_buf,num);if(bz=1)bzct+;while(ZLG7290_GetKey() = key);if(key = 11) / .disp_buf0 += 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) /* 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)case 1: result = fst+snd; Clean();Result (result); flag = 0;bz=0;bzct=0;break;case 2: result = fst-snd; if(result<0) result=-result; Clean(); Result (result); flag = 0; bz=0; bzct=0; break;case 3: result = fst*snd; Clean(); Jieguo(result); flag = 0; bz=0; bzct=0; break;case 4: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();

    注意事项

    本文(电子计算器7441819683.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开