已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要41、设计目的及要求51.1 设计目的51.2 设计要求52、软件介绍及使用52.1 keil 和proteus简介62.2 keil与proteus联调与仿真实现6 2.3 仿真实例83、硬件介绍及使用103.1单片机介绍103.1.1单片机最小系统113.1.2单片机指令执行过程123.1.3单片机的晶振的数码管133.2硬件软件联合调试133.2.1联调步骤133.2.2 搭线检查步骤144、设计方案14 4.1芯片简介144.2 总体设计思路144.2.1系统板上硬件连线154.2.2设计原理图155、设计思路165.1程序设计165.2原理图设计176、仿真调试187、仿真电路设计的体会198、参考资料20附录20摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本课程设计报告主要介绍了一个基于89C51单片机的开关计数的设计,详细描述了利用开关计数系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统实现计数和显示,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点31、设计目的及要求1.1 设计目的 本设计主要是应用proteus软件和嵌入式C语言编程工具,结合单片机原理及应用。危机原理与接口技术等专业课程,强化和巩固专业理论基础,掌握Proteus仿真的技巧和嵌入式C语言编程工具,提高单片机开发能力,并为嵌入式开发打下基础。1.2 设计要求利用proteus软件,根据题目设计一个基于c51单片机的可控制电路,在c51外设计一个4*4矩阵并进行16个LED小灯的控制,每次按下一个键位都会有对应的LED小灯亮起。2.软件介绍2.1 keil和proteus简介 KeilC51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C51工具包的整体结构如图5-1所示,其中Uvision与Ishell分别是C51 for Windows和For Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分 别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器DScope51或TScope51使用进行源代码级调试,也可由仿真器使用直接 对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。 一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。集成开发环境A51编译器C51编译器RTX51实时操作系统C库文件LIB51库文件BL51连接OH51转换器 图2-1 C51工具包的整体结构图2.2 keil与proteus联调与仿真实现(1) 软件的调试必须在开发系统的支持下进行。先分别调试通过各个模块程序,然后调试中断服务程序,最后调试主程序,将各部分连接进行调试。调试的范围可以由小到大,逐步增加,必要的中间信号可以先做设定。通常交叉使用单步运行,断点运行,连续运行等多种方式,每次执行完毕后,检查CPU执行现场,RAM的有关内容,I/O接口的状态等。发现一个问题,解决一个问题,直至全部通过。首先新建一个工程项目文件;其次为工程选择目标器件;再次为工程项目设置软硬件调试环境;并创建源程序文件并输入程序代码,及保存创建的源程序项目文件;最后把源程序文件添加到项目中。(2) 在Proteus软件中画出原理图,向单片机中加入需要调试的程序的HEX文件,便可以进行调试了。(3) 利用Proteus实现单片机系统开发过程一般分为四步:a.在Proteus平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等(简称Proteus电路设计);b.在Proteus平台上进行单片机系统源程序设计、编辑、汇编编译、调试,最后生成目标代码文件(*.hex)(简称Proteus软件设计);c.再次在Proteus平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真(简称Proteus仿真);d.最后仿真正确后,安装实际单片机系统电路,并将目标代码文件(*.hex)下载到实际单片机中运行、调试。若出现问题,可与Proteus设计与仿真相互配合调试,直至运行成功(简称实际产品安装、运行与调试)。笔者的实践证明:按照Proteus仿真通过的设计来安装的实际系统,只要安装正确、元器件无误,焊接牢靠,基本都能顺利通过。(4) 软件程序基础知识准备针对AT89C51单片机,头文件AT89x51.h给出了特殊功能寄存器SFR所有端口的定义。其次,C语言编程基础:十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位而丢掉高8位。 TMOD=(TMOD&0xf0)|0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。While(1);表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是;。在引脚输出方波编程方法:(比如P3.2引脚)#include/该头文档中有单片机内部资源的符号化定义,其中包含P3.2/void main(void)/void表示没有输入参数,也没有函数返值,这入单片机运行的复位入口/While(1)/非零表示真,如果为真则执行下面循环体的语句/P3_2=1;/给P3_2赋值1,引脚P3.2就能输出高电平VCC/P3_2=0;/给P3_2赋值0,引脚P3.2就能输出低电平GND/由于一直为真,所以不断输出高、低、高、低,从而形成方波/2.3 仿真实例首先,进行参数的选定。本系统主芯片采用的是AT89C51,因此选定该型号。 图2-2 芯片型号选择其次,在Option For Target Target 1中选择生成HEX文件。图2-3 HEX文件生成运行的第一步,点击运行程序。确认运行程序无误,即没有错误和警告。图2-4 确认程序无误点击生成工程文件并生成HEX文件。图2-5 已生成HEX文件可通过Debug中的Run和Step来对程序的对应代码进行一一调试。图2-6 程序运行调3、硬件介绍3.1单片机介绍3.1.1 单片机最小系统单片机是一种集成在电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。单片机最小系统包括AT89C51单片机芯片,时钟电路和复位电路。其中AT89C51单片机芯片是整个系统的核心,程序烧录到芯片中,通过芯片控制电路;时钟电路由一个晶振和两个电容构成,用于产生系统时钟;复位电路由一个电容、一个电阻和一个开关构成,可以有上电复位、手动复位。单片机的最小系统如图3-1。 图31单片机最小系统 最小系统结构:复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周期的高电平;复位输入高电平有效,当振荡器工作是,RST引脚出现两个机器周期以上的高电平,使单片机复位。此电路除具有上电复位功能外,若要复位只需按“RST”键,此电源Vcc经电阻分压,在RST端产生一个复位高电平;单片机:一片AT89S51/52或其他51系列兼容单片机; 注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行; 电源部分:接+5伏特的电压。3.1.2单片机指令执行过程单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。3.1.3 单片机的晶振和数码管 根据单片机的C语言程序设计与应用,我们知道了C51单片机,所用的一般元器件有电阻、电容、开关、排阻,而对于晶振和数码管是我们所必须学习和掌握的。晶振是一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。数码管根据公共端的连接情况有共阳极共阴极两种,对共阴极LED显示器的发光二极管的公共端的com接地,当某发光二极管的阳极为高电平时,相应的发光二极管点亮;共阳极LED显示器则相反。3.2 硬件软件联合调试3.2.1 联调步骤第一步安装Keil与Proteus;第二步把Proteus安装目录下VDM51.dll文件复制到Keil安装目录的C51BIN目录中;第三步修改Keil安装目录下Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL (Proteus VSM Monitor-51 Driver)打开Proteus,画出相应电路。在Proteus的Tools菜单中选中Use remote debug monitor;第四步在Keil中编写MCU的程序;及进入Keil的Proteus菜单Option for target 工程名。在Debug选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP地址。端口号一定为8000 注意:可以在一台机器上运行Keil,另一台中运行Proteus进行远程仿真。第五步即最后在Keil中进行Debug,同时在Proteus中查看直观的结果。3.2.2搭接检查步骤首先检查元件的好坏;按电路图买好元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。其次放置各元件;按电路图的位置将各元件安置好,首先放置核心元件,然后再放其他元件,特别注意顺序不能颠倒。再次电路接线;在保证电路元器件完好及各元器件放置无误合理的情况下,开始对电路连接布线,由于本设计用面包板搭件,所以布线要无跨线并且工整。4、设计方案4.1芯片简介本设计选择采用AT89C51单片机为核心。AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。4.2 总体设计思路4.2.1系统板上硬件连线(1)在搜索框中搜索AT89C51并拖拽到设计面板中;(2)在搜索框中搜索LED小灯,并依次拖拽16个小灯到设计面板中;(3)在搜索框中搜索按键,并依次拖拽16个到设计面板中;(4)进行合理化布置各个元器件;(5)对各个元器件进行连线;(6)检查连线以及各元器件的接地。4.2.2设计原理图仿真原理图图4-1仿真原理图单元电路设计:(1) 显示模块如下4*4小灯构成了该系统的显示模块;图4-2显示模块图(2)控制模块如下由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等13。键盘的每个按键功能在程序设计中设置 。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图4-3;图4-3控制模块图5、设计方案5.1 程序设计思路 根据课设的题目要求以及上面的模块化思想设计主流程图;(1)首先,先扫描整条程序,判断按键是否正常连接;(2)在判断有没有按键摁下,如果没有,那指针就一直停在此处,一直查询,等待按键按下;(4)如果扫描到按键按下,就判断4*4的键盘按键的第几行第几列的按键按下,然后对应的显示到小灯上,给对应的小灯接低电平使之点亮;(5)返回到主程序继续判断;(6)循环执行上述步骤。主流程图:开 始 扫描是否有按键摁下 N Y判断哪一个按键按下显示到小灯是否结束 N Y结束图5-1 主流程图5.2原理图设计键盘控制小灯亮灭的仿真图如下图5-2 仿真原理图6、仿真调试进行键盘控制小灯的仿真调试。摁下键盘使第1列第1行的按键,结果第1列第1行的小灯点亮;图7-1仿真图显示1摁下键盘第3列第4行的按键,结果第3列第4行的小灯点亮;图7-2仿真图显示27、设计电路的体会 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。单片机在嵌入式系统应用中占据很重要的地位,MCS-51单片机在工业测量、控制领域中得到了广泛的应用。随着国内单片机开发工具研制水平的提高,现在的单片机仿真器普遍支持C语言程序的调试,为单片机使用C语言提供了便利条件,C语言已成为句式公认的高效简洁而又贴近硬件的编程语言之一。 通过这次的keil课程设计,我对keil与proteus的联调使用有了更深层次的认识,也渐渐熟悉了对单片机语言的掌握与运用,将理论与实践相结合,使自己得到了更大的提高, 我学的单片机的c语言课程主要是80C51单片机,在这次课设中通过使用89C51有了更深的了解,同时在找资料的过程中学到了许多课本上学不到的知识和经验,也让我认识到了实践的重要性。在设计过程中深感自己在培养动手能力这方面还需很大的努力。同时,通过这次我们积极的通过网络,书籍等资源,在同学的帮助下,把这个课程设计作为一次锻炼,为以后生活学习中培养善于动手,乐于动手的习惯。8、参考资料(1)单片机的C语言程序设计与应用(2)单片机原理与应用技术(3)微机原理与接口技术附录源程序#include#include#define uchar unsigned char#define uint unsigne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全国中学生历史竞赛试题及答案解析
- 安全生产法新题及答案解析
- 2025年一级建造师考试试题(黄金题型)附答案详解
- 中学生网络安全与道德课件
- 护士临床实践能力考核试题及答案解析
- 护理技能大赛理论考试试题及答案
- 招聘企业领导试题及答案
- 教师法考试题及答案
- 数字图像处理技术试题答案
- 综合管理室安全培训课件
- 南充市高2026届高三高考适应性考试(一诊)语文试卷(含答案)
- 临床抗生素使用课件
- 2025山东济南医学发展集团有限公司国有企业招聘22人笔试考试参考试题附答案解析
- 律师事务所保密制度和保密措施
- 物业管理费用结构分析报告
- 2025天津港保税区安全生产技术专家招聘26人笔试考试参考题库附答案解析
- 旅馆从业人员在线考试及答案解析
- 医疗机构感染控制制度及操作流程规范
- 科学防疫敬畏生命
- 雨课堂在线学堂《小白学人工智能》单元考核测试答案
- 厨房成本核算课件
评论
0/150
提交评论