当前位置:舍宁秘书网 > 专题范文 > 公文范文 > 重复字数,(18)(完整)

重复字数,(18)(完整)

时间:2022-07-06 10:05:03 来源:网友投稿

下面是小编为大家整理的重复字数,(18)(完整),供大家参考。

重复字数,(18)(完整)

 

 [摘要] 近年来随着计算机在社会领域的发展, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。时间是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。测量时间的基本方法是使用秒表直接测量。其中秒表的精度是人们最关心的,这就要求它的计时最小单位足够小,显示模块的灵敏度足够高。其中采用单片机进行控制的计时系统就是一个典型的例子,它为现代人工作、科研、生活提供更好的更方便的测量手法。单片机使得一切向着数字化控制,智能化控制方向发展。本篇论文讨论了简单的数字秒表的设计与制作 ,采用LCD液晶模块进行显示。其中单片机通过定时器中断的方式产生了 10 ms的最小计时单位,通过加一后判断的方式依次对秒、时、分进行处理,将每个单位进行十进制处理后进行显示。每次按了清零键后蜂鸣器都会报警。此设计定时器中断计时的方法计时准确,而且单片机的处理器利用率高。

 时间是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。测量时间的基本方法是使用秒表直接测量。其中秒表的精度是人们最关心的,这就要求它的计时最小单位足够小,显示模块的灵敏度足够高。目前人们所能测量的最小计时单位是毫秒级。

  本设计要使时间的测量准确,就必须使系统有更小的计时单位和更灵敏的按键。本设计还加入了报警电路,每次清零都会报警。设计采用的元件功能较强,省去了很多复杂的电路降低了设计成本 本课题是基于单片机的数字秒表系统设计,其利用单片机作为系统的主要控制器,通过单片机自身的定时计数器溢出标志产生最小计时单元,经过变量的累加和判断后,将数据送入液晶屏显示。本设计的单片机选用的是 AT89C51,设计的各项功能也是由它来实现。

 课题需要以 MCS-51 系列单片机为核心,结合外围电路,制作一款时间参数测量系统。

 (1)提出基于单片机的时间测量系统实现方案。

 51

 (2)制作完整的硬件电路图并编写完整的源程序,实现时间参数的测量。

 时间测量系统主要有两个共同的组成部分:计时最小单位的产生和数据处理及显示。所以显示和主控两个单元的选择和设计就成了该系统设计当中关键的两个部分。

 此方案采用 LCD 数码管显示测量结果。

 LCD 数码管显示器由 8 个发光二极管中的 7 个长条形二极管(称七笔段)另外一个点形的发光二极管 dp 放在右下方,用来显示小数点。它具有反映速度慢、能耗高、硬件连接复杂、占用外围空间大、显示内容单一的特点。显示时用扫描每个数码管,同时逐一点亮的方法进行显示。

 此方案测量结果的显示采用 LCD 的液晶模块。当整个控制部分通电时,LCD 就会显示相应的图像。图片显示的质量高、能量消耗低、体积较小、重量轻等优点。

 60

 数字电路具有占用硬件电路复杂、只能驱动数码管和其它简单的外围电路、产生的最小计时单元误差大。

 66

 综上所述,显示单元以及主控部分都采用第二方案。

 67

 实际采用电路方框图如图 4-1 所示此多点温度测量电路主要由以下几部分组成:控制器单片机AT89C51、显示单元 LCD 液晶显示器、开关选择电路、报警电路、电源电路等。

 设计的根据设计需要,需要将单片机的 P0 口定义为数据地址位。

 88

 设计中的 P1 口的选取也是选择具有 8 个引脚的单片机。这一选择主要的内部的引脚数目是根据4TTL 门电流进行设计,因为它本身可以通过单片机的 I/O 口进行内部数据的输入输出。

 所选择的 4 个 TTL 门电流,主要是作为单片机的输入输出口。

 当单片机的 P3 口为高电平时。P3 口的管脚就可以作为数据的输出端。

 P3.7 /RD(其主要作用就是选通外部的数据存储器)

 在内部的机器周期中,需要对其进行两次/PSEN 有效是在外部程序的存储。

 就需要将单片机的结构设计为内部的架构存储器。

 需要根据需要将单片机的内部结构,在对单片机的 PEROM 阵列以及单片机的三个锁定位的过程中, MCS-51 单片机内的锁存器、定时器、串行口数据缓冲器以及各种控制寄存和状态寄存器都是以特殊功能寄存器的形式出现的,它们分散地分布在内部 RAM 地址空间范围, 在对寄存器进行乘、除指令进行操作时,常用的为 B 寄存器。在操作乘指令时,A、B 分别表示两个操作数,最后的结果存于该两个指令 AB 寄存器对中。在操作除指令时,A 为被除数,B 为除数,,操作完之后,结果的商存于 A 中,余数存于 B 中。在其它指令中,B 寄存器可作为 RAM中的一个单元来使用。

 本设计中程序的状态字被设计为一个 8 位的数据寄存器,参见图 2-8,其中 PSW? 。通常在我们进行算术或者逻辑指令时,该位会被一些软硬件清零或者置位,该位的重要性相当于一般中央处理机中的累加器 A。

 125

 AC 之所以被硬件置位,是当我们进行加、减操作指令时,由低 4 位向高 4 位进行进位或借位操作时发生的,否则就被清零。

 127

 F0 是用户定义的一个状态标记,用软件来使它置位或清零。该标志位状态一经设定,可由软件测试 F0,以控制程序的流向。

 ?3)寄存器区选择控制位 133

 奇偶标志主要是表示累加器 A 当中 1 位数的奇偶性,它主要通过硬件的置位或清零来实现的。当 P 置 1 时,说明累加器 A 中 1 位为奇数,若置 0,说明为偶数。

 134

 奇偶标志主要作用是奇偶校验,这样可以对串行信息中的数据进行检验,这对数据的传输有重要的意义。

 136

 栈指针的简称为 SP,它是特殊的 8 位寄存器。它规定内部 RAM 为出栈顶部的位置。当我们进行系统复位时,栈指针 SP 的初始化 07H 单元,但实际上是从 08H 单元开始的。尽量把栈指针 SP 的值改的大写,比如 1 FH 或更大,把 SP 初值改的小些,这样堆栈深度就会越深,越容易用软件进行改变,这样堆栈内部 RAM 的位置也会比较灵活。

 数据指针可用 DPTR 来表示,它是一个特殊功能的 16 位的寄存器, DPTR 可以用 DPH 来表示它的高位字节,用 DPL 来表示它的地位字节,因而,我们可以它看成 DPH 和 DPL 两个 8位的独立寄存器;也可以看成为 16 位的数据指针来处理问题。

 139

 数据指针 DPTR 主要作用是存放 16 位地址,但对 64KB 外部存储器寻址时,就变为了间址寄存器。数据指针 DPTR 用作基 141

 最小系统就是单片机在发挥具体测控功能时所必须的组成部分。

 142

 图 3.1 单片机最小系统框图 145

 LCD 可分为两种类型,一种是字符模式 LCD,另一种是图形模式 LCD。其中字符模式 LCD 是点阵型液晶显示器,专门用来显示字母,数字,符号等。

 146

 由于 LCD 的控制需要专门的驱动电路,一般不会单独使用,而是将 LCD 面板、驱动与控制电路组合成 LCD 模块(Liquid Crystal Display Moulde,简称 LCM)一起使用。

 147

 目前常用的有 16 字*1 行,16 字*2 行,40 字*1 行,40 字*2 行等字符模块。这些 LCM 虽然显示字数不同,但都有相同的输入/输出界面。

 下面介绍常用的 20 字*2 行(简称 20*2)字符模块。

 152

 编号符号引脚说明编号符号引脚说明 153

 LCD 内部主要有两个寄存器,指令寄存器(IR)和数据寄存器(DR)。

 如果 LCD 控制器读取数据时,则需要 R/W=1。

 168

 表 3.3 LCD 指令寄存器和数据寄存器的选择 169

 7 置字符将会发生存贮器地址变换 1101 此刻字符发生存贮器地址 194

 8 置数据存贮器地址 110 显示数据存贮器地址 195

 9 读忙的标志或地址 01BF 计数器地址 196

 10 写数进入 CGRAM 或 DDRAM)10 要写的数据内容 在本课题中对 1602 液晶模块指令编程的实现都是通过读写操作、屏幕和光标的操作(说明:

 2:该指令作用使光标回到地址 00H,即光标复位。

 :当为高电平,光标右移,反之为低电平,光标左移。而屏幕文字的左右移动,当为高电平时才能发生,低电平时无效。

 光标的闪烁由高低电平决定,高则闪烁,低则不闪烁。整体显示的开关控制由高低电平决定,高则为开,低则为关。

 址寄存器,是在我们访问程序存储器时发生的。文字的移动是在高电平时发生的,而光标的移动是在低电平时发生的。

 根据设计的需要,将系统的屏幕的双行显示设置为高电平,这时候所选的屏幕的单行就会在低电时显示时。

 忙的情况为高电平,此时指令或者数据不被模块接收,而低电平则为不忙。

 208

 考虑到设计要求,本设计中的复位电路集手动复位及上电自动复位于一体。

 214

 1)实现自动上电复位需要满足三个条件:有外部复位电路、电容 C1 处于充电状态、电源 VCC上升的时间不超过 1ms。

 215

 2)通过复位端用电阻与电源的接通可以实现手动复位的功能。

 216

 自动上电复位原理图如图 3.1 所示:

 考虑系统运行速度,采用 12MHZ 的石英晶振,并使用两个小电容作为微调电容。

 220

 时钟振荡电路图如图 3.2 所示:

 LCM1602 的 D0~ D7 分别接单片机的的 P0 口,作为数据线,因为 P0 口内部没有上拉电阻,所以外部另外加上 10K 的上拉电阻;;BLK、BLA 为背光的阴极和阳极,接上相应电平即点亮背光灯。

 224

 液晶显示模块电路图如图 3.3 所示:

 225

 图 4.3 液晶显示模块电路图 本系统的蜂鸣器报警电路图如图 3.4 所示,蜂鸣器用一个三极管 0913 来驱动.单片机引脚 P2.0接 0913 的基极输入端.当 P2.0 输出高电平 1 时,三极管导通,蜂鸣器两端获得约+5 V 的电压而鸣叫;当 P2.0 输出低电平 0 时,三极管截止,蜂鸣器停止发声。

 230

 电路图由单片机 AT89C51、LCM1602 液晶显示模块、复位电路、振荡电路、报警电路等几部分组成。其中单片机 AT89C51 是核心,主要功能是产生时钟信号,然后控制显示模块进行显示。

 KeilC51 是 51 系列兼容单片机 C 语言软件开发系统。在此次毕业设计中我采用汇编语言程序。

 模拟电路的仿真、数字电路的仿真、单片机及其外围电路组成的系统的仿真、RS 一 232 动态仿真、1 C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能。

 240

 ③而且,该软件能够支持大部分单片机型号,比如:

 68000 系列、8051 系列、AVR 系列、PIC12系列、PIC16 系列以及各种外围芯片。

 241

 ④最后,该软件是一款难得的多功能,分析与仿真于一体的软件。

 242

 2.十进制计数处理子程序流程图如图 5.4 所示:

 243

 图 5.4 计数处理子程序流程图 1.LCD 液晶模块初始化流程图如图 5.5 所示:

 259

 图 5.5 LCD 液晶模块初始化流程图 260

 2.写指令流程图如图 5.6 所示:

 3.写数据流程图如图 5.7 所示:

 292

 4.判断忙碌程序流程图如图 5.8 所示:

 293

 图 5.8 判断忙碌程序流程图 最后再总体模块考虑进行调试。2.进行程序编写的语句中间的标点符号应在英文欢迎下输入,中文环境下的标点 Keiil uVsion3 编译软件不识别,会出现一些不易查找的问题,这一点需特别注意;三、当子程序间有值传递时,必须注意实参和形参的类型;四、程序要有尽量详细的注释,以便问题的查找和增强程序的易读性。

 我首先将编好的程序在 Keiil uVsion3 环境之中进行编译,第一次未通过,经过错误提示我发现是几处标点的格式为中文格式导致编译软件不能识别,还有一处丢掉了一个分号,改正之后就运行正常,最终生产了 HEX 文件。

 314

 程序编写完毕,就可开始系统的仿真调试,应该先采取软件仿真,确保整个程序无语法错误,排除逻辑错误及其他错误,然后开始硬件调试。软件仿真主要采用 Keil 和 Proteus 相结合的方式。在 Proteus 的库中将所需的元件调出按照硬件设计原理图将其连接好,将已生成的 HEX 文件加载入 AT89C51 之中,运行之后显示出了秒表的功能。

 316

 先分别调试各功能单元模块,调通后再进行整机调试,以提高调试效率。

 317

 1. AT89 C51 这部分电路是系统的主要部分,接上电源后先用万用表测量单片机的 20 引脚是否为低电平,再测量 40 引脚和 31 引脚是否为高电平,正常后用示波器测量 30 引脚,看是否输出 2 M 的方波信号,

 318

 2.显示部分调试 执行液晶清屏和全部点亮等简单的操作,当调试成功后,再进行查表操作,往液晶里写数字和汉字,都成功后说明液晶部分已经可以控制。

 319

 3.整机调试各个部分都调通后,将各部分连起来调,检查是否能满足基本功能,这部分工作量较大,要注意软件上各个部分的衔接,是否有互相影响的因素,由于程序中用到了中断,要注意对现场的保护,还要考虑开关消抖时间是否合理。这时候硬件电路出错的可能已经比较小,但是也要注意各部分是否有互相影响的地方,要注意防止外界的干扰。

 320

 4.问题的出现和解决 当我把一切都调试好后,发现液晶屏还是没有信号的显示。经过查阅资料和请叫其他同学后,知道是没有给单片机连向液晶屏的端口接上拉电阻。

 。选用 AT89C51 单片机,利用 LCD 液晶屏来进行显示。之所以选用本单片机,是因为其可靠性、稳定性、体积小、维护方便等优点。在设计的数字电路中采用定时器中断的计时,减小计时误差。

 323

 实现了电路与处理器仿真的结合,可以在大多数单片机和嵌入式系统中应用。存储后的计时结果,没办法都区之后再进行显示;计时结果的精确度还不够高,存有一些误差;

 327

 3、失败并不可怕,只要顽强的站起来,不放弃,希望定会给你招手。本次毕业设计的成功,也是对自己四年来所学知识的肯定,也是对自己最好的毕业礼物。

推荐访问:重复字数 (18) 字数 重复 完整

最新推荐

猜你喜欢