单片机课程设计——基于lcd显示的速度表内容摘要:
上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一 第 9 页 西华大学电气 信息学院智能化测控应用系统设计报告 些特殊功能口,如表 1 所示: 表 1 P3 各端口引脚与复用功能表 端口引脚 复用功能 RXD 串行输入口) TXD 串行输出口) INT0 外部中断 0) INT1外部中断 1) T0 定时器 0 的外部输入) T1 定时器 1 的外部输入) WR外部数据存储器写选通)。 由于 89C51 的片内程序存储器只有 4KB,本设计中根据所编写的程序的大小,选择了 89C52,有 8KB 的片内程序存储空间。 也更实用。 其它方面, 89C51 与 89C52 的区别不大,用法相同。 单片机的功能特性: 8 位 CPU, 4kbytes 程序存储器 (ROM) (52 为 8K) 256bytes 的数据存储器 (RAM) ( 52 有 384bytes 的 RAM) 32条 I/O 口线 111 条指令,大部分为单字节指令 21个专用寄存器 2 个可编程定时 /计数器 5 个中断源, 2个优先级( 52有 6 个) 一个全双工串行通信口 外部数据存储器寻址空间为 64kB 外部程序存储器寻址空间为 64kB 逻辑操作位寻址功能 双列直插 40PinDIP 封装 单一 +5V 电源供电 CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据; ROM:用以存放程序、一些原始数据和表格; I/O 口:四个 8 位并行 I/O 口,既可用作输入,也可用作输出; T/C:两个定时 /记数器,既可以工作在定时模式,也可以工作在记数模式; 五个中断源的中断控制系统; 一个全双工 UART(通用异步接收发送器)的串行 I/O 口,用于实现单片机之间或单片机与微 机之间的串行通信; 片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。 最高振荡频率为 12M。 第 10 页 西华大学电气 信息学院智能化测控应用系统设计报告 LCD 显示器 图 38 LCD 显示器结构图 引脚接口说明如 下 表 : 表 31 LCD显示器 各引脚的说明表 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表 31所示 : 第 1脚: VSS 为地电源。 编 号 符 号 引脚说明 编 号 符 号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 11 页 西华大学电气 信息学院智能化测控应用系统设计报告 第 2脚: VDD 接 5V 正电源。 第 3脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生 “ 鬼影 ” ,使用时可以通过一个 10K 的电位器调整对比度。 第 4脚: RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄 存器。 第 5脚: R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS 和R/W共同为低电平时可以写入指令或者显示地址,当 RS为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14脚: D0~ D7 为 8位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 1602LCD 液晶模块内部的控制器共有 11 条控制指令,如表 32所示: 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志 或地址 0 1 BF 计数器地址 10 写数到 CGRAM或 DDRAM) 1 0 要写的数据内容 11 从 CGRAM或 DDRAM读数 1 1 读出的数据内容 表 32 控制命令表 1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1为高电平、 0 为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H位置。 指令 2:光标复位,光标返回到地址 00H。 第 12 页 西华大学电气 信息学院智能化测控应用系统设计报告 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。 高电平表示有效 ,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令 6:功能设置命令 DL:高电平时为 4位总线,低电平时为 8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示5x10 的点阵字符。 指令 7:字符发生器 RAM 地址设置。 指令 8: DDRAM 地址设置。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 连 接 图 39 各模块的连接框图 图 39为整个系统的各个模块之间的连接关系,如图所示: ⑴ 电源是整个电路的基本部分,必须先给整个电路供电才能让电路工作。 ⑵ 串口通信接口模块将电脑与单片机连接起来 ,程序就是通过串口通信接口烧写到单片机的,这是使用单片机必不可少的一个部分。 单片机最小系统 串口通信接口模块 LCD 显示模块 电源模块为整个电路供电 按键控制模块 报警电路模块 第 13 页 西华大学电气 信息学院智能化测控应用系统设计报告 ⑶ 按键控制模块输入一些信息到单片机内,使单片机内的报警速度、模拟汽车速度发生更改,司机就是通过按键模块来设置自己需要的报警速度的。 ⑷ 而单片机是整个系统最核心的部分,控制整个电路的程序就在单片机内部,而程序通过对各个管脚的控制,来实现相关的功能。 ⑸ LCD 模块能显示报警速度、总路程、实时速度,使整个系统的功能更直观的显示出来。 ⑹ 报警模块是在实时速度超过了报警速度是才工作的,单片机控制报警模块中的蜂鸣器发出声音,提示司机当前速度已经超过了报警速度,该适当减速了。 第 14 页 西华大学电气 信息学院智能化测控应用系统设计报告 4 软件设计 软件设计原理 本设计由单片机定时器 T0产生方波信号,可以由按键控制产生的频率,将产生的方波经 口输出。 将 的方波信号输入单片机外部中断 0,由方波下降沿触发中断程序,每中断一次, n0 就加 1,即记录下方波下降沿的数目。 定时器 T1 产生 1 秒的定时,定时一到,就开始从 新赋初值。 一秒内 n0 的值相当于车轮转动的圈数,与车轮的周长的乘积,也就是这一秒的平均速度 speed 了。 在经过单位变化,转化为 Km/h,连同车速最大值 max和路程经 LCD显示出来。 若 speed 大于所设定车速的最大值 max,将自动报警。 而按键功能实现人机交互,按键 1增大车速的最大值 max,每按下并松开一次,最大值加 1;按键 2 减小车速的最大值 max,每按下并松开一次,最大值减 1;按键3通过改变定时器 T0 的初值,产生不同频率的方波信号,并随按键次数增加,频率越大,相当于人为增加了车速,但最多增加至 200Km/h;按 键 4 则实现暂停和开始功能。 软件设计流程图 软件设计流程图见附录 1: 软件实现 设计主程序如下: void main() { initial_int()。 LCD_Initial()。 while(1) { getkey()。 speed=n2。 if(n2max) { P00=0。 } else P00=1。 show_time()。 Delay1ms(40)。 } } 按键扫描模 块 void getkey() { if(P14!=1) {max=max+1。 while(P14!=1)。 }。单片机课程设计——基于lcd显示的速度表
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。