单片机随机数字课程设计报告.doc下载

weixin_39820780 2023-03-19 15:30:19
上海电机学院课程设计任务书 "课程名称 "微机原理及接口技术课程设计 "课程代码 "013084P1 " "设计题目 "数字显示游戏机 " "设计时间 "2013年12月16日-2013年12月27日 " "院(系) "电气学院 "专业 "测控技术与仪器"班级 "BG1107/1108" "一、课程设计任务 " "功能描述:设定开关1启动游戏,开关2停止游戏。编程使LED数码管显示不 " "同的从0~99的随机数(不能有规律显示)。利用开关3作为自锁控制按钮, " "当按钮被按下,LED数码管上的数字固定在当前显示的数值上,再次按下开 " "关3,重新开始。 " "二、课程设计成果要求(包括课程设计说明书、图纸、图表、软硬件等要求" ") " "1,课程设计报告; " "2,系统方案,画出系统框图; " "3,分析工作原理、画出硬件电路原理图; " "4,画出程序框图,给出程序清单; " "5,写出系统调试分析结果 " "三、课程设计工作进度计划 " "星期一:设计硬件电路,焊接电路板; " "星期二:编写程序,调试并编译生成.hex文件; " "星期三:烧录程序,结合硬件调试程序; " "星期四:演示结果,撰写课程设计报告; " "星期五:修改报告,打印并答辩。 " "四、主要参考资料 " "1.《单片机原理及应用》张毅刚主编,高教出版社,2012.11 " "2.C51单片机有关教材和文献资料 " 指导教师(签名): 李皎洁 系主任(签名):高桂革 2013 年 12月20日 2013年 12月20日 摘要:本课程设计所设计的数字显示游戏机的控制是以单片机AT89C51为核心,在满足单 片机最小系统时钟电路和复位电路的基础上设计以键盘扫描和中断服务系统的外围电路 来实现其功能。该数字显示游戏机在proteus仿真中可以实现产生0- 99的随机数、自锁显示LED数码管显示固定数值和启动停止功能。 关键词:游戏机 单片机AT89C51 Proteus仿真 目录 第一章 引言 3 第二章 系统设计方案 3 2.1 设计思路 3 第三章 设计原理分析 4 3.1 硬件电路设计 4 3.3.1 时钟电路设计 5 3.3.2 复位电路设计 6 3.3.3 数码管显示电路设计 6 3.3.4 键盘扫描电路设计 8 3.3.5 外部中断设计 8 3.2程序流程图设计 9 第四章 系统调试与仿真 11 4.1 系统调试出现的问题 11 4.1.1 按键3的自锁功能不起作用 11 4.1.2 不能连续产生随机数 13 4.2 源程序 15 4.3 系统仿真 17 4.3.1 按下开关按钮1连续产生随机数示意图 17 4.3.2 按下开关按钮3静态显示数码管示意图 18 4.3.3 按开关按钮2关闭数码管示意图 18 第五章 课设体会与小结 19 第六章 参考文献 19 第一章 引言 随机数已广泛地应用于仿真、抽样、数值分析、计算机程序设计、决策、美学和娱乐 之中。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作 为发生源的真随机数发生器。要获取真正随机的真随机数,常使用硬件随机数发生器的 方法来获取。每次获取的真随机数都是不可测的,具有很好的随机性。真随机数因其随 机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛应用,构建一种 基于硬件真随机数发生源,具有广泛的应用价值。 但目前硬件真随机数发生源均较复杂,而且很少有基于单片机的真随机数发生器。本 文利用单片机AT89S51的特点设计了一种性价比极高的真随机数发生器。该随机数发生器 使用元件很少,稳定性高,对一些价格敏感的特殊场合,如金融、通信、娱乐设备等有 较大的应用意义,此外,此游戏机作为生活上的抽奖游戏也有性价比高的优势,可以广 泛应用与推广。 第二章 系统设计方案 2.1 设计思路 按钮1启动游戏:开关和按钮的使用可以使用键盘扫描程序和中断服务程序两种,考 虑到游戏的启动和运行是在主程序上运行,因此只要简单的使用独立式键盘扫描程序对 按钮的状态进行检测即可,按键接到单片机的P1引脚上,用一个上拉电阻保证按键未按 下时,保证对应的I/O口线为稳定的高电平,当某一按键按下时,对应的I/O口线就变成 了低电平,与其他按键相连的I/O口线仍为低电平,就很容易识别出哪个键被按下。因此 把开关1接到P1口,用键盘扫描程序即可实现其功能。 开关2停止游戏:要求按下该开关数码显示管关闭,由于采用共阳极数码管显示电路 ,两管所对应的I/O端口为高电平即可控制数码管的亮灭。通过键盘的扫描程序,扫描P 1引脚,如果扫描到按钮2被按下后,引脚2控制P0口的引脚状态为0XFF,即可实现数码管 关闭的功能。 产生随机数:功能为使LED数码管显示不同的从0~99的随机数(不能有规 , 相关下载链接:https://download.csdn.net/download/qq_43934844/87506380?utm_source=bbsseo
...全文
9 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
上海电机学院课程设计任务书 "课程名称 "微机原理及接口技术课程设计 "课程代码 "013084P1 " "设计题目 "数显示游戏机 " "设计时间 "2013年12月16日-2013年12月27日 " "院(系) "电气学院 "专业 "测控技术与仪器"班级 "BG1107/1108" "一、课程设计任务 " "功能描述:设定开关1启动游戏,开关2停止游戏。编程使LED数码管显示不 " "同的从0~99的随机数(不能有规律显示)。利用开关3作为自锁控制按钮, " "当按钮被按下,LED数码管上的数固定在当前显示的数值上,再次按下开 " "关3,重新开始。 " "二、课程设计成果要求(包括课程设计说明书、图纸、图表、软硬件等要求" ") " "1,课程设计报告; " "2,系统方案,画出系统框图; " "3,分析工作原理、画出硬件电路原理图; " "4,画出程序框图,给出程序清单; " "5,写出系统调试分析结果 " "三、课程设计工作进度计划 " "星期一:设计硬件电路,焊接电路板; " "星期二:编写程序,调试并编译生成.hex文件; " "星期三:烧录程序,结合硬件调试程序; " "星期四:演示结果,撰写课程设计报告; " "星期五:修改报告,打印并答辩。 " "四、主要参考资料 " "1.《单片机原理及应用》张毅刚主编,高教出版社,2012.11 " "2.C51单片机有关教材和文献资料 " 指导教师(签名): 李皎洁 系主任(签名):高桂革 2013 年 12月20日 2013年 12月20日 摘要:本课程设计所设计的数显示游戏机的控制是以单片机AT89C51为核心,在满足单 片机最小系统时钟电路和复位电路的基础上设计以键盘扫描和中断服务系统的外围电路 来实现其功能。该数显示游戏机在proteus仿真中可以实现产生0- 99的随机数、自锁显示LED数码管显示固定数值和启动停止功能。 关键词:游戏机 单片机AT89C51 Proteus仿真 目录 第一章 引言 3 第二章 系统设计方案 3 2.1 设计思路 3 第三章 设计原理分析 4 3.1 硬件电路设计 4 3.3.1 时钟电路设计 5 3.3.2 复位电路设计 6 3.3.3 数码管显示电路设计 6 3.3.4 键盘扫描电路设计 8 3.3.5 外部中断设计 8 3.2程序流程图设计 9 第四章 系统调试与仿真 11 4.1 系统调试出现的问题 11 4.1.1 按键3的自锁功能不起作用 11 4.1.2 不能连续产生随机数 13 4.2 源程序 15 4.3 系统仿真 17 4.3.1 按下开关按钮1连续产生随机数示意图 17 4.3.2 按下开关按钮3静态显示数码管示意图 18 4.3.3 按开关按钮2关闭数码管示意图 18 第五章 课设体会与小结 19 第六章 参考文献 19 第一章 引言 随机数已广泛地应用于仿真、抽样、数值分析、计算机程序设计、决策、美学和娱乐 之中。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作 为发生源的真随机数发生器。要获取真正随机的真随机数,常使用硬件随机数发生器的 方法来获取。每次获取的真随机数都是不可测的,具有很好的随机性。真随机数因其随 机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛应用,构建一种 基于硬件真随机数发生源,具有广泛的应用价值。 但目前硬件真随机数发生源均较复杂,而且很少有基于单片机的真随机数发生器。本 文利用单片机AT89S51的特点设计了一种性价比极高的真随机数发生器。该随机数发生器 使用元件很少,稳定性高,对一些价格敏感的特殊场合,如金融、通信、娱乐设备等有 较大的应用意义,此外,此游戏机作为生活上的抽奖游戏也有性价比高的优势,可以广 泛应用与推广。 第二章 系统设计方案 2.1 设计思路 按钮1启动游戏:开关和按钮的使用可以使用键盘扫描程序和中断服务程序两种,考 虑到游戏的启动和运行是在主程序上运行,因此只要简单的使用独立式键盘扫描程序对 按钮的状态进行检测即可,按键接到单片机的P1引脚上,用一个上拉电阻保证按键未按 下时,保证对应的I/O口线为稳定的高电平,当某一按键按下时,对应的I/O口线就变成 了低电平,与其他按键相连的I/O口线仍为低电平,就很容易识别出哪个键被按下。因此 把开关1接到P1口,用键盘扫描程序即可实现其功能。 开关2停止游戏:要求按下该开关数码显示管关闭,由于采用共阳极数码管显示电路 ,两管所对应的I/O端口为高电平即可控制数码管的亮灭。通过键盘的扫描程序,扫描P 1引脚,如果扫描到按钮2被按下后,引脚2控制P0口的引脚状态为0XFF,即可实现数码管 关闭的功能。 产生随机数:功能为使LED数码管显示不同的从0~99的随机数(不能有规
目 录 一、设计要求 …………………………………………2 二、设计方案和论证 …………………………………2 (一)总设计原理图 ………………………………… 2 (二)设计方案的选择 ………………………………2 硬件部分 ………………………………………4 软件部分 ………………………………………8 三、设计总结…………………………………………26 四、参考文献…………………………………………26 一、设计要求 1、准确计时,以数形式显示时、分、秒的时间。 2、小时以24小时计时形式,分秒计时为60进位。 3、校正时间功能,即能随意设定走时时间。 4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。 5、设计5V直流电源,系统时钟电路、复位电路。 6、能指示秒节奏,即秒提示。 7、可采用交直流供电电源,且能自动切换。 二、设计方案和论证 本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且 省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分 、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得 编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求 。 (一) 总设计原理框图如下图所示: (二)设计方案的选择 1.计时方案 方案1:采用实时时钟芯片 现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等。这些实 时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新 每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专 用芯片来实现实时时钟功能。 方案2:使用单片机内部的可编程定时器。 利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计 时。该方案节省硬件成本,但程序设计较为复杂。 2.显示方案 对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式: 动态显示和静态显示。 静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的 工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复 杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当L ED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程 序编写比较麻烦。 LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在 单片机没有太多实时测控任务的情况下可以采用。 本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本 系统选择动态显示方式。 (三)硬件部分 1、STC89C51单片机介绍 STC89C51单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一 种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和128bytes的RAM,2个16位定时计 数器[5]。 STC89C51单片机内部主要包括累加器ACC(有时也简称为A)、程序状态PSW、地 址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、 定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接 起来,构成一个完整的微型计算机。其管脚图如图所示。 STC89C51单片机管脚结构图 VCC:电源。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第 一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电 流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编 程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电 流,当P2口被写"1"时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由 于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址"1"时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
目录 一、 引言········ 二、 设计课题········· 三、 系统总体方案········· 四、 系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、 系统软件设计········· 1.软件流程图 2.程序清单 六、 系统实物图········ 7. 课程设计体会········ 八、 参考文献及网站········· 九、 附录········· 1. 引言 单片机因将其主要组成部分集成在一个芯片上而得名.就是把中 央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部 件集成在一个芯片上。 基于单片机设计的数钟精确度较高. 因为在程序的执行过程中. 任何指令都不影响定时器的正常计数.即便程序很长也不会影响中断的时间。 数钟是采用数电路实现对日期、时、分、秒.数显示的计时装置.由 于数集成电路的发展和石英晶体振荡器的广泛应用.使得数钟的精度.远远超过老式 钟表.钟表的数化给人们生产生活带来了极大的方便.而且大大地扩展了钟表的报时功 能。数钟已成为人们日常生活中的必需品.广泛应用于家庭、车站、码头、剧院、办公 室等场所.给人们的生活、学习、工作带来极大的方便。不仅如此.在现代化的进程中.也 离不开电子钟的相关功能和原理.比如机械手的控制、家务的自动化、定时自动报警、按 时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力 设备、甚至各种定时电气的自动启用等.所有这些.都是以钟表数化为基础的。而且是 控制的核心部分。因此.研究数钟及扩大其应用.有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接.以AT89C51芯片为核心.采用动态扫描 方式显示.通过使用该单片机.加之在显示电路部分使用HD74LS373驱动电路.实现在8个L ED数码管上显示时间.通过4个按键进行调时、复位等功能.在实现各功能时数码管进行相 应显示。软件部分用C语言实现.分为显示、延迟、调时、复位等部分。通过软硬件结合 达到最终目的。 二.设计课题:基于单片机的数时钟设计 三.系统总体方案 图2.1 整体设计思路 针对要实现的功能.拟采用AT89C51单片机进行设计.AT89C51 单片机是一款低功耗.高性能CMOS8位单片机.片内含4KB在线可编程(ISP)的可反复擦写 1000次的Flash只读程序存储器.器件采用高密度、非易失性存储技术制造.兼容标准MCS - 51指令系统及80C51引脚结构。这样.既能做到经济合理又能实现预期的功能。在程序方 面.采用分块设计的方法.这样既减小了编程难度、使程序易于理解.又能便于添加各项功 能。程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示、定时程序。运 用这种方法.关键在于各模块的兼容和配合.若各模块不匹配会出现意想不到的错误。 四、 系统硬件设计 1.硬件电路原理图 (1)复位电路 单片机有两种基本复位方式:即上电复位和按键复位。本次设计用按键复位.如下 图所示.通过接通按钮开关.使单片机进入复位状态。本次按键复位清零。各元件参考下 图。 时钟电路 键盘电路 按键处理设置为: 如没有按键.则时钟正常走时。 按下K0键:进入调分状态.时钟停止走动; 按K1和K2键:可进行加1和减1操作; 继续按K0键:可分别进行分和小时的调整; 最后按K0键:退出调整状态.时钟开始计时运行 电路图如下: (4)显示电路 本次数码管采用共阴极8段式LED数码管QH5011AS。该数码管参数见附录本系统共用 8个数码管.从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时 个位和时十位。数码管显示的信息用8个内存单元存放.这8个内存单元称为显示缓冲 区.其中秒个位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分数据 和小时数据分拆得到。在本系统中数码管显示采用软件译码动态显示。在存储器中 首先建立一张显示信息的段码表.显示时.先从显示缓冲区中取出显示的信息.然后 通过查表程序在段码表中查出所显示的信息的段码.从P0口输出.同时在P2口将 对应的位选码输出选中显示的数码管.就能在相应的数码管上显示显示缓冲区的内容 。 同时采用NPN型三极管.三极管接法如下图.其中当三极管基极高电平时.数码管 共阴极为高电平.三极管基极接低电平时.数码管共阴极为低电平.该位选中。还采用 了74LS373锁存器.用来缓存输入数码管段选的高低电平.提高电路稳定性。 电路图如下: 总原理图: 元件清单 " 品名 " 规格型号 " 数量 " "单片机及座子 "STC89C51RC "1 " "晶振 "12MHz "1 " "独石电容 "30pF "2 " "电解电容 "47μF "2 " "电解电容 "10μ
《电子线路综合》 课程设计报告 设计课题: 贪吃蛇掌上游戏机 专业班级: 电子信息121班 学生姓名: 指导教师: 设计时间: 2015 .12 . 31 赣南师范学院科技学院数学与信息科学系 《 贪吃蛇掌上游戏机 》 一、设计任务与要求 基本功能: 制作一个8*8点阵的贪吃蛇游戏,系统以单片机的c语言的软件设计,系统通过LED点 阵屏为载体显示数据,并用四个输入端表示四个控制键(上下左右)。系统硬件部分由 STC89C52RC单片机,8*8点阵屏, 4个按键,软件部分在keil环境下用c51语言编写,包括游戏初始蛇的段数,以及障碍墙 壁,游戏结束时自动复位。 具体要求: 1、用四个按钮控制蛇的方向,蛇的原始段数为2点,并设置墙壁。 2、蛇的移动速度随着蛇的段数增加而增加,当蛇碰到墙壁和自己的身体时死亡 3、用proteus设计,仿真基于STC89C52RC单片机的8*8点阵贪吃蛇的硬件电路。 4、蛇死亡,游戏结束,系统自动复位。 二、方案设计与论证 图1、系统框图 1、贪吃蛇的移动 当蛇没有吃到任何食物时,每次步进蛇头的将要到的下一个LED灯点亮,而蛇尾那个LED 灯会灭掉,程序设计时只要将蛇尾那点位置的值传给蛇头下一个位置的值,再改变蛇尾 的值即可。而蛇头下一个位置根据蛇头和偏移量来确定,每次上下左右按键决定了蛇步 进的偏移量,只要将蛇头的位置加上偏移量的值即得到新的蛇头位置。当蛇头碰到四周 的墙壁或者碰到自己的身体,小蛇就立即毙命并结束游戏。 2、食物的随机出现 食物的出现是一种随机行为,所以必须做一个随机数,而且食物出现的位置不能与蛇的 位置相同,也不能超出墙外,否则就要重置食物。这里使用程序中的定时计数器的低八 位 TL0的数值,由于TL0不断变化,不同的时间点数值不同,我这里使用的是C语言里的std lib.h文件库,使用里面的随机函数srand(),先利用srand(TL0)获得TL0的数值,再利用 两次rand()%8分别得到食物出现的横纵坐标的位置。 三、原理图及元器件清单 1.单位电路设计 (1)AT89C52单片机最小系统模块 本系统以STC89C52RC为核心加上复位电路和晶振电路组成,本系统选用12M的晶振,使得 单片机有合理的运行速度。起振电容30pF对振荡器的频率高低,振荡器的稳定性和振荡 器的快速性影响较合适复位电路为按键高电平复位。 图2、最小系统模块 (2)8*8点阵屏模块 LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示程序的运行情况,是模块化 的显示组件,本设计采用8*8共阳红色点阵显示屏,用来显示贪吃蛇的游戏画面。 图3、8*8点阵屏模块 (3)独立按键模块 4个按键控制蛇的游走方向(上下左右)的功能简介明了 图4、独立键盘 (4)系统总原理图说明 贪吃蛇是一款经典的小游戏,玩家使用方向键控制一条很短(游戏刚开始)的蛇,通 过不断的吃豆豆,蛇身会逐渐的加长,当蛇撞到身体或墙壁时游戏结束 图5、总原理图 2.元件清单 表1、元件清单 "元件名称 "符号 "数值 "单位 "备注 "单价(元/ " " " " " " "个) " "电阻 "R1—R8 "10K "欧姆 "1/4瓦 "8 " "电解电容 "C5 "10 "μF "电解,250v耐压 "2 " "瓷片电容 "C1-4 "103 "PF "50v耐压 "4 " "8*8点阵屏 "LED8*8 "\ "\ "\ "1 " "晶振 "X1 "12 "M "250v耐压 "1 " "单片机 "MUC1 "\ "\ "STC89C52RC "1 " "按键 "Key1-4 "\ "\ "\ "4 " "二极管 "D1-4 "1N34A "\ "正向导通压降约为0.2"4 " " " " " "~0.3V " " 总计: 12 元 四、安装与调试 程序软件编译器使用uVision3。在用uVision3编写单片机程序时,因uVision3往往只能 修改语法上的错误,对于算法上的问题不好检查,而直接下到单片机里又受电路板的限 制而不方便调试,因此这里使用Proteus进行电路仿真。该软件具有模拟电路仿真、数 电路仿真、单片机及其外围电路组成的系统仿真、RS232动态仿真、I2C调试器、SPI调试 器、键盘和LCD系统仿真的功能,同时有各种虚拟仪器,如示波器、逻辑分析仪、信号发 生器等。 先在Proteus上绘制硬件电路(并未画出驱动电路),电路设计完成后就可以进行仿真。 先双击单片机,把用uVision3编译生成的HEX文件指定为下载文件,点击PLAY键即可进行 仿真。当出现ANALYSER ERRORS时,表示电路有错误,列表中说明了具体的错误,必须要先排错才可以进行仿真 。 软件调试及Proteus仿真完成后就进行硬件的安装。
目录 一、设计总绪 2 1.1设计思想 2 1.2设计说明 2 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 2 1.4设计目的 2 1.5设计要求 2 二、设计方案 3 2.1硬件电路设计方案 3 2.1.1基本结构 3 2.1.2系统框架图 3 2.1.3工作流程图 4 2.1.4单片机主控制模块 5 2.2系统功能描述 6 三、各模块功能介绍 7 3.1键盘输入模块 7 3.1.1键盘分布图 7 3.1.2工作原理 7 3.2运算控制模块 8 3.3显示模块 8 3.4振荡电路模块 9 四、仿真电路 10 仿真运行结果 10 五、调试过程总结 12 附录: 13 参考文献: 13 源程序代码 13 一、设计总绪 1.1设计思想 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术 日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件 来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加 以完善。 计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必 将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89c51单片机、LCD显 示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及汇编语言编 程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握应用程序开发环境,常用 的LCD显示器的使用方法和一般键盘的使用方法 此设计是基于单片机技术的简易计算器的方案,本次设计所提出的一种基于单片机技术 的简易计算器的方案,采用具有数据处理能力的中央处理器CPU,随机存储器ROM,多种 I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算 机系统——单片机,配以汇编语言编写的执行程序,能更好的解决计算机计算的问题,随 着数生活的到来,单片机在生活中越来越重要,它能将大量的逻辑功能集成与一个集 成电路中,使用起来十分方便。 1.2设计说明 本次课程设计讨论了单片机技术的计算器构思,设计方案,工作原理,主要系统包括 单片机80C51,排阻RESPACK—8,开关,六位数码管显示器等,主要组成部分包括:键盘 输入模块,运算模块,控制模块,显示模块。通过键盘输入数值,单片机进行运算后在 数码管显示出结果。 1.3关键词:矩阵键盘,单片机,数码管显示,汇编语言 1.4设计目的 通过本次课程设计,运用《单片机微型计算机原理及应用》所学到的知识及查询相关资料 ,完成简易计算器的设计,进一步提高单片机的系统设计和开发能力,达到理论知识与 实践更好的结合,提高综合运用所学知识和设计能力的目的。 1.5设计要求 要求设计一个单片机应用系统,利用keil和proteus软件完成系统软硬件的设计及模拟调 试。实现五位数(可为带小数点)的加减乘除运算,通过按键输入十进制数据。利用六 位数码管显示运算结果。并实现复位操作。由于要设计的是简单的计算器,可以进行四 则运算,为了得到教好的显示效果,采用LCD显示数据和结果。、另外键盘包括数键( 0-9)、符号键(+、- 、*、/)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算机键盘来 ,当键入+、- 、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值后将显示键入 的数值,按等号就会在LCD上输出运算结果,执行程序:开机显示零,等待键入数值,当 键入数,通过LCD显示出 二、设计方案 2.1硬件电路设计方案 2.1.1基本结构 计算器一般由运算器、控制器、键盘、显示器、电源和一些可选外围设备及电子配件通 过人工或机器设备组成。键盘是计算器的输入部件,一般采用接触式或传感式。显示器 是计算器的输出部件,有发光二极管显示器或液晶显示器等。除显示计算结果外,还常 有溢出指示、错误指示等。计算器电源采用交流转换器或电池。计算器都采用CMOS工艺 制作的大规模集成电路。 本次课程设计中我是采用了以MCS—51系列的单片机AT89C51单片机为核心构成的简易计算 器。该系统通过单片机控制,实现对4*4键盘进行实时扫描的按键检测,并把检测数据存 储下来。整个计算器系统的工作过程为:首先存储单元初始化,显示初始值和键盘扫描 ,判断按键位置,查表得出按键值,单片机则对数据进行储存与相应处理转换,之后送 入数码管动态显示。整个系统可分为三个主要功能模块:功能模块一,实时键盘扫描; 功能模块二,数据转换成显示器显示;功能模块三,计算控制模块。功能模块四:显示 模块。 2.1.2系统框架图 图2.1 系统总体框架图 2.1.3工作流程图 No Yes 图2.2 系统工作流程图 2.1.4单片机主控制模块 AT89C51是一种带4K节闪烁可编程可擦除只

12,631

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