可编程计数器

  • 格式:doc
  • 大小:116.55 KB
  • 文档页数:15

课程设计报告学生姓名:学号:学院: 电气工程学院班级: 电自091题目: 可编程计数器指导教师:职称:目录1.设计目的及要求 (1)1.1protues的介绍 (1)1.2 keil的介绍 (2)2.单片机简介 (3)3.系统硬件及主要模块设计原理 (3)3.1LED模块和显示原理 (4)3.2震荡电路模块和原理 (6)3.3复位电路模块和原理 (7)3.4按键电路和原理 (8)3.5设计总电路和原理 (10)4.设计汇编程序 (11)5.心得体会 (13)6.参考文献 (15)1.设计目的及要求掌握并且能够应用protues及keil软件。

学会一些常用电子器件的使用方法。

利用这两个软件能够设计基本电路并进行仿真。

本次课设得要求是:利用单片机设计一个闭路系统,编写源程序,使之能够运行。

1.1 proteus介绍Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

其功能特点Protues软件具有其它EDA工具软件(例:multisim)的功能。

这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真革命性的特点(1)互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

(2)仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。

1.2keil介绍Keil C51开发系统基本知识Keil C51开发系统基本知识1. 系统概述Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

下面详细介绍Keil C51开发系统各部分功能和使用。

2. Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,uVision与Ishell 分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编译器编辑C或汇编源文件。

然后分别由C51及C51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

2.单片机简介单片机它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。

51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。

在今后很长一段时间内51系列单片机仍将占据嵌入式系统产品的中低端市场。

汇编语言是本设计的程序设计语言,它比低级语言更通俗易懂,设计更为方便,故采用它来设计程序。

单片机全称为单片微型计算机(Single Chip Microcomputer)。

因为单片机主要用于控制系统中,所以又称微控制(Microcontroller Unit,MCU)或嵌入式控制器(Embedded Controller)。

它具有嵌入式应用系统所要求的体系结构,微处理器,指令系统,总线方式,管理模式等。

他把计算机的基本部件都微型化集成到一块芯片上了,通常片内部都含有中央处理部件(CPU),数据存储器(RAM),程序存储器(ROM,EPROM,Flsh ROM),定时器/计数器和各种输入/输出(I/O)接口他们之间的相互连接结构如图1-1所示。

图1-1 单片机结构89C51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。

89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·数据存储器(RAM)89C51内部有128个8位用户数据存储单元和128个专用寄CPUROMRAM 定时器/ 计数器 I/O 外设接口时钟存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

·程序存储器(ROM):89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

·定时/计数器(ROM):89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

·并行输入输出(I/O)口:89C51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

·全双工串行口:89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

·中断系统:89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

·时钟电路:89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但89C51单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。

本课设使用AT89C51加上少许的外围电路就可做成一个计数器,并在记数到99时自动归零。

本文旨在从硬件和软件上具体分析其设计方法。

系统整体硬件电路包括,电源部分、显示部分、按键调整部分以及单片机主板部分。

主机包括秒定时输入电路、按键控制电路、电源电路、LED 显示电路等,从机包括LED 显示电路、外接芯片等。

其中主机的秒分定时值由P2和P3口进行选择输入,设置3个按键分别控制时钟的走、停和清除(复位);主机LED 采用7 段共阴极数码管,从机LED 采用多个发光二极管阵列组成字形段码,以满足较远距离清晰显示。

3.系统硬件及主要模块设计原理3.1 LED模块和显示原理LED显示器又称为数码管,LED显示器由8个发光二极管组成。

中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。

LEDD显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。

本次电路设计采用的是共阴极数码管,通过动态扫描方式驱动。

3.2震荡电路模块和原理本次设计要使用到AT89C52单片机的时钟振荡功能。

AT89C52中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和输出端。

这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器。

振荡电路如下图所示图3-6 时钟振荡电路如图所示,外接石英晶体或者陶瓷谐振器以及电容C1,C2接在放大器的反馈电路中构成并联谐振电路。

谐振器本身对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度的稳定性,如果使用石英晶体,推荐使用30pF,而使用陶瓷谐振器建议选择40pF。

本次设计使用的是石英晶体谐振器,因此采用30pF的电容,频率大小采用12MHZ与6MHZ均可,这里采用的是12MHZ 晶振。

3.3复位电路模块和原理复位电路虽然简单,但其作用非常重要。

一个单片机系统能复正常运行,首先要检查是否能复位成功,其中手动复位开关比较常用,图4-3手动开关复位电路手动开关未按下之前,电容正极处于充电状态,当按键按下去后,VCC与GND导通,电容放电,从而实现放电。

3.4按键电路和原理采用一一对应式方式输入设计键盘控制电路部分那么在什么时候使用上拉电阻呢?总结如下:(1)、当TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。

(2)、OC门电路必须加上拉电阻,以提高输出的搞电平值。

(3)、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

(4)、在CMOS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻降低输入阻抗,提供泄荷通路。

(5)、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限,增强抗干扰能力。

(6)、提高总线的抗电磁干扰能力。

管脚悬空就比较容易接受外界的电磁干扰。

(7)、长线传输中电阻不匹配容易引起反射波干扰,加上拉电阻使电阻匹配,有效的抑制反射波干扰[10]。

另外,上拉电阻阻值的选择原则包括:(1)、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。

(2)、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。

(3)、对于高速电路,过大的上拉电阻可能边沿变平缓。