电子计算器7441819683.doc

上传人:scccc 文档编号:14086130 上传时间:2022-02-01 格式:DOC 页数:13 大小:126.50KB
返回 下载 相关 举报
电子计算器7441819683.doc_第1页
第1页 / 共13页
电子计算器7441819683.doc_第2页
第2页 / 共13页
电子计算器7441819683.doc_第3页
第3页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《电子计算器7441819683.doc》由会员分享,可在线阅读,更多相关《电子计算器7441819683.doc(13页珍藏版)》请在三一文库上搜索。

1、重庆科技学院课程设计报告院(系):电气与信息工程学院专业班级:计科普08学生姓名:谌洪舟学 号:2008441100设计地点(单位)1512设计题目:一电子计算器完成日期:2011年01月05日指导教师评语:成绩(五级记分制):指导教师(签字):重庆科技学院课程设计任务书设计题目:电子计算器学生姓名谌洪舟课程名称嵌入式体系结构与接口技术课程设计专业班级计算机科学与技术2008地点I512起止时间2010年12月27日2011年1月7日设 计 内 容 及 要 求一、设计任务设计一个具有加减乘除功能的计算器,带三角函数、指数函数、对数函数 计算功能,科学计数法表示。设 计 参 数本设计任务是设计一

2、个计算器。系统硬件较为简单,主要模块即是键盘与显示。另外可加一蜂鸣器在出错时报警。由于系统硬件比较简单,硬件采用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体

3、系结构与编程,杜春雷,清华大学出版社,2007;苴丿、它说明1 .本表应在母次头施前一周由负责教师填与一份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。3. 一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:指导教师: 冯骊骁2010年12月10日摘要嵌入式系统是后PC时代被广泛使用的计算机平台,它通常都具有低功耗、体积小、 功能强、集成度高等优点。此设计一个具有加减乘除功能的计算器,硬件采用 ZLG2410 实验箱的矩阵键盘和数码管,控制芯片为ZLG729Q此计算器能够实现整数和小数的加减 乘除的计算功能,并用 led 数码管动态显示,操作

4、简单、实用。通过此课程设计,对 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 设计内容与要求设计一个具有加减乘除功能

5、的计算器,带三角函数、指数函数、对数函数计算功能, 科学计数法表示。1.2 设计参数本设计任务是设计一个计算器。系统硬件较为简单,主要模块即是键盘与显示。另外可加一蜂鸣 器在出错时报警。 由于系统硬件比较简单,硬件采用 ZLG2410 实验箱的矩阵键盘和数码管,控制芯 片为 ZLG7290 。2概要设计本电子计算器包括键盘和数码管显示,从键盘输入数据和符号的一个具有加减乘除 功能的计算器。并用led数码管动态显示,操作简单、实用。功能框图KevifeyUo)RepeatCntDIH-02+SC.-*SDA/NTjnctirKeyFasiPrssCntDig: SystemRegVCCVCCGK

6、DFlaOrOffScanNumf CmdBuR-2DigO -+DpRamO-7图1系统功能框架图3 详细设计3.1 键盘部分ZLG7290 64 可采样 64 个按键或传感器,其基本功能如下: (1)键盘去抖动处理 当键盘按下和放开时,可能会出现电平状态反复变化,称作键盘抖动。若不处理会 引起按键命令错误,所以要进行去抖动处理,以读取稳定的键盘状态为准。(2)双键互锁处理 当有两个以上按键被同时按下 时, ZLG7290 64 只采样优先级最 高的按键(S1S2S3 .S64)。3.2 显示部分表 1 按位下载数据且译码指令其中A3A0为显示缓存编号(范围为:0000B011B,DP=1时

7、点亮该位小数点,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 = rGPA

8、CON & (121);rGPHCON = (rGPHCON & (0x0320) | (0x010 & 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; fl

9、ag = 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 = Valu

10、e (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(result0) 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();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


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