已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计设计名称脉冲计数器.全套设计加扣3012250582 学年学期 2013-2014(下) 课程名称 单片机课程设计 专业年级 电气112 姓 名 学 号 提交日期 2014年6月11日 成 绩 指导教师 水利与建筑工程学院- 3 -前言时至今日,单片机已广泛应用于各个领域,从家用电器到办公自动化、工业自动化以及各种智能仪表、智能接口。虽然单片机的性能无法和PC机相比,但它具有体积小、价格低、可靠性高、智能、实时、可塑性好等诸多优点,使其成为开发嵌入式要用心太软和小型智能化产品的首选机种。计数器是数字系统中用得较多的基本逻辑器件,它的基本功能是统计时钟脉冲的个数,即实现计数操作,它也可用于分频、定时、产生节拍脉冲和脉冲序列等。例如,计算机中的时序发生器、分频器、指令计数器等都要使用计数器。计数器的种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。脉冲计数器当前应用范围主要有电表、水表、煤气表以及光电等等。基于51单片机设计的脉冲计数器是以单片机为核心,配以一定的外围电路和软件,来实现各种现实所需要的功能。目录前言第一章 设计目的及要求- 4 -1.1、设计目的- 4 -1.2、设计要求- 4 -1.2.1、课程设计要求- 4 -1.2.2、基本设计功能要求的几个部分:- 4 -第2章 方案设计- 5 -2.1、研究背景- 5 -2.2、本文研究的主要内容- 5 -2.4、方案论证- 5 -第3章 主要元器件介绍- 7 -3.1 AT89C51单片机介绍- 7 -3.1.1 AT89C51芯片简介- 7 -3.1.2 引脚说明- 7 -第4章 硬件电路设计- 10 -4.1、电路组成- 10 -4.2、晶振时钟电路设计- 10 -4.3、复位电路设计- 10 -4.4、键盘输入电路设计- 11 -4.5、显示电路设计- 11 -4.6、系统原理图- 11 -第5章 软件设计及主要子程序- 13 -5.1、软件设计思路- 13 -5.2、主程序模块- 13 -5.3、脉冲计数器程序设计- 14 -第6章 系统仿真与调试- 15 -6.1、Keil编程- 15 -6.2、Protues仿真平台- 15 -6.2.1、Protues仿真简介及部分模块仿真- 15 -6.2.2、硬件电路总图与仿真- 16 -第7章操作方法- 19 -第8章 课程设计总结- 20 -附录- 21 -附录一:元件清单- 21 - 附录二:PCB板图- 22 -参考文献- 23 - 5 -第一章 设计目的及要求1.1、设计目的本次课程设计目的在于真正的把所学单片机理论知识应用于实际,更加熟悉51单片机的硬件与软件。能灵活运用Keil进行软件编程调试以及用proteus软件仿真。本次设计组成电子密码锁系统,画出系统硬件电路图,设计编写键盘控制、LED显示、声报警、密码输入等子程序。在调试程序时,要求整个系统工作正常、显示正确、结果满意,掌握该芯片的工作原理并完成读、写程序的设计、编写和调试。1.2、设计要求1.2.1、课程设计要求 能熟练运用51单片机实现硬件与软件结合完成电子产品的设计,把理论真正运用于实践,会用Keil等软件编程调试运行,熟悉应用Proteus软件仿真。强化编程练习,注意查询方式与中断方式的区别等等。 利用单片机片内定时/计数器T0引脚(P3.4脚)上的按键开关按下次数进行计数。用AT89C51单片机的定时/计数器产生1 s的定时时间,作为秒计数时间,当1 s产生时,秒计数器加1:秒计数器到10s时,自动复位从0开始。1.2.2、基本设计功能要求的几个部分:(1)初始状态LED显示为0;(2)按下一个按键开关产生一个计数脉冲,将脉冲个数(10个以内)在P1口驱动的LED数码管上显示出来。例如按第1下,LED数码管显示1;按第2下,显示2按第10下则显示0; (3)按下复位键,LED数码管显示0。第2章 方案设计2.1、研究背景 现在计数器的种类不断增加:电磁计数器、电子计数器、机械计数器、液晶计数器等。计数器的应用范围也十分广泛。本次课程设计是简单的脉冲计数器。2.2、本文研究的主要内容设计内容完全按照前面的设计要求完成,完全满足前面的设计要求。2.3、方案论证方案:设计选用单片机AT89C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。方案完全按照第1章的基本设计要求设计。图2-1 单片机控制方案 图2-2 实验框图 实验框图大体上可以分为晶振电路、复位电路、单片机、驱动电路、及电源电路四个部分:(1)晶振电路:为单片机提供时钟信号。(2)复位电路:当需要复位时,为单片机提供复位信号。(3)按键电路:输入计数脉冲。(4)单片机:系统的核心部分,用于运行用户程序,实现控制目的。第3章 主要元器件介绍3.1 AT89C51单片机介绍3.1.1 AT89C51芯片简介 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。3.1.2 引脚说明 图3.1是标准的40引脚双列直插式集成电路芯片。P00P07 P0口8位双向口线(在引脚的3932号端子)。P10P17 P1口8位双向口线(在引脚的18号端子)。P20P27 P2口8位双向口线(在引脚的2128号端子)。 P30P37 P3口8位双向口线(在引脚的1017号端子)。图3-1 AT89C51引脚1)P0口功能: P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。2)P1口功能: P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。3)P2口功能: P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。4)P3口功能:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。5)RST复位输入: 当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。6)ALE/PROG 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。PROG为编程脉冲的输入端,在89C51单片机内部有一个4KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。7)PSEN 外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作:(1)内部ROM读取时,PSEN不动作;(2)外部ROM读取时,在每个机器周期会动作两次;(3)外部RAM读取时,两个PSEN脉冲被跳过不会输出;(4)外接ROM时,与ROM的EA脚相接。8)EA/VPP 访问程序存储器控制信号:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。9)XTAL1和XTAL2 : 外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。10)VCC:电源端接+5V电压输入。11)GND:接地端。第4章 硬件电路设计4.1、电路组成 硬件电路的设计主要包括晶振时钟电路设计、复位电路设计、键盘输入电路设计以及显示电路设计等。4.2、晶振时钟电路设计 晶体振荡器,简称晶振。在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。如图4-1所示:图4-1 晶振电路4.3、复位电路设计 复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。复位电路都是比较简单的大都是只有电阻和电容组合就可以办到了。再复杂点就有三极管等等配合程序来进行了。 这里的复位电路 是通过手动按键实现的,如图4-2所示。图4-2 复位电路4.4、键盘输入电路设计图4-3 输入电路4.5、显示电路设计图4-4 显示电路4.6、系统原理图图4-5原理图第5章 软件设计及主要子程序5.1、软件设计思路(1)单片机机器接口设计;(2)数码管显示电路设计,LED显示;(3)按键电路设计,BUT2按键进行脉冲输入。5.2、主程序模块 BUT1按下将LED复位,通过按下BUT2输送脉冲进行计数。图5-1 程序流程图5.3、脉冲计数器程序设计#include #include #define uchar unsigned char#define uint unsigned int#define out P0uchar code seg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x01;void main(void) /主程序TMOD=0X05;TH0=0;TL0=0;TR0=1;while(1)out=segTL0%10;第6章 系统仿真与调试6.1、Keil编译Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil 的优势。C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。6.2、Protues仿真平台6.2.1、Protues仿真简介及部分模块仿真 Proteus是英国Labcenter公司开发的电路分析与仿真软件。该软件的特点是:集原理图设计、仿真和PCB设计于一体,真正实现从概念到产品的完整电子设计工具,具有模拟电路、数字电路、单片机应用系统、嵌入式系统(不高于ARM7)设计与仿真功能,具有全速、单步、设置断点等多种形式的调试功能,具有各种信号源和电路分析所需的虚拟仪表,支持Keil C51 uVision2、MPLAB等第三方的软件编译和调试环境,具有强大的原理图到PCB板设计功能,可以输出多种格式的电路设计报表。拥有PROTEUS电子设计工具,就相当于拥有了一个电子设计和分析平台。Proteus软件自 1989 年问世至今,经历了近20年的发展历史,功能得到了不断的完善,性能越来越好,全球的用户也越来越多。PROTEUS之所以在全球得到应用,原因是它具有自身的特点和结构。PROTEUS电子设计软件由原理图输入模块(简称ISIS)、混合模型仿真器、动态器件库、高级图形分析模块、处理器仿真模型及PCB板设计编辑(简称ARES)六部分组成,如图6.1所示。图6-1 PROTEUS基本组成 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。目前Proteus的最新版为8.0,ARM cortex处理器被增加,在7.10中已经增加DSP系列(TMS320)。图6-2 程序代码加载6.2.2、硬件电路总图与仿真打开Proteus界面,点击运行按钮启动系统仿真。硬件总图如下:图6-3总图(1)按下BUT2一次图6-4 BUT按下一次(2)BUT2按下5次图6-5按下BUT2 5次(3)按下BUT1复位图6-6按下BUT2第7章 操作方法在Proteus界面,点击运行后,按下BUT1进行复位。然后按BUT2输入脉冲,LED显示1开始计数。每按下一次LED显示屏加1。直到加到9,再按下一次,LED显示屏回到0。无论按下几次BUT2,只要按下一次BUT1,计数归0(LED显示屏显示0)。第8章 课程设计总结回顾起此
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 参加拓展训练的心得体会
- 产科模拟训练在降低分娩并发症中的价值
- 初中英语口语练习资料
- 参加寒假社会实践活动的总结(35篇)
- 创业团队建设实战指南
- 颅脑外伤病人的护理措施培训
- 云计算支持的多中心虚拟协作
- 主动脉瓣狭窄跨瓣压差分析
- 主动脉壁内血肿介入治疗的模拟决策流程
- 2025年大学生毕业论文撰写格式相关要求
- 2025至2030中国纤维铺设系统行业项目调研及市场前景预测评估报告
- 知道智慧树工程图学课后章节测试满分答案满分测试答案
- 心内科室简介
- 铁路司机培训方案(3篇)
- 2025至2030中国番茄加工行业发展趋势分析与未来投资战略咨询研究报告
- 礼仪与传统文化课件
- 观感质量验收标准
- 2025-2030中国打码机行业市场发展分析及竞争格局与投资前景研究报告
- 急危重症患者手术护理专家共识
- 大气压强教学课件初中物理教科版(2024)八年级下册
- 仓库安全案例分析
评论
0/150
提交评论