收藏 分销(赏)

智能仪器人机接口电路设计.docx

上传人:可**** 文档编号:997501 上传时间:2024-04-10 格式:DOCX 页数:22 大小:543.53KB 下载积分:10 金币
下载 相关 举报
智能仪器人机接口电路设计.docx_第1页
第1页 / 共22页
智能仪器人机接口电路设计.docx_第2页
第2页 / 共22页


点击查看更多>>
资源描述
单片机技术课程设计说明书 智能仪器人机接口电路设计 专业 电气工程及自动化 学生姓名 班级 BMZ电气081 学号 指导教师 周云龙 完成日期 2011年 6月 9 日 随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。电子产品的更新速度快就不足惊奇了。计算器在人们的日常中是比较的常见的电子产品之一。如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题。 科技的进步需要技术不断的提升。一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。而现在,只需要一块几厘米平方的单片机,写入简单的程序,就可以使您以前的电路简单很多。相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。 现在应用较广泛的是科学计算器,所谓科学计算器,与我们日常所用的简单计算器有较大差别:只能进行正数加、减、乘、除四则运算的计算器叫做简单计算器;科学计算器是指能兼容正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能的计算器。 计算器的未来是小型化和轻便化,如使用太阳能提供电池的计算器,使用ASIC设计的计算器,如使用纯软件实现的计算器等,随着社会的发展,知识的更新,各行各业的需要带动了电子产品的发展,未来的智能化计算器将是我们的发展方向,更希望成为现代社会应用广泛的计算工具。 关键词:MCS-51 8051单片机;人机接口扩展4X4按键;计算器;加减乘除 ;LCD128X64; 目录 第一章 绪论 1 1.1 本课题的研究意义 1 1.2设计目的 1 设计任务 1 第二章 计算器系统简介 3 2.1 单片机发展现状 3 2.2 计算器系统现状 4 第三章 主要器件简介 4 3.1 MCS-51系列单片机简介 4 3.2键盘电路的设计 7 3.3 LCD12864 模块介绍 8 第四章 计算器系统设计 15 4.2 键盘扫描的程序设计 15 4.3 显示模块的程序设计 16 4.4 主程序的设计 17 4.5 系统调试 17 结语 19 谢 辞 20 参考文献 21 附 录1 系统PCB图 错误!未定义书签。 附 录2 PROTEUS仿真图 22 附 录3 程序由于采用的是汇编语言太长,可以在软件KEIL中查阅 22 第一章 绪论 1.1 本课题的研究意义 随着时代的进步和发展,单片机技术已经普及到我们的生活、工作、科研,各个领域,已经成为一种比较成熟的技术。目前,大部分的计算器是基于单片机系统开发的。在单片机系统中,除了需要完成特定功能的算法器件外,还需要输入、输出装置。在计算器中,输入装置是——键盘,而输出装置是——液晶显示模块。 本次设计是用单片机来设计的七位数计算器。该设计系统是以AT89C52为单片机, P1口作为输入端,外接4×4的键盘,通过键盘扫描来对输入数的控制,在P0口,P2口接了驱动电路,用来保证液晶模块的工作正常。计算器将完成的功能有加,减,乘,除等功能。该系统还设了功能键ON/C,开始显示0,按了键后就进入计算状态。当然还有一些不足之处,本次设计还不能进行小数计算。本设计还加如了阅读器的功能,使此次的设计弥补一点计算器这个领域的一点空缺。 1.2设计目的 通过本次工程实践,运用《智能化测量控制仪表原理与设计》、《MCS-51系列单片微型计算机及其应用》所学知识及查阅相关资料,完成简易计算器的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。 通过本次设计训练,可以使我们在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。 掌握8051系统中,扩展输入(键盘)及显示接口的方法 设计任务 在本次工程实践中,主要完成如下方面的设计任务: 1)简要综述单片机技术发展的国内外现状及数码管动态显示和矩阵键盘基本原理; 2)了解单片机数据转换功能及工作过程; 3) 人机接口的设计,扩展16个键,按下数字键,LCD128X64显示数字,按下功能键,LCD128X64显示相应功能并转向相应的程序(转入口就行,不要具体代码)。 4) 对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清楚的认识,并会使用LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶模块的驱动和操作; 5) 掌握矩阵式键盘的扫描等工作过程。行列键盘是本设计中单片机系统的输入通道,主要是如何使用行列键盘,确定数字键和功能键的区别,以及键盘抖动的消除。 6) 在充分分析内部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计出具有四则运算能力简易计算器的硬件电路和软件程序。 7)用protues软件完成原理电路的绘制; 8)完成系统设计说明书。 第二章 计算器系统简介 2.1 单片机发展现状 单片机的发展趋势:低功耗CMOS化;微型单片化;主流与多品种共存;单片机从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。 纵观单片机的发展过程,可以预示单片机的发展趋势,大致有: 1)低功耗CMOS化 MCS-51系列的8051推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 2)微型单片化 现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 3)主流与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。所以C8051为核心的单片机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。 2.2 计算器系统现状 第三章 主要器件简介 3.1 MCS-51系列单片机简介 8051是MCS-51系列单片机的典型产品,以这一代表性的机型进行系统的讲解。   8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: ·中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 ·数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 图3-1 8051内部结构图 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 ·中断系统: 8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。 ·时钟电路: 8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。 下图是MCS-51系列单片机的内部结构示意图3-2。 图3-2 MCS-51结构图 MCS-51的引脚说明: MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明: MCS-51的引脚说明: MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图3-3 图3-3 Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。 8051的复位方式可以是自动复位,也可以是手动复位。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。见下图3-4为两种复位方式和两种时钟方式: 图3-4复位方式图与时钟方式图 ·Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。 如果单片机是EPROM,在编程其间,将用于输入编程脉冲。 ·Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。 ·Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。 在编程时,EA/Vpp脚还需加上21V的编程电压。 3.2键盘电路的设计 键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的标准键盘就是编码键盘。在智能仪器中,使用并行接口芯片8279或串行接口芯片HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可在芯片资料中得到。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路通常采用非编码键盘。非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过接口软件来获取。 本课题需要的是16个按键,故选择用非编码键盘,为了减少所占用的端口,由P1口采用矩阵式键盘。如下图: 3.3 LCD12864 模块介绍 LCD12864 (1)LCD12864 芯片的性能与参数 ······· (2) 外形尺寸图 (3) 模块主要硬件构成说明 ①② ③④⑤⑥ ⑦ (4) 模块的外部接口 (5) 指令说明① ② ③ ④ ⑤ ⑥ ⑦ (3) 读写操作时序① (2) (3) (4)显示电路的设计最终电路如图 第四章 计算器系统设计 4.1简易计算器的程序主要包括以下功能模块: (1) 定时查键模块,分为读键程序、判键程序段、运算操作子程序等部分; (2) 基于液晶显示器的显示模块; (3) 主模块,为系统的初始化。 软件系统流程图如图6.1 图6.1 4.2 键盘扫描的程序设计 键盘扫描子程序,首先读出P1的低四位,然后读出P1口的高四位。然后键值并显示缓存。然后将键如的值转换为ASCII码然后就可以软件来设置硬件按键各个键代表的内容。 读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。第一次所有行线均输出低电平,从所有读入键盘信息(列信息);第二次所有列线均输出低电平,从所有行线读入键盘信息(行信息)。 数字键按下则将相应的数字送入缓存区,功能键按下则执行相应的程序。 4.3 显示模块的程序设计 显示模块程序首先要对显示模块进行初始化;然后控制光标的位置;定义液晶显示的控制端口,用SBIT指令完成;然后设置清屏、关闭显示、归位、开显示、显示位置的首地址等等。 显示模块的流程图如图6.3所示: 图6.3 4.4 主程序的设计 主程序主要是用来对LCD12864液晶显示器进行初始化的,用来控制LCD12864液晶显示光标的位置和显示的位置 4.5 系统调试 首先,必须要将程序调试成功,这是关键的一步,没有内核的调用无法实现系统功能,单纯的硬件无法实现电路的录放。因此,程序的编译就变的特别重要,设计中注重软件的编译仿真,其中采用Keil C51 软件编辑、编译、仿真。 Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、PLM 语言和C 语言的程序设计。 程序编译、调试的基本过程如下: (1) 建立一个新的工程文件New Project。 (2) 保存文件,选择保存路径,输入工程文件的名字。 (3) 选择设计使用的单片机的型号。 (4) 建立一个新的源程序文件。 (5) 在弹出的程序文本框中输入设计的程序,然后以后缀扩展名为.C保存。 (6) 回到编辑界面后,用右键单击Sourece Group 1,在弹出的快捷菜单中选择Add Files to Group’Sourece Group 1’选项,选择设计汇编文件。 (7) 然后对目标进行一些设置,在Options for Target’ Target 1’中进行相应参数的设置。 (8) 编译程序,选择【Project】/【Rebuild all target files 】选项,开始编译程序。 (9) 编译完毕后,选择【Debug】/【Start/Stop Debug Session】 选项,进入仿真环境。 在调试程序过程中,并不是一次性成功的,编辑中出现过好几次错误,经过修改、编译才最后调试成功的。最初调试时,系统重复定义,经过认真仔细的查找,在程序中对其进行了两次定义,使得程序无法调试成功。 编译成功后,在上面的第(9)步的仿真也是非常重要的,进行检测编译好的程序能否实现硬件电路功能,是否能够实现语音的存储与再生功能,如果不能实现要继续编写,检查什么地方的功能不能实现等等,反反复复地编辑、调试,直至功能得以实现。程序的编译、调试的工作量比较大,是设计的灵魂,所以在系统的设计中占用了很多时间,要对单片机语言进行深入而细致的学习与思考,它的中断/定时、上电、延时以及数据的写入等等软件设计调试,从而成为设计的重中之重。 其次,将编译调试好的程序下载到单片机中,进行硬件系统的调试,实现设计功能。首先是对液晶显示器的初始化的测试。为了方便观测,我们在程序中写入指令,要求液晶显示器显示一些汉字。然后是计算器部分的调试,这样就要求扫描键盘,然后显示计算的的过程,并且看程序中对键盘的扫描是否能够实现,这些过程可以通过液晶显示来检查,或者是在VB编写的界面上显示。最后就是阅读部分的加入。当这些都完成,就要将其组合,来实现最终的系统。 对于整个系统的调试,我们就需要从功能来进行测试。由于本隐秘存储计算器系统是要求有计算器和阅读器两种操作系统,整个的控制功能实现就这两个功能模块,相对而言,操作比较简单,但是整体的要求是比较高的。 在调试过程中遇到的一些问题: (1)在调试液晶显示的时候,开始不能够是液晶显示器显示。后来经过查找资料,发现原来是液晶显示的PSB端口要和VCC接到一起才行。 (2)在电路板的制作上,开始的时候由于没有给液晶显示器加上拉电阻,从而I/O口的电压不稳定,液晶显示不能过很好的工作,液晶的显示忽明忽暗。后来在液晶显示的数据端口P2口加上上拉电阻680后,这个问题就解决了。 (3)在液晶初始化没有问题后,就是对软件的功能模块的设计和调试了。在计算器模式下,出现了这样的问题:计算的过程中总是出现乱码,经过对软件系统的分析,发现是对液晶显示器的显示位置的设定出现了问题。 以上是调试过程中在软件和硬件上出现的问题以及具体的解决方法,笔者会在今后的学习过程中提高自己的设计水平,从而使以后的设计问题更顺利。 结语 在硬件的制作过程中我走了好多的弯路,主要是在系统还没有设计很有把握就开始动手制作了。后来发现与设计的要求还有偏差,反复的改过了几次,浪费了大量的时间和体力。感受到设计人员要有耐心,要认真的从要求开始研究。软件的编写过程中费了很大的力气,因为软件的编写要求很高,要很细心,一不小心就会调用错误,很深刻的体会到作为软件编程人员是绝不能粗心大意的。一个程序的完成的速度和质量高低与细心与否有着很大联系。编程时,我充分使用了结构化的思想。这样因为语句较少,程序调试比较方便,功能模块可以逐一的调试,充分体现了结构化编程的优势。当每个模块都完成时,将其功能加到一起计。就完成了整体的设 回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,可以说得是苦多于甜,但是可以学到很多很多的的东西。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。通过这次课程设计使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我们在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。 谢 辞 本次课程设计得到导师周云龙老师的热心指导,在这里对周老师表示最衷心的感谢,周老师平易近人,对学生的设计进度和学习很关心。在毕业设计的前期,首先给我们介绍了不少有用的资料和书籍;在硬件设计等方面给予悉心的指导;在调试的过程中周老师给每个出现的问题给予及时的指导。在写毕业设计论文的阶段,周老师让我们提前给他评审,不论内容字体,还是格式上的问题都一一指出。待人平和、工作认真、治学严谨他的给我留下很深刻的印象。更重要的是,他善于与学生沟通,不仅在毕业设计上给我及时的指导,更为我大学最后阶段的学习提出了许多宝贵的意见。这一切都在潜移默化地影响着我,为我以后进入工作岗位树立了良好的榜样。 这里我还要感谢同宿舍的同学,每次遇到困难找他们帮忙,他们都可以放下手上的工作先来帮忙。 同时还要感谢石华老师,她关系同学们的进程,了解同学们在制作过程中的麻烦,给我们提供制作的工具和场地。还要感谢基地的同学,每当我有问题请教的时候,他都耐心解答! 最后向所有帮助过我的人表示衷心感谢! 参考文献 [1] 张靖武,周灵杉.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007 [2] 林志琦等.基于PROTEUS的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006 [3] 求是科技.单片机典型模块设计实例导航[M].北京:人民邮电出版社,2004 [4] 张义和,陈敌北.例说8051[M]. 北京:人民邮电出版社,2006 [5] 胡健主编.单片机原理及接口技术实践教程[M].北京:机械工业出版社,2004 [6] 求是科技.单片机应用系统开发实例导航[M].北京:人民邮电出版社,2004 [7] 周润景等.Proteus在MCS-51&ARM7系统中的应用百例[M].北京:电子工业出版社,2006 [8] 刘永智,杨开惠等.液晶显示技术[M].成都:电子科技大学出版社,2006 [9] 范立南,谢子殿主编.单片机原理及应用教程[M].北京:北京大学出版社,2006 [10] 黄惠媛,李润国主编.单片机原理与接口技术[M].北京:海洋出版社,2006 [11] 樊延虎, 邵思飞, 刘根据.一种单片机键盘显示系统的设计.[N]. 延安大学学报(自然科学版).2002 : 20-25 附 录1 系统PCB图 附 录2 proteus仿真图 附 录3 程序由于采用的是汇编语言太长,可以在软件KEIL中查阅
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服