当前位置:文档之家› 单片机课程设计说明书范文概论

单片机课程设计说明书范文概论

单片机课程设计说明书范文概论
单片机课程设计说明书范文概论

目录

1 绪论 (1)

1.1 概述 (1)

1.2 设计目的 (1)

2 设计任务及内容 (1)

2.1 设计任务 (1)

2.2 设计内容 (1)

3 总体设计及核心器件简介 (2)

3.1 总体设计 (2)

3.2 硬件设计 (2)

3.2.1 硬件系统总体设计 (2)

3.2.2 单片机的选择 (3)

3.2.3 显示电路的选择与设计 (4)

3.2.4 按键电路的选择与设计 (6)

3.2.5 时钟电路的选择与设计 (7)

3.2.6 复位电路的选择与设计 (8)

3.2.7 系统总电路的设计 (10)

3.3 软件设计 (11)

3.3.1 程序设计思想 (11)

3.3.2 系统资源的分配 (11)

3.3.3 主程序设计 (11)

3.3.4 中断程序设计 (12)

4 数字电子秒表的安装与调试 (15)

4.1 软件的仿真与调试 (15)

4.2 硬件的安装与调试 (15)

4.2 汇编程序 (16)

5 设计体会与总结 (21)

1 绪论

1.1 概述

单片微型计算机简称单片机,又称微控制器,是微型计算机的一个重要分支。单片机是20世纪七十年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和终端系统与同一硅片的器件。20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。由于单片机功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取到了一系列的科研成果,成为传统工业技术改造和新产品更新换代的理想机种,并具有广阔的发展前景。

本设计运用所学的单片机知识,将单片机与普通秒表相结合设计了电子秒表,具有显示直观、读取方便、精度高等优良特点,在计时中应用广泛。

1.2 设计目的

加强对51系列单片机的构造了解及应用,熟悉汇编语言或C语言编程,综合掌握和理解设计各部分的工作原理、设计过程、芯片器件的选择方法、模块化编程等多项知识。

(1)用单片机模拟实现具体应用使个人设计系统能够真正使用;

(2)把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼;(3)提高利用已学的知识分析和解决问题的能力;

(4)提高动手实践能力。

2 设计任务及内容

2.1 设计任务

结合教材及参考资料,用80C51单片机模拟实现电子秒表的开启,计时,停止并显示时间等功能。

2.2 设计内容

(1)填写设计任务书;

(2)进行总体设计,画出设计原理图;

(3)用PROTEUS软件画出设计电路图;

(4)用Keil软件编写程序;

(5)在PROTEUS里模拟并调试程序达到期望功能。

3 总体设计及核心器件简介

3.1 总体设计

本设计中包括硬件电路的设计和系统程序的设计。其硬件电路的设计主要包括单片机的选择、显示电路的选择与设计、按键电路的选择与设计、时钟电路的选择与设计、复位电路的选择与设计等。系统程序的设计包括系统程序设计思路、系统资源的分配、汇编程序的设计等。

3.2 硬件设计

3.2.1 硬件系统总体设计

主控制器选用80C51单片机,显示电路采用共阴极LED数码管显示计时时间,四个按键均采用触点式按键。

1.利用80C51单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其实现开始暂停的功能。P0口输出段码数据,P

2.2-P2.4口作列扫描输出,P1.0、P

3.2、P3.3口接三个按钮开关,分别实现电子秒表的启动、开始、暂停功能。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图3.1进行设计。

图3.1 数字秒表硬件电路基本原理图

2.根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了四个按键和三位数码管显示时间,三个按键分别是启动、开始,停止和复位按键。利用这四个键来实现秒表的全部功能,而三位数码管则能显示00.0-99.9秒的计时。

本设计中,数码管显示的数据存放在内存单元7BH-7DH中。其中7BH存放0.1秒位数据,7CH存放1秒位数据,7DH存放10秒位数据,每一地址单元内均为十进制BCD 码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出7BH-7DH某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。

3.计时采用定时器T0中断完成,定时溢出中断周期为0.1s,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对0.1秒计数单元进行加一,达到10次就对

1秒位进行加一,依次类推,直到99.9秒重新复位。

4.按键的处理。这两个键采用中断的方法来识别,对开始和停止键采用外部中断INT0、INT1的方式,即A、B键分别接P3.2、P3.3口。

3.2.2 单片机的选择

本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并根据自己的实际情况,选择了80C51。

80C51是MCS-51系列单片机中的一个子系列,是一族高性能兼容型单片机。其内部资源分配和性能如下;8位CPU;寻址能力2X64K;4KB的内部ROM和128B内部RAM;四个8位I/O接口电路;一个串行全双工异步接口;五个中断源和两个中断优先级;采用CMOS工艺电流小,低功耗。

80C51各引脚主要功能简介:

(1)Vss(20脚):接地

(2)VCC(40脚): 主电源+5V

(3)XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。

XTAL2(18脚):接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。

(4) RST(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)

(5)PSEN(29脚): 在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL 负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。

