单片机课程设计十进制加法计算器设计(编辑修改稿)内容摘要:
单片机课程设计报告 12 图六 三位数码管的显示电路 软件设计 在十进制加法计算器的软件规划要求下, 简易计算器的程序主要包括以下功能模块:( 1) 主模块,为系统的初始化。 ( 2) 显示与读键模块,分为判键程序段、运算操作子程序、显示子程序等部分; 计 (一) 系统模块图 单片机课程设计报告 13 单片机晶 振 电 路复 位 电 路矩 阵 按 键 电 路L E D 显 示 电 路运 算 法 则 指 示 灯 图七 系统模块图 此系统包括晶振电路、复位电路、 LED显示电路、矩阵按键电路运算法则指示灯以及单片机。 其中通过输入键盘模块将数字 0~9和运算符号“ +”、“ ”、“ *”、“ /”输入单片机进行运算;运算模块分别根据输入的运算符进行加减乘除运算;显示模块将运算后的数值通过动态扫描使之在数码管上输出。 (二) 系统总流程图 主程序主要是用来进行初始化的,调用其他子程序,清空各个 标志位,清空缓存区,读取键码,判断功能,在 LED上作出回应,主程序流程图如图六所示。 ( 1) 数字送显示缓冲程序设计 简易计算器所显示的数值最大位三位。 要显示数值,先判断数值大小和位数,如果是超过三位或大于 255,将不显示数字。 可重新输入数字,再次计算。 (2) 运算程序的设计 单片机课程设计报告 14 首先初始化参数,送 LED三位显示 “0”,其它位不显示。 然后扫描键盘看是否有键输入,若有,读取键码。 判断键码是数字键、清零键还是功能键,是数值键则送 LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是 “=”还是运算键,若是 “=”则计算最后结果并送 LED显示,若是运算键则保存相对运算程序的首地址。 显示与按键设计 (一) LED显示程序设计 LED显示器由七段发光二极管组成,排列成 8字形状,因此也称为七段 LED显示器。 为了显示数字或符号,要为 LED显示器提供代码,即字形代码。 七段发光二极管,再加上一个小数点位,共计 8段,因此提供的字形代码的长度正好是一个字节。 简易计算器用到的数字 0~9的共阳极字形代码如下表: 显示字型 g f e d c b a 段码 0 0 1 1 1 1 1 1 0c0h 1 0 0 0 0 1 1 0 0f9h 2 1 0 1 1 0 1 1 0a4h 3 1 0 0 1 1 1 1 0b0h 4 1 1 0 0 1 1 0 99h 5 1 1 0 1 1 0 1 92h 6 1 1 1 1 1 0 1 82h 7 0 0 0 0 1 1 1 0f8h 8 1 1 1 1 1 1 1 80h 9 1 1 0 1 1 1 1 90h 表一 共阳极数码管段码对照表 (二 ) 读键子程序设计 单片机课程设计报告 15 为了实现键盘的数据输入功能和命令处理功能,每个键都 有其处理子程序,为此每个键都对应一个码 ——键码。 为了得到被按键的键码,现使用行扫描法识别按键。 其程序框图如图八: 读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。 第一次所有列线均输出低电平,从所有读入键盘信息(行信息);第二次所有行线均输出低电平,从所有行线读入键盘信息(列信息)。 将两次读键信息进行组合就可以得到按键的特征编码,然后通过查表得到按键的顺序编码。 将各特征编码按希望的顺序排成一张表,然后用当前读得的特征码来查表。 当表中有该特征码时,它的位置就是对应的顺序编码;当表中没有该特征 码时,说明这是一个没有定义的键码,与没有按键( 0FFH)同等看待。 (三 ) 流程图 单片机课程设计报告 16 图八 计算键值子程序流程图 (四) 源程序 RESULT EQU 60H RESULT1 EQU 61H FUNCTIONKEY EQU 62H ORG 00H START: MOV R3,0 MOV FUNCTIONKEY,0 MOV 32H,00H MOV 33H,00H MOV 34H,00H MLOOP: CALL DISP。 调显示子程序 WAIT: CALL TESTKEY。 判断有无按键 JZ WAIT CALL GETKEY。 读键 单片机课程设计报告 17 INC R3。 按键个数 CJNE A,0,NEXT1。 判断是否数字键 LJMP E1。 转数字键处理 NEXT1: CJNE A,1,NEXT2 LJMP E1 NEXT2: CJNE A,2,NEXT3 LJMP E1 NEXT3: CJNE A,3,NEXT4 LJMP E1 NEXT4: CJNE A,4,NEXT5 LJMP E1 NEXT5: CJNE A,5,NEXT6 LJMP E1 NEXT6: CJNE A,6,NEXT7 LJMP E1 NEXT7: CJNE A,7,NEXT8 LJMP E1 NEXT8: CJNE A,8,NEXT9 LJMP E1 NEXT9: CJNE A,9,NEXT10 LJMP E1 NEXT10: CJNE A,10,NEXT11。 判断是否功能键 LJMP E2。 转功能键处理 NEXT11: CJNE A,11,NEXT12 LJMP E2 NEXT12: CJNE A,12, NEXT13 LJMP E2 NEXT13: CJNE A,13,NEXT14 LJMP E2 NEXT14: CJNE A,14,NEXT15 LJMP E2 NEXT15: LJMP E3。 判断是否清除键 E1: CJNE R3,1,N1。 判断第几次按键 LJMP E11。 为第一个数字 N1: CJNE R3,2,N2 LJMP E12。 为第二个数字 N2: CJNE R3,3,N3 LJMP E13。 为第三个数字 N3: LJMP E3。单片机课程设计十进制加法计算器设计(编辑修改稿)
相关推荐
变电站 综合自动化系统提供可靠 方便 的人机对话 功能 , 使技术 人员 通过计算机很方便的做出对开关,变压器转接头,刀闸等操作。 并且软硬件上的自动化设计完全能满足操作上的安全、可靠,准确,快速的技术要求。 其中 操作方式分为遥控 操作和 手动操作 两种方式。 遥控 操作方式: 当调度端发出遥控开关或遥调变压器分接头的命令后,该系统能可靠的执行。 手动操作分xxx 学院本科毕业设计(论文 )
4 分) 十、阅读短文,回答问题。 ( 26 分) (一)课内阅读 我看见过波澜( n225。 n l225。 n)壮阔的大海,玩赏过水平如镜的西湖,却从没有看见过漓江这样的水。 漓江的水真静啊,静得让你感觉不到它在流动;漓江的水真清啊,清得可以看见江底的沙石;漓江的水真绿啊,绿得仿佛那是一块无瑕 (xi225。 x225。 )的翡翠。 船桨激起的微波扩散出一道道水纹,才让你感觉到船在前进
硬质制品200200~600600~1000100012平 面 镀锌铁丝和20 捆扎间距:硬质保温制品不应大于400mm,半硬质保温制品不应大于300mm,软质保温制品不应大于200mm。 每块保温制品上至少要捆扎两道。 保温层分层敷设时,应逐层捆扎。 对有振动的部位应适当加强捆扎。 铁丝铰接头必须放在轴向对缝处, 拧紧后的铁丝铰接头要随手掀入缝内。 膨胀缝施工要求 法兰连接处, 须留有拆卸间隙
分)化学危险品储存方式有哪几种。 (9分)写出目前我院使用的危险化学品(5种以上)(15分)医院危险品安全知识培训培训测试题科室 姓名 得分 一、填空题(每空2分,共40分)化学危险品严禁露天堆放,必须有 管理。 危险化学品必须储存于 、 或。 采购危险化学品时具备危险化学品 和 ,有与危
述: 负责办公室内部管理工作 工作 负责分院有关资料的保密工作 分院主任 微机室 行政后勤 办公室 药剂科 财务科 医务科 四 任务 协助分院领导对院内各岗位职责与工作流程的实施 指导下属员工制定年度工作计划并督促执行 指导下属做好院内安全、保卫、卫生、食堂、水电的管理和监督 负责内部人员工作分配 职 责 五 职责表述: 其他日常工作 工作 任务 本部门年、季、月度计划及总结
etin 公告 id bigint 20 否 id bulletinTitle varchar 255 否 bulletinContent text 0 否 Picture 照片 id bigint 19 否 id pictureName varchar 1024 否 picturePath varchar 128 否 pictureDescribing varchar 128 否 time