1、第 1 页 共 56 页江苏技术师范学院毕业设计说明书(论文)简易型数字化微控调节器的设计与实现序言微控调节器是以微处理器为核心的单回路智能调节器,在自动控制系统中,用它来构成不同的调节规律,以及对系统进行各种切换操作和控制。图 1 是调节器系统框图。微控调节器有以下特点:采用单片机作为运算控制核心,通过软件编程可实现各种运算功能,用键盘实现各种系统参数给定;键盘可以选择多种功能,任意给定各种参数并可数字显示;有自诊断功能,可以对调节器的自身电路进行检查,并用报警灯和开关输出信号的方式显示故障。图 1 微控调节器结构框图本次毕业设计(论文)主要是键盘和显示器的硬件扩展和软件设计,所以下面将着重
2、讲解键盘和显示器有关知识和内容。本文第一章绪论中介绍了单片机的发展、分类、应用介绍,AT89C51 的中断系统第 2 页 共 56 页江苏技术师范学院毕业设计说明书(论文)以及本次设计的任务和意义等等;第二章论述了 8255A 芯片结构、功能及控制字;第三章主要描述了系统扩展硬件电路设计、硬件设计图及所使用的芯片功能与特性;第四章中具体论述单片机、键盘和显示器的软件设计、仿真调试和硬件测试与调试。由于本人水平有限,加之时间仓促,论文中难免会有错误和不足之外,恳请指导老师和各位专家老师批评指正。第 3 页 共 56 页江苏技术师范学院毕业设计说明书(论文)第 1 章 绪论1.1 单片机发展概况
3、6单片机是在一块集成电路芯片上集中了控制器、存贮器、运算器和输入输出端口的单片微型计算机,体积小,耗电省。1971 年 Intel 公司首次发明了 4 位单片机,至今单片机已经发展到现在的几十种产品,有 4 位机、8 位机和 16 位机等,单片机的性能不断增强,但价格却越来越便宜。单片机以其高性价比和灵活性,在工业控制、仪器仪表和家电领域得到了广泛的应用。目前的单片机分通用型和专用型两种。MCS-51 系列单片机是属于通用型的单片机,通用型的单片机把开发资源全部公开,用户可以根据自己的应用系统进行设计,适用面广,应用灵活。低功耗是单片机所追求的一个指标,目前低功耗单片机的静态电流可以低至 A
4、或 nA 级。有的单片机还有等待、关断、睡眠等多种工作模式以降低功耗。单片机的低功耗在智能化仪表中有重要的应用。封装有双列直插和贴片系列,体积变得更小,另外,单片机的时钟频率也达到 20MHz 以上。1.2 单机的内部结构 4本次实验采用的是 AT89C51,AT89C51 是较为流行的单片机,资源丰富而价格低廉。这里不在详述它的结构和使用方法,只简单列出主要特点和资源如下:4K字节可编程闪烁存储器全静态工作:OHz-24MHz128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式第 4 页 共 56 页江苏技术师范学院毕业设计说明书(论
5、文)片内振荡器和时钟电路1.3 单片机应用介绍 61.3.1 单片机在数据处理中的应用单片机在应用中的数据处理有数制转换的处理、查表计算、函数计算等多种运算。可以利用单片机进行函数计算来处理数据,可以进行矩阵运算和微积分之类的复杂运算。1.3.2 单片机在工业控制中的应用在工业控制中的控制器,可以应用软件的方法,实现复杂的控制过程,改变控制算法方便。有丰富的逻辑判断和位操作指令,可以在开关量控制、顺序控制、逻辑控制中发挥作用。1.3.3 智能化仪器在仪表中引入单片机后,可以利用单片机完成数据的采集、处理、零位校正、数字显示、报警、记录打印等工作。使仪表具有智能化的功能,有温度计、流量计、气体分
6、析仪、转速表、电子秤、血压计、万用表、电度表等。1.4 AT89C51 中断系统 7单片机与外部设备交换信息可以采用两种方式,即查询方式和中断方式。由于中断具有 CPU 效率高、适合于实时控制系统等优点,因而更为常用。中断系统也就是中断管理系统。所谓“中断” ,即 CPU 暂时终止当前正在执行的程序而转去执行中断服务子程序,处理完以后,再回到原来中断的地方,继续原来的工作。实现这种功能的部件称为中断系统。发出中断的申请的来源就称为中断源。AT89C51 单片机内部有五个中断源,分别是外部中断 0、定时器 T0、外部中断 1、定时器 T1、和串行口中断。这次设计中用到了外部中断 1,以实现键盘的
7、识别与数码管是显示。外部中断 1 入口地址为 0013H第 5 页 共 56 页江苏技术师范学院毕业设计说明书(论文)D7 D6 D5 D4 D3 D2 D1 D0TF1 - TF0 - IE1 IT1 IE0 IT0AT89C51 单片机的中断系统从用户的角度来看,就是若干个特殊功能寄存器: 定时器控制寄存器 TCON 中断允许寄存器 IE 中断优先级控制寄存器 IP 串行口控制寄存器 SCON通过以上特殊功能寄存器中相应的位置 1 或清 0,可实现各种中断控制功能。1.4.1 外部中断源AT89C51 有 5 个中断源,其中 2 个外部中断源 INT0(P3.2)和 INT1(P3.3)
8、,3 个内部中断源,分别是定时器/计数器 T0、T1 的溢出中断源和串行口的发送接受中断。这些中断源分别锁在 TCON、SCON 的相应位中。INT0、INT1 上输入的两个外部中断源和它们的触发方式控制位存在特殊寄存器TCON 的低四位,TCON 的高四位为 T1、T0 的运行控制位和溢出标志位:IE0/IE1 外部中断 0/1 请求源(INT0,P3.2/ INT1,P3.3)标志。IE0/IE1=1 外部中断 0/1 向 CPU 请求中断,当 CPU 响应该中断时,由硬件清“0”IE0/IE1(边沿触发方式) 。IT0/IT1 外部中断 0/1 触发方式控制位。IT0/IT1=0,外部中
9、断 0/1 为电平触发方式;IT0/IT1=1,外部中断 0/1 为边沿触发方式。1.4.2 中断使能控制单片机对中断源的开放或屏蔽,每个中断源是否被允许中断,是由 AT89C51 内部的中断允许寄存器 IE 控制的(IE 为特殊功能寄存器,它的字节地址为 A8H) ,其格式如下:D7 D6 D5 D4 D3 D2 D1 D0EA - - ES ET1 EX1 ET0 EX0EA CPU 的中断开放标志.EA=1,CPU 开放中断;EA=0,CPU 屏蔽所有的中断申请。第 6 页 共 56 页江苏技术师范学院毕业设计说明书(论文)ES 串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止
10、串行口中断。ET1/ ET0 定时器/计数器 T1/T0 的溢出中断允许位。 ET1/ET0=1,允许 T1/T0 中断;ET1/ET0=0,禁止 T1/T0 中断。EX1/ EX0 外部中断 1 中断允许位。EX1/ EX0=1 允许外部中断 1/0 中断;EX1/EX0=0,禁止外部中断 1/0 中断。1.5 设计的任务与意义设计的任务是:1.完成系统键盘和显示部分的硬件扩展设计;2.编写键盘处理和显示程序并调试;3.与系统联调。主要要完成的是键盘/显示电路的硬件扩展和软件设计,设计框图如图 1-1 所示中断 1AT89C51 8255ALED 显示键盘图 1-1 键盘显示扩展框图智能化仪
11、器与传统仪器的最大区别是:前者对于仪器的操作是通过计算机的外部输入/输出设备来进行的,而键盘和显示器则是最常用的两个外部输入/输出设备,是构成人机对话的一种基本方式。键盘能实现向计算机输入数据、传送命令等功能;显示器则显示控制过程量或结果数值。后者没有上述特点。通过本次毕业设计,可以充分掌握了键盘与显示器的硬件扩展和软件的设计。第 7 页 共 56 页江苏技术师范学院毕业设计说明书(论文)第 2 章 可编程并行接口 8255A2.1 可编程并行接口 8255A 的引脚说明 58255A 芯片有 40 脚的 DIP 和 44 脚的 PLCC 两种封装形式。右图 2-1 是 8255A 芯片DIP
12、 封装分配图。8255A 芯片具有 24 条 I/O 引脚,这 24 条引脚分为 3 部分,分别称之为 A 口,B 口和 C 口。其中:PA0PA7:A 组数据信号PB0PB7:B 组数据信号PC0PC7:C 组数据信号RD 读信号,低有效。当该信号有效时,CPU 可以从 8255A中读出数据。WR:写信号,低有效。当该信号有效时,CPU 可以将数据或控制字写入 8255A。D7D0:双向数据线。CS:片选信号,低有效。RESET:复位线A1、A0:端口选择信号。当 A1,A0 为 00 选中 A 口,为01 选中 B 口,为 10 选中 C 口,为 11 选中控制口。RESET:复位线(高电
13、平有效) ,当有效时,A 口,B 口和C 口均为输入口,各口的锁存器均被清零。图 2-1 8255A 的引脚图第 8 页 共 56 页江苏技术师范学院毕业设计说明书(论文)2.2 8255A 逻辑框图 5图 2-2 8255A 逻辑框图从上图中可以看出,左边的信号与 CPU 相连;右边的信号与外设相连。同时可以看出,8255A 由外设接口、A 口和 B 口控制、读/写控制电路和数据总线缓存器四部分构成。2.2.1 外设接口8255A 有 A、B、C 三个端口,每个端口都是 8 位的,都可以通过编程选择作为输入或输出,但每个端口都有自己的特点。A 口:有一个 8 位的数据输入锁存器和一个 8 位
14、输出锁存/缓冲器。端口 A 不管用作输入还是输出,数据均锁存。B 口:有一个 8 位的数据输入缓冲器和个 8 位输出锁存/缓冲器。端口 B 用作输入时,数据不锁存;用作输出时,数据锁存。C 口:有一个 8 位的数据输入缓冲器和个 8 位输出锁存/缓冲器。端口 C 用作输入时,数据不锁存;用作输出时,数据锁存。第 9 页 共 56 页江苏技术师范学院毕业设计说明书(论文)2.2.2 读/写控制电路读/写控制电路复杂管理 8255A 的数据传输过程,它接收 CS 和来自系统地址总线的信号 A1、A0 以及来自控制总线的信号 RESET、WR、RD,将这些信号组合之后,得到对 A 组控制部件和 B
15、组控制部件的命令,并将命令发送给这两个部件,以完成对数据、状态信息和控制信息的传输。2.3.3 数据总线缓存器这是一个双向三态的 8 位数据缓存器,8255A 正是通过它与系统总线相连。输入数据、输出数据和命令都是通过该缓存器传递的。2.3 8255A 的工作方式的功能 51 方式 0:基本输入/输出方式 在这种工作方式下,不需要任何选通信号,A 口、B 口及 C 口的两个 4 位口(C 口的高 4 位和低 4 位)都可以由程序设定为基本输入或输出。作为输出口时,输出数据被锁存;作为输入口时,输入数据不被锁存。 2 方式 1:选通输入/输出方式 只有 A 口和 B 口可以选择这种工作方式。在这
16、种工作方式下,A、B、C 三个口分为A、B 两组:A 组包括 A 口和 C 口的高 4 位,A 口可由编程设定为输入或输出口,C 口的高 4 位用作 A 口输入/输出操作的控制联络信号;B 组包括 B 口和 C 口的低 4 位,B 口可由编程设定为输入或输出口,C 口的低 4 位用作 B 口输入/输出操作的控制联络信号。A 口和 B 口的输入或输出数据都被锁存。 3 方式 2:双向传递方式 在这种工作方式下,外设既能在 A 口的 8 条引线上发送数据,又能接收数据。与方式 1 类似,A 口工作于方式 2 时,需要借用 C 口的 5 条信号线用作控制和状态线,A口的输入和输出均带有锁存。 第 1
17、0 页 共 56 页江苏技术师范学院毕业设计说明书(论文)2.4 8255A 的控制字 52.4.1 8255A 的工作方式控制字格式8255A 有三种工作方式:方式 0:基本输入/输出方式;方式 1:选通输入/输出方式;方式 2:双向传送方式。 如图 8255A 的工作方式控制字格式 :图 2-3 8255A 的方式控制字格式2.4.2 8255A 位控字8255A 还有一个位控字,用来设置 C 口某位的状态,而不影响其他位。 位控制字的格式如图 2-4 所示,其 D7=0 是位控字的标志位。第 11 页 共 56 页江苏技术师范学院毕业设计说明书(论文)图 2-4 PC 口置位/复位控制字
18、格式2.5 8255A 的读写信号8255A 中有三个输入输出端口。另外,内部还有一个控制寄存器,共有四个端口,有 A1、A0 来加以选择。A1、A0 和 , 及 的组合所实现的各种功能见表 2-1。RDWCS表 2-1 8255A 的读写信号A1 A0 S操作001010000111000A口数据总线B口数据总线C 口数据总线输入操作00110101111100000000数据总线A口数据总线B口数据总线C口数据总线 控制口输出操作11011100数据总线为高阻态非法状态数据总线为高阻态禁止操作第 12 页 共 56 页江苏技术师范学院毕业设计说明书(论文)2.6 8255A 选通信号2.7
19、 8255A 与 AT89C51 的连接 8 图 2-5 8255A 与 AT89C51 系列单片机的连接图中 8255A 的 CS 接到 AT89C51 的 P2.7 端,A1、A0 接到锁存后的 P0.1、P0.0 端。在这种接法下,8255A 各端口的地址为(假设未用到的地址线取 1):A 口:7FFCH;B 口:7FFDH;C 口:7FFEH;控制口:7FFFH。A1 A0 CS 所选通的端口0 0 0 A 口0 1 0 B 口1 0 0 C 口1 1 0 命令口表 2-2 8255 选通信号第 13 页 共 56 页江苏技术师范学院毕业设计说明书(论文)第 3 章 硬件电路及其设计3
20、.1 键盘及其接口技术 3在计算机控制系统中,除了与生产过程进行信息传递的过程输入输出设备以外,还有与操作人员进行信息交换的常规输入设备和输出设备。键盘是一种最常用的输入设备,它是一组按键的集合,从功能上可分为数字键和功能键两种,作用是输入数据与命令,查询和控制系统的工作状态,实现简单的人机对话。键盘接口电路可分为编码键盘和非编码键盘两种类型。编码键盘采用硬件编码电路来实现键的编码,每按下一个键,键盘便能自动产生按键代码。编码键盘主要有 BCD码键盘、ASCII 码键盘等类型。非编码键盘仅提供按键的通或断状态, 按键代码的产生与识别由软件完成。编码键盘的特点是使用方便,占用 CPU 时间少,但
21、对按键的检测与消除抖动干扰是靠硬件电路来完成的,因而硬件电路复杂、成本高。而非编码键盘硬件电路简单,成本低,但占用 CPU 的时间较长。本次毕业设计使用的是基于 AT89C51 中断的非编码键盘,具有 CPU 占用时间少,成本底的优点。3.1.1 键盘输入电路1 键盘的抖动干扰由于机械触点的弹性振动,按键在按下时不会马上稳定地接通而在弹起时也不能一下子完全地断开,因而在按键闭合和断开的瞬间均会出现一连串的抖动,这称为按键的抖动干扰,其产生的波形如图 3-1 所示,当按键按下时会产生前沿抖动,当按键弹起时会产生后沿抖动。这是所有机械触点式按键在状态输出时的共性问题,抖动的时间长短取决于按键的机械
22、特性与操作状态,一般为 10100ms,这是键处理程序设计时要考虑的一个重要参数。第 14 页 共 56 页江苏技术师范学院毕业设计说明书(论文) 前 沿 抖 动 后 沿 抖 动图 6-2按 键 的 抖 动 干 扰闭 合 稳 定 释 放 稳 定键 按 下 键 释 放图 3-1 按键的抖动干扰2 抖动干扰的消除按键的抖动会造成按一次键产生的开关状态被 CPU 误读几次。为了使 CPU 能正确地读取按键状态,必须在按键闭合或断开时,消除产生的前沿或后沿抖动,去抖动的方法有硬件方法和软件方法两种。 硬件方法硬件方法是设计一个滤波延时电路或单稳态电路等硬件电路来避开按键的抖动时间。图 3-2 是由 R
23、2 和 C 组成的滤波延时消抖电路,设置在按键 S 与 CPU 数据线 Di 之间。按键 S 未按下时,电容两端电压为 0,即与非门输入 Vi 为 0,输出 Vo 为 1。当 S按下时,由于 C 两端电压不能突变,充电电压 Vi 在充电时间内未达到与非门的开启电压,门的输出 Vo 将不会改变,直到充电电压 Vi 大于门的开启电压时,与非门的输出Vo 才变为 0, 这段充电延迟时间取决于 R1、R2 和 C 值的大小,电路设计时只要使之大于或等于100ms 即可避开按键抖动的影响。同理,按键 S 断开时,即使出现抖动,由于 C 的放电延迟过程,也会消除按键抖动的影响图中,V1 是未施加滤波电路含
24、有前沿抖动、后沿抖动的波形,V2 是施加滤波电路后消除抖动的波形。第 15 页 共 56 页江苏技术师范学院毕业设计说明书(论文)2RV5+1R1V2V图 5-3 滤 波 延 时 消 抖 电 路SiVoV(Di)(Di)图 3-2 滤波延时消抖电路 软件方法软件方法是指编制一段时间大于 10ms 的延时程序,在第一次检测到有键按下时,执行这段延时子程序使键的前沿抖动消失后再检测该键状态,如果该键仍然保持闭合状态电平,则确认为该键已稳定按下,否则无键按下,从而消除了抖动的影响。同理,在检测到按键释放后,也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。这次毕业设计就是采用软件延时的方
25、法消除按键的抖动的。3.1.2 非编码独立式键盘1 查询法接口电路现以 3 个按键为例,图 3-3 即为独立式键盘查询法接口电路。按键 S0、S1、S2 分别通过上拉电阻与 CPU 的数据线 D0、D1、D2 相连,当按键 Si 闭合时,数据线直接接地,因而 CPU 读入 Di=0;当按键 Si 断开时,数据线通过上拉电阻接到正电源,因而CPU 读入 Di=1。该接口电路实现的功能为:查询检测是否有键按下,如有键闭合,则消除抖动,再判断键号,然后转入相应的键处理。其程序流程如图 3-4 所示。采用查询法时,必须保证 CPU 每隔一定时间主动地去扫描按键一次,该扫描时间间隔应小于两次按键的时间间
26、隔,否则会有按键不响应的情形。显然这种方式占用 CPU时间比较多,不适宜在智能仪表中使用。 第 16 页 共 56 页江苏技术师范学院毕业设计说明书(论文)图 3-3 独立式键盘结构原理图 5-4 独 立 式 键 盘 结 构 原 理D0 V5+D1D2S0S1S2图 3-4 独立式键盘查询法程序流程图2 中断法接口电路 2这种方法是本次设计中用到的键盘扫描方法,以 8 个按键为例,图 3-5 是一个智能控制系统的功能键分配图,S0、S1、S2、S3、S4、S5 代表各参数显示,另外还有加键和减键实现加 1 和减 1 功能。8 个按键开关 S0、S1、S2、S3、S4、S5 加键和减键与8255
27、A 的 PC0PC7 相连,每个开关按键还通过一个限流电阻与电源 Vcc 相连接。另外,第 17 页 共 56 页江苏技术师范学院毕业设计说明书(论文)8 个按键开关还与 8 输入与非门 7430 相连,7430 的输出接 7404 非门的输入,然后7404 非门的输出与 AT89C51 的外部中断 1 的输入引脚 相连接,这是一种典型的中_1INT断法键盘接口电路。图 3-5 智能控制系统基于中断的功能键分配图这里的按键开关采用常开开关,即在没有执行按键动作时,开关是断开。合理选择限流电阻的阻值,推荐为 10 千欧姆,在开关断开时,单片机的输入引脚和 8 输入与非门的 8 个输入引脚都为高电
28、平。当某个按键开关被按下,与该键开关相接的 AT89C51的外部中断 1 的输入引脚 为低电平,它向 AT89C51 发出中断申请。如果这时外部_1INT中断 1 的中断被允许,则 CPU 将响应中断。在中断服务程序中,首先读入 8255A 的引脚 PC0引脚 PC7 的状态;接着执行一段 10ms 的延时程序;再次读入引脚 PC0引脚PC7 的状态,通过比较两次读入的状态实现软件去抖动。然后依次查键号,并转入键功能处理程序,最后恢复现场、中断返回。显然,查询顺序代表了按键的排队优先级。确定有按键被按下,利用程序可以判断哪一个引脚的输入为低电平,从而确定哪一个按键被按下。采用中断法时,CPU
29、对按键而言是被动方式,在无键按下时不占用 CPU 时间,因而XTAL218XTAL119ALE30EA31PSEN29RST9P0./AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732P1.01P1.2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD1P3.2/INT012P3./INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2./A1023P2.3/A12
30、4P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D034D13D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB42PB523PB624PB725PC014PC115PC216PC317PC413PC512PC61PC710U2825A S0S1S2S3S4S5加 键减 键123456112874LS301274LS04R?30R30R?30R30R?30R30R第 18 页 共 56 页江苏技术师范学院
31、毕业设计说明书(论文)CPU 有更多的时间执行其他程序。上述分析说明:独立式键盘接口电路简单灵活,软件结构简单,但每个按键必须占用一根 I/O 口线,在按键数量较多时,需要占用较多的 I/O 口线。比如 64 个按键,需要有 64 根线,不仅连线复杂,查询按键的时间也较长。故这种键盘电路只适合于按键数量比较少的小型控制系统或智能控制仪表中。3.2 显示及显示接口 7单片机系统中,常用的显示器有:发光二极管显示器,简称 LED;液晶显示器,简称 LCD;荧光管显示器等。如果需要显示的内容只是数码和某些字符,可使用的显示器有 LED 或 LCD 这两种显示器成本低廉,配置灵活,与单片机连接方便。3
32、.2.1 LED 显示器的结构和工作原理1LED 显示器的结构 a) b) c)图 3-6 七段 LED 数码管a) 管脚配置 b)共阴极 c)共阳极第 19 页 共 56 页江苏技术师范学院毕业设计说明书(论文)2字段码当 LED 显示器与单片机连接时,一般是将 LED 各发光二极管的引脚 a、b、g、dp顺序接到单片机的一个并行 I/O 口上。 如表 3-1 所示:为共阴极 LED 和共阳极 LED 显示不同字符的字段码 显示字符共阴极字段码共阳极字段码显示字 共阴极字 共阳极字0 3FH C0H A 77H 88H1 06H F9H B 7CH 83H2 5BH A4H C 39H C6
33、H3 4FH B0H D 5EH A1H4 66H 99H E 79H 86H5 6DH 92H F 71H 8EH6 7DH 82H P 73H 8CH7 07H F8H 熄灭 00H FFH8 7FH 80H 9 6FH 90H 表 3-1 LED 显示器的字段码表(七段码)3N 位 LED 显示器 第 20 页 共 56 页江苏技术师范学院毕业设计说明书(论文)图 3-7 N 位 LED 显示器控制3.2.2 LED 显示器接口及显示方式 图 3-8 八位 LED 动态显示接口图 3-8 中,8255A 的 PA 口由 7407 同相驱动后接数码管的片选信号,8255A 的 PB口接上拉
34、电阻后直接与数码管的码段信号相连。上面的电阻在实际工作中并不一定要第 21 页 共 56 页江苏技术师范学院毕业设计说明书(论文)加,如果发现数码管的亮度太暗,则要加上上拉电阻,起到拉高段选信号电压的作用。3.3 同相驱动器 74077407 是同相驱动器,其管脚如图 3-9 所示 引出端符号:输入端:1A6A 输出端:1Y6Y 极限值电源电压:7V输入电压:5.5V输出截止态电压:30V工作环境温度:070存储温度:-65150 功能表 Y=A表 3-2 7407 功能表输入 输出A YLHLH3.4 与非门 743074LS30 为 8 输入端与非门(正逻辑) ,管脚如图 3-10 所示
35、端口符号输入端:AH输出端:Y图 3-10 7430 管脚封装图图 3-9 7407 管脚封装图第 22 页 共 56 页江苏技术师范学院毕业设计说明书(论文) 极限值电源电压:7V输入电压:7V 功能表见表 3-3 _ABCDEFGHY表 3-3 7430 功能表输入 输出A B C D E F G H Y全 H L有 L H3.5 反向器 74047404 其实就是非门,输出的信号与输入的信号相反。其管脚如图 2-11 所示 引出端符号输入端:1A6A 输出端:1Y6Y 极限值电源电压:7V输入电压:7V 功能表_AY3.6 硬件电路设计基于上面的键盘与显示器的设计,可以将上面两方面的硬件
36、电路结合成如图附录二所示。需要注意的是,按键必须接拉高电阻,这样可以防止干扰,在按键未按下时,可以提供一个+5V 的电压。数码管选片信号需经过 7407,因为这样可以提供一个标准选片信号给数码管。图 3-11 7404 管脚封装图第 23 页 共 56 页江苏技术师范学院毕业设计说明书(论文)第 4 章 软件设计调试及硬件调试4.1 软件设计软件设计具体程序见附录一。软件要实现的功能是按下 P、I、D、MV、PH、PL 键后在数码管上显示键名和相应内容,按下加 1 键或减 1 键将当前显示的内容加 1 或减 1,并送回相应显示单元保存起来。键名编码及显示内容单元分配见如表 4-1表 4-1 键
37、名编码及显示内容单元分配4.1.1 键 盘扫描程序设计 1第 3 章中讲了键盘的基本原理,其中在 3.1.2 非编码独立式键盘当中的第 2 点讲了基于中断的键盘接口电路。因为本次设计的键盘不多,所以就采用了这种方法。见图 3-5 独立式键盘中断法接口电路,按键 S0S5、加键和减键个具有一种功能。当它们全部打开时,均为高电平,经 8 输入与非门及反向器后仍为高电平,因而不会发生中断。当其中某一键按下时, 端变为低电平,向 CPU 响应后,用查询的方法找到_1INT申请中断的功能键,其原理与中断扫描发产生的中断原理基本相同,不同的是 CPU 响应中断后,不是采用扫描法求得键值,而是通过软件查询的
38、方法查找功能键的入口地键名 键名编码 显示内容存放单元 初值P 73H 61H 60H 999I 20H 63H 62H 1000D 5EH 65H 64H 0MV 37H 67H 66H /PH 73H 76H 69H 68H 106PL 73H 38H 6BH 6AH 0第 24 页 共 56 页江苏技术师范学院毕业设计说明书(论文)址。软件设计框图如下图 4-1:加/减功能键执行框图如图 4-2开始中断 1 初始化显示主程序循环执行按键中断?转到各个功能键相应入口地址NY刷新显示程序图 4-1 键盘中断服务程序框图第 25 页 共 56 页江苏技术师范学院毕业设计说明书(论文)执行加/减
39、键服务子程序功能将结果送回相应键存储单元中断返回外部中断 1 服务程序按键判断保存键号图 4-2 加/减功能键执行框图4.1.2 显示主程序设计 9显示器显示一般有两种方式,一种是静态显示方式,另一种是动态显示方式。本次毕业设计的显示是采用动态显示方式。所谓动态显示,就是一位一位地轮流点亮各位显示器(扫描) ,对于每个显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现较高较稳定的显示。显示器的位数是 8 位时,控制显示器公共极电位只需一个 8 位口(扫描口) ,控制各位显示器所显示的字形也需要一个 8 位口(段数据口)
40、。8 位共阴极 LED 显示器和 8255A 的接口逻辑见第三章中的图 3-8,图 3-8 为八位LED 动态显示接口图。8255A 的 A 口作为扫描口,经同相驱动器 7407 接显示器公共极,B 口作为段数据口,与显示器的各个段相接。显示主程序设计流程图如图 4-3 所示第 26 页 共 56 页江苏技术师范学院毕业设计说明书(论文)开始初始化及显示赋初值调用二 -十进制转换调压缩 BCD-非压缩 BCD 转换调显示子程序送显示单元内容到显示缓冲区图 4-3 显示主程序流程图4.2 软件编译与软件仿真调试4.2.1 软件编制软件编制使用的程序编译软件是伟福的 V 系列仿真器集成调试软件,简
41、介如下:其打开窗口如图 4-4。进入软件界面,然后进行设置。第 27 页 共 56 页江苏技术师范学院毕业设计说明书(论文)图 4-4 打开窗口界面仿真器设置如图 4-5 到图 4-8。先在工具栏选择仿真器设置,在下拉框中选择“择仿真器设置”如图 4-5图 4-5 仿真器设置仿真器设置:选择 V5/S、POD-H8X5X 和 AT89C51,如图 4-6第 28 页 共 56 页江苏技术师范学院毕业设计说明书(论文)图 4-6 仿真器具体设置目标文件必须要在“生成.HEX 文件”前的复选框上打上勾,如图 4-7图 4-7 仿真器目标文件设置最后按“好”确定设置,这样仿真器的设置就算完成了,见图
42、 4-8第 29 页 共 56 页江苏技术师范学院毕业设计说明书(论文)图 4-8 仿真器设置完成上面设置结束后,按 ,新建一个空白文档,在里面输入程序后,按 保存文件,需要注意的是,保存文件的时候必须在名称后面加.ASM,否则无法进行下面的编译与调试。保存见图 4-9图 4-9 保存文件程序编制完成以后,按 进行软件编译,如图 4-10第 30 页 共 56 页江苏技术师范学院毕业设计说明书(论文)图 4-10 编译文件看到没有,编译成功通过,并且生成了.HEX 文件,这个 ZHANGGANG.HEX 文件是下面进行软件仿真的关键的必须的文件。到这里为止,软件编译就基本完成了,下面将讲解软件
43、仿真的内容。4.2.3 软件仿真Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析各种模拟器件和集成电路,该软件的特点是: 实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 支持主流单片机系统的仿真。目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。 提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具