(6)ALE/PROG(30脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。

(7)EA/VPP(31脚):当EA端输入高电平时,CPU从片内程序存储器地址0000单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时,此引脚用于施加编程电压VPP。

(8)输入/输出引脚:

1)P0.0—P0.7 (39脚—32脚)

2)P1.0—P1.7 (01脚—08脚)

3)P2.0—P2.7 (26脚—21脚)

4)P3.0—P3.7 (10脚—17脚)

图3.2 80C51引脚图

3.2.3 显示电路的选择与设计

1.对于数字显示电路,通常采用液晶显示或数码管显示。对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观看;对于具有驱动电路和单片机接口的液晶显示模块(字符或点阵),一般多采用并行接口,对单片机的接口要求较高,占用资源多。而数码管作为一种主动显示器件,具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或是远距离操作。因此,本设计的显示电路采用7段数码管作为显示介质。

2. 数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用五位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。

动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。

图3.3 显示电路基本原理图

3. 数码显示管分为共阳数码管和共阴数码管两种

共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,如图3.4(b),通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

图3.4(a)数码管引脚图(b)共阳极内部结构图(c)共阴极内部结构共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起,如图3.4(c),通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

本设计采用共阴极数码显示管做显示电路,由于采用的是共阴的数码显示管,所以只要数码管的a、b、c、d、e、f、g、dp引脚为高电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码见表3.1。

表3.1 共阴极数码显示管字型代码

字型共阴极代码字型共阴极代码

0 3FH 5 6DH

1 06H 6 7DH

2 5BH 7 07H

3 4FH 8 7FH

4 66H 9 6FH

4. 动态显示电路由显示块、字形码驱动模块、字位驱动模块三部分组成。如图3.3所示为本系统的3位LED动态显示器接口电路。图中,3个数码管的8段段选线分别与外接上拉电阻的单片机P0口对应相连,而3个数码管的位控制端则和NPN型三极管的集电极相连接。单片机的P2.2~P2.4口则分别对应数码显示管的最低位到最高位,

P2.2~P2.4口分别和三个NPN型三极管的基极相连,做三极管导通的控制端,而NPN 型三极管选用9013型三极管。根据9013的资料显示:其耐压值为40V,最大功率为0.65W,最大电流为0.5A,电气性能完全满足本设计的要求。另外数码管显示是采用动态显示,所以对三极管的开关频率有一定的要求。根据电子秒表的设计计算可知动态显示的频率最高为3KHz,而9013的导通频率为150MHz,完全能满足本设计的要求,所以最终选取9013三极管最为位控制开关。

5.由于数码管是有P0口来驱动,它内部没有上拉电阻,作为输出口时驱动能力比较弱,不能点亮数码显示管,因此P0口必须接上拉电阻来提高驱动能力。另外一位共阴数码管的驱动电流一般为20mA左右,如果电流太大容易造成数码管损坏,所以也需要根据电源的电压值来确定上拉电阻的大小。如果电阻过小,势必会形成灌电流过大,造成单片机IO的损坏,如果电阻过大,那么对拉电流没有太大的影响。电源供电电压为5V,当上拉电阻选用220Ω电阻时灌电流为22mA。不会损坏单片机的I/O口,同时也可以为数码显示管起到限制电流的保护作用。

3.2.4 按键电路的选择与设计

本设计中有四个按键,分别实现启动、开始、暂停和复位功能。按设计要求对开始和停止键采用外部中断INT0、INT1的方式,即A、B键分别接P3.2、P3.3口。四个按键均采用低电平有效,具体电路连接图如图3.5所示。

1.当按键没有按下时,单片机的I/O口直接连接电源,因此需要接上拉电阻来进行

限流,本设计中选取阻值为100Ω的电阻作为上拉电阻,根据计算可知此时的灌电流为50mA,查看80C51的资料得知次电流在安全范围内,符合安全设计要求。

2.按键电路中由于采用了外部中断,所以需要用到P3口的第二功能。P3口引脚的

第二功能如表2.2

图3.5 按键电路

表3.2 P3口引脚第二功能表

P3口引脚特殊功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 INT0(外部中断0请求输入端)

P3.3 INT1(外部中断1请求输入端)

P3.4 T0(定时器/计数器0计数脉冲输入端)

P3.5 T1(定时器/计数器1计数脉冲输入端)

P3.6 WR(片外数据存储器写选通信号输出端)

P3.7 RD(片内数据存储器读选通信号输出端)

3.2.5 时钟电路的选择与设计

单片机的时钟信号用来提供单片机内各种微操作的时间基准,80C51片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,80C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。

时钟发生器把振荡频率两分频,产生一个两相时钟信号P

1和P

2

供单片机使用。P

1

在每一个状态S的前半部分有效,P

2

在每个状态的后半部分有效。本设计采用的内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。本设计系统的时钟电路如图3.6所示。只要按照图3.6所示电路进行设计连接就能使系统可靠起振并

能稳定运行。图中,电容器C

1、C

2

起稳定振荡频率、快速起振的作用,电容值一般为

5~33pF。但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称

相关主题
文本预览
相关文档 最新文档