电气工程及其自动化专业本科毕业论文设计内容摘要:
9 D2 数据接口 3 2 VCC 电源正极 10 D3 数据接口 4 3 VO 液晶显示对比度调节端 11 D4 数据接口 5 4 RS 数据 /命令选择端 12 D5 数据接口 6 5 R/W 读写选择端 13 D6 数据接口 7 6 E 使能端 14 D7 数据接 口 8 7 D0 数据接口 1 15 BLA 背光电源正极 8 D1 数据接口 2 16 BLK 背光电源负极 巢湖学院 2020 届本科毕业论文(设计) 13 基本操作时序: 读状态:输入, RS=L,R/W=H,E=H; 输出, D0~ D7=状态字。 读数据:输入, RS=H,R/W=H,E=H;输出,无。 写指令:输入, RS=L,R/W=L,D0~ D7=指令码, E=高脉冲;输出, D0~ D7=数据。 写数据:输入, RS=H, R/W=L, D0~ D7=数据, E=高脉冲;输出,无。 根据分析时序图(图 214)可知操作 1602 液晶的流程如 下: ( 1)通过 RS 来确定是写数据还是写命令。 写命令包括使液晶的光标显示还是不显示、光标闪烁或者不闪烁、需不需要移屏,在液晶何处位置显示等等;写数据是指显示什么内容。 ( 2)读 /写控制端设置为写模式,即低电平。 ( 3)要将数据或命令送到数据线上。 ( 4)给使能端( E)一个高脉冲将数据送入液晶控制器,完成写操作。 时序图如下: T s p 2T s p 1tH D 1tP WtH D 1tH D 2tRtFtC有 效 数 据R SR / WED B 0 D B 7Y N 如图 214 1602 液晶写操作时序图 表 27 状态字说明 STA7 D7 STA6 D6 STA5 D5 STA4 D4 STA3 D3 STA2 D2 STA1 D1 STA0 D0 STA0~ STA6 当前地址指针的数值 STA7 读 /写操作使能 1— 禁止; 0— 允许 基于 51 单片机的数字电子钟设计 14 理论上每次对控制器进行读 /写操作之前,都必须进行读 /写检测,确保 STA7为 0。 实际上,由于液晶控制器的反应速度快于单片机的操作速度,因此可以不进行读 /写检测,或许可以只进行简短延时也行。 地址映射图 控制器的内部带有 80B 的 RAM 缓冲区,对应关系如图 215 所示: 0 0 0 1 0 2 0 30 40 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F 1 0„ „2 74 04 1 4 2 4 3 4 44 54 6 4 7 4 8 4 9 4 A 4 B4 C4 D 4 E 4 F 5 0„ „6 7L C D1 6 字 X 2 行 图 215 1602 内部 RAM 地址映射图 当向图中的 00~ 0F、 40~ 4F 地址中的任一处写入显示数据时,液晶都会立即显示出来,当写入到 10~ 27或 50~ 67 地址时,必须要通过移屏指令将它们移入可显示区域方可正常显示。 表 28 数据指针设置 指令码 功能 80H+地址码( 0~ 27H, 40~ 67H) 设置数据地址指针 控制器内部设有一个数据地址指针,我们可以通过它们访问内部的全部 80B的 RAM。 表 29 其他设置 指 令码 功能 01H 显示清屏: 0 0 02H 显示回车:数据指针清 0 ( 1)显示模式设置 巢湖学院 2020 届本科毕业论文(设计) 15 表 210 显示模式设置 指令码 功能 0 0 1 1 1 0 0 0 设置 162 显示, 57 点阵, 8 位数据口 ( 2)显示开 /关及光标设置 表 211 显示开 /关及光标设置 指令码 功能 0 0 0 0 1 D C B D=1,开显示; D=0,关显示 C=1,光标显示; C=0,光标不显示 B=1,光标闪烁 ; B=0,不显示光标 0 0 0 0 0 1 N S N=1,读或写一个字符后地址指针加 1 且光标加 1; N=0,读或写一个字符后地址指针减 1 且光标减 1 S=1,写一个字符时,显示整体左移( N=1)或右移( N=0),来得到光标不移动而屏幕移动的效果; S=0,写一个字符时,显示整体不移动 0 0 0 1 0 0 0 0 光标左移 0 0 0 1 0 1 0 0 光标右移 0 0 0 1 1 0 0 0 显示整体左移,同时光标跟随移动 0 0 0 1 1 1 0 0 显示整体右移,同时光标跟随移 动 1602 液晶电路 为防止上电时烧坏背光灯,在 15 脚( BLA)串接一个 10 欧姆的电阻来限流;液晶 3( VO)脚为对比度调节端,串接一个 10K 的电位器来调节对比度;液晶 4( RS)脚为向液晶控制器写数据 /写命令选择端,接单片机 口;液晶 5( R/W)脚为读 /写选择端,由于只向液晶写入命令和显示数据,不从液晶读取数据,所以此脚始终选择为写状态,即接地;液晶 6( E)脚为使能端,是操作液晶时必须的,接单片机 口; 1( VSS) 、 2( VCC)脚是电源端; 15( BLA)、 16( BLK)脚是背光电源端。 具体电路图如图 215 所示: 基于 51 单片机的数字电子钟设计 16 RSLCDEND0 D1 D2 D3 D4 D5 D6 D7V C C 5 VVSS1VCC2V03RS4R/W5E6D07D18D29D310D411D512D613D714BLA15BLK16U2L C D 1 6 0 2W11 0 KR410V C C 5 V 图 215 1602 液晶电路 巢湖学院 2020 届本科毕业论文(设计) 17 3. 系统的软件设计 软件编译器及烧写工具 本设计采用 C 语言编程。 程序的编写和编译在 Keil uVisio4 软件上完成。 编译及烧写的步骤如下: 打开 Keil uVisio4 软件,新建工程→保存,选取芯片类型→ OK,新建文件→保存,添加文件到工程,在文件里完成程序的编写,保存并编译,在无错误的情况下,配置一些系统的设置,再编译一次,生成可以下载到 STC89C52 芯片上的以 .hex 为后缀名的二进制文件。 界面如图 31 所 示: 图 31 Keil uVisio4 编译界面 编译完成后的二进制文件,通过专用的 STCISP 软件同时借助于开发板烧写到单片机里,对程序进行测试。 如图 32 所示: 基于 51 单片机的数字电子钟设计 18 图 32 烧写工具界面 软件总体设计思路 主程序流程图如图 33 所示: 开 始D S 1 2 C 8 8 7 初 始 化L C D 1 6 0 2 初 始 化W h i l e ( 1 )按 键 扫 描是 否 有 按 键 按 下。 执 行 相 应 程 序闹 铃 中 断。 执 行 相 应 程 序读 取 D S 1 2 C 8 8 7 数 据送 L C D 1 6 0 2 显 示YYNN 图 33 主程序流程图 巢湖学院 2020 届本科毕业论文(设计) 19 首先,程序启动后对单片机内部资源初始化,然后对 DS12C887 时钟芯片初始化,写入控制字,读取芯片内相应寄存器的时间数据并对 LCD1602 初始化,完成时间日期的显示。 接着进入循环程序不停的执行以下任务:按键扫描,有按键按下时执行相应操作,没有按键按下就检查闹钟标志位有没有中断触发,有就执行闹铃程序( DS12C887 的 IRQ 管脚在闹铃出发时产生低电平,触发外部中断1,蜂鸣器发声),没有就进行 DS12C887 时钟芯片的数据读取,向 LCD1602 发送数据并显示。 蜂鸣器声响模块 DS12C887 的 IRQ 管脚在闹铃发声时产生低电平,触发外部中断 1,蜂鸣器发声。 流程图如图 34 所示: 开 始检 测 时 间 标 志 位设 置 时 间 是 否 来 到。 执 行 闹 铃 程 序YN 图 34 蜂鸣器模块流程图 LCD1602 模块 先向 LCD1602 写入控制字 ,根据 LCD1602 时序图进行操作, RS 为寄存器选择;再向 LCD1602 写入数据 date,根据 LCD1602 时序图进行操作,最后初始化。 流程图如图 35 所示 : 基于 51 单片机的数字电子钟设计 20 开 始L C D 1 6 0 2 初 始 化忙 碌 状 态 检 测 ( 可 免 )向 L C D 1 6 0 2 写 入 命 令向 L C D 1 6 0 2 写 入 数 据返 回 图 35 液晶显示模块流程图 DS12C887 时钟电路模块 先向 DS12C887 写入数据,然后再读 DS12C887 芯片数据,接着设置初始化时间,最后对芯片进行初始化。 流程图如图 36 所示: 开 始S 1 2 C 8 8 7 初 始 化( 对 A 、 B 寄 存 器 进 行 相 应 设置 以 及 设 置 上 电 静 默 时 间 )向 D S 1 2 C 8 8 7 写 入 数 据读 取 D S 1 2 C 8 8 7 数 据返 回 图 36 时钟模块流程图 按键模块 此模块有三个弹性小按键。 S1 键是功能选择键, S2 键是“加”键, S3 键是巢湖学院 2020 届本科毕业论文(设计) 21 “减”键。 S1 键按下的次数不同,执行的功能也不同流程图如图 37 所示: 开 始按 键 扫 描S 1 键 是 否 按 下。 NS 2 是 否 按 下。 S 3 是 否 按 下。 YN N执 行 加 功 能 执 行 减 功 能YY 图 37 按键模块流程图 基于 51 单片机的数字电子钟设计 22 4. 系统调试结果 在 Protel99SE 软 件上设计原理图,经电气检查无错误后,就在电路板上焊接整个电路。 下载好二进制文件到单片机里,通电后, LCD1602 显示有乱码。 仔细检查焊点和接线,确定无问题后,通电问题依然存在。 于是我怀疑是不是有虚焊或者某处焊接出错了,经检查没有问题,最后我认为可能是程序存在些问题,几经修改,做了一下仿真,效果正常。 仿真如图 41 所示: 图 41 系统仿真 将 .hex 文件下载到单片机里,连接好硬件,通电后系统正常。 如图 52 所示: 图 42 实物图 巢湖学院 2020 届本科毕业论文(设计) 23 调试流程: S1 键按 1 下调秒,如图 43: 图 43 调秒界 面 S1 键按 2 下调分,如图 44 所示: 图 44 调分界面 S1 键按 3 次调时,如图 45 所示: 图 45 调时界面 S1 键按 4 次调星期,如图 46 所示: 图 46 调星期界面 S1 键按 5 次调日,如图 47 所示: 基于 51 单片机的数字电子钟设计 24 图 47 调日界面 S1 键按 6 次调月,如图 48 所示: 图 48 调月界面 S1 键按 7 次调年,如图 49 所示: 图 49 调年界面 S1 键按 8 次进入闹钟调试,如图 410 所示: 图 410 闹钟调试界面 在上一步操作的基础上按 1 次 S2 键闹钟调试开,如图 411 所示: 巢湖学院 2020 届本科毕业论文(设计) 25 图 411 闹钟开界面 在上一步的基础上接着按 S1 键就可以设置闹钟时间,如图 412 所示: 图 412 设置闹钟界面 在进入闹钟设置设置时按下 S3 键则闹钟关,如图 413 所示: 图 413 闹钟关界面 在设置时间状态下,按 S2( S3)键进行加(减)设置。 当设定的时间到时,蜂鸣器就会发出声响,按 S3 键蜂鸣器就会停止发声。 基于 51 单片机的数字电子钟设计 26 5. 总结 本设计主要由单片机最小系统模块、时钟电路模块、液晶显示模块、按键模块和蜂鸣器声响模块;软件则是通过 C 语言编程来实现。 本次的设计制作,涉及到以前学过的很多学科知识的综合应 用。 在整个设计的过程中,对自己的能力有。电气工程及其自动化专业本科毕业论文设计
相关推荐
接收 极距 接收偶极距 MN 长度根据所勘查的 地质 目标体 的 规模 和 电信号的强弱 确定。 通常 在 20~ 500m之间选择, 在探测较深 较 大 的 地质目标体时, MN 可选择大些, 在探测较浅 较 小 的 地质目标体时,MN 可选择小一些。 MN 过大会降低分辨率, MN 过小会降低观测质量。 测网 设计 测网应 根据 地质 任务 和地形地貌 合理 选择。 测线方向要 尽可能
多优秀的特性,在制作机器人时也时常能看到它的应用。 舵机是一种位置伺服的驱动器,转动范围一般不能超过 180 度,适用于那些需要角 度不断变化并可以保持的驱动当中。 比方说机器人的关节、飞机的舵面等。 直流电机能够较好的满足系统的要求,控制方便,因此我选择以直流电机做为机器人行进驱动电机,用舵机来做机器人的驱动转向电机。 传感器 火焰传感器 用热释电红外测温传感器,热释电红外传感器
绪论 8 该控制器能够根据测量的电网参数在低压侧自动调节供给电网无功功率的大小;测量的参数范围广,包括:电压、电流、功率因数、有功及无功功率等;具有功能强大的人机界面,选用的点阵液晶显示器可以显示当前电网的各种参数,按键可以设置控制器运行需要的各种参数,包括:电压报警上极限 /上限、电压报警下极限 /下限、所用电容器的额定容量 /额定电压、电容器共补和分补分配情况、投切电容器的时间间隔等参数
check()。 X=0。 S=1。 TR1=0。 TR2=0。 if(in_call[1]||up_call[1]) { TR1=1。 } else { TR2=1。 } display(gf,disnum/10,disnum%10,nf)。 } if(in_call[1]||up_call[1]) { TR1=0。 stop()。 in_call[1]=0。 up_call[1]=0。 }
≥ 100 V,额定工作电流 ID=1A,所以整流二极管选择 IN4007。 I=1A。 T=,电路中滤波电容承受的最高电压时 24= 所以选择电容的耐压值应该大于 34V 所以选择 1000uF/50V 的电容。 因为大容量电解电容有一定的绕制电感分布,易引起自激振荡,形成高频干扰。 所以稳压器的输入断肠并入辞职小容量电容来抵消电感效应,一直高频干扰。 3滤波电路
Rr cod 2 ( 3) 对共模信号的抑制作用 021 u uuuuAicococicocuc ( 4)衡量差动放大电路的性能指标 —共模抑制比 实际应用中,差动放大电路两输入信号中既有差模 信号成分,又有无用的共模输入成分 , 此时可利用叠加原理来求总的输出电压。 uAuAu icucidudo )(lg20 dBAAKAAKucudC M RucudC M R 3