液晶显示164接口实验_第1页
液晶显示164接口实验_第2页
液晶显示164接口实验_第3页
液晶显示164接口实验_第4页
液晶显示164接口实验_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 液晶显示164接口实验 实验目的实验器材硬件接线软件功能程序清单备注说明 2 实验目的 掌握点阵字符型液晶显示 LCD 编程方法 3 实验器材 1 单片机2 LCD 液晶显示屏 3 74HC164 8位移位寄存器 4 硬件接线 5 软件功能 开始运行时 LCD显示 WaitReceiving 等待接收字符 当收到16个字符时 显示之 重复此功能 6 程序清单 程序说明口地址定义SPI地址定义SCI串行通信口定义变量定义系统初始化 主程序LCD初始化子程序LCD命令执行子程序74HC164初始化LCD显示子程序中断矢量 7 程序说明 文件名LCD ASM 硬件连接 74HC164的Q0 Q7分别接LCD的DB0 DB7 74HC164的MR CLK接分别MCU的PTC3 SCK 74HC164的B接MCU的VCC 5V 74HC164的A接MCU的MOSI LCD的E R W RS分别接的PTC2 PTC1 PTC0 程序描述 1 开始运行时 LCD显示 WaitReceiving 2 等待接收字符 当收到16个字符时显示之 重复此功能 目的 掌握点阵字符型液晶显示 LCD 编程方法 备注说明 从PC机输入被显示的16个字符 以串行通信方 式发送到单片机 在液晶屏上显出这些字符 8 口地址定义 PTCEQU 0002 C口数据寄存器LCD RSEQU0 LCD寄存器选择信号接PTC0LCD RWEQU1 读写信号接PTC1LCD EEQU2 LCD使能信号接PTC2HC164 CREQU3 74HC164 移位寄存器 清除端接PTC3DDRCEQU 0006 C口数据方向寄存器 SPI 串行外设接口 地址定义 SPCREQU 0010 SPI控制寄存器SPSCREQU 0011 SPI状态和控制寄存器BIT SPTEEQU3 SPI发送器空标志位SPDREQU 0012 SPI数据寄存器 9 SCI串行通信口地址 SCS1EQU 0016 串行通信接口状态寄存器地址SCDREQU 0018 串行通信接口数据寄存器地址 变量定义 ORG 0090BYTEDISPLYRMB1 临时存放一个字符LCD BUFFERRMB16 存放16字节FlashStartAddrequ 8000 程序开始地址 因芯片不同可以更改 10 主程序 ORGORGFlashStartAddrMainInit 复位后程序从此开始执行 系统初始化SEI 禁止所有中断LDHX 023F 堆栈初始化 放入GP32的RAM最高端TXSJSRInit0 调系统初始化子程序Init0 初始学习时跳过此处 I O初始化NOP 初始化LDA 00111010 SPI初始化设置 禁止中断 主机方式 时钟低电平有SPSCK启动移位 脉冲 普通推拉模式 允许SPISTASPCRLDA 00000000 禁止中断 禁止错误检测 时钟分频系数为2STASPSCR 11 LDADDRC 初始化E RW RS控制信号ORA 00001111 PTC3 0为输出STADDRCLDHX 00DISPLAY1 把要显示的16个初始字符 放入LCD BUFFER中LDADISPLAYBYTES XSTALCD BUFFER XAIX 1CPHX 10BNEDISPLAY1 循环16次BRASTART 12 DISPLAYBYTESFCB WAITRECEIVING START JSRINIT 74HC164 初始化74HC164 移位寄存器 JSRINIT LCD LCD初始化JSRSHOW LCD BUFFER 把LCD BUFFER中的 16个字符送LCD显示 13 LDHX 00DISPLAY2 从PC机接收16个字符放入LCD BUFFER开始的内存中BRCLR5 SCS1 与PC机串行通信 判断接收器 是否满LDASCDR 读SCI数据寄存器STALCD BUFFER XAIX 1CPHX 10BNEDISPLAY2JMPSTART 14 INIT LCD LCD初始化子程序 入口 无 功能 初始化LCD HD44780 调用子程序 LCDCOMMAND LCD命令执行子程序 占用CPU内部寄存器 A X INIT LCD BCLRLCD RS PTC 令LCD的RS 0 R W 0 进行LCD初始化BCLRLCD RW PTCLDA 00111000 功能设置 8位数据接口 2行显示 5 10点阵模式JSRLCDCOMMAND 15 LDA 00001000 显示开关控制 开显示 关光标显示 不闪烁JSRLCDCOMMANDJSRINIT 74HC164 74HC164 移位寄存器 初始化BCLRLCD RS PTC RS RW清零开始清屏BCLRLCD RW PTCBRCLRBIT SPTE SPSCR 判断发送数据寄存器 是否为空LDA 00000001 清屏指令JSRLCDCOMMANDLDHX 2DF 等待清屏完毕 时间 1 6ms 16 CLR LCD 2 MS 延时AIX 1CPHX 0BNECLR LCD 2 MSLDA 00000110 输入方式设置 数据读写 操作后 AC自动增1显示不动 光标左移JSRLCDCOMMANDLDA 00010100 光标移位设置 光标右 移一个字符位 AC自动加1JSRLCDCOMMANDLDA 00001100 显示开关设置 开显示 关光标显示 不闪烁JSRLCDCOMMANDRTS 17 LCDCOMMAND LCD命令执行子程序 入口 A 功能 对A中指令送LCD HD44780 进行命令执行或 字符显示 占用CPU内部寄存器 A LCDCOMMAND PSHH 保护现场PSHXPSHA 保护入口指令码BRCLRBIT SPTE SPSCR 测试状态 发送数据 寄存器是否为空 18 JSRINIT 74HC164 初始化74HC164芯片PULA 弹出入口指令码STASPDR 把指令码发送出去BRCLRBIT SPTE SPSCR 测试发送完毕NOPNOPBSETLCD E PTC LCD开始接受数据 置使能位为1 19 NOPNOPBCLRLCD E PTC LCD结束接受数据 置 使能位为0LDHX 0020 等待40usDBNZX PULX 恢复现场PULHRTS 20 INIT 74HC164 74HC164初始化 入口 无 功能 清空74HC164 占用CPU内部寄存器 HX INIT 74HC164 BCLRHC164 CR PTC CR为0清除74HC164中的数据BSETHC164 CR DDRCLDHX 0020 等待40usDBNZX BSETHC164 CR PTC 清除完毕 74HC64的CR 转为高电平RTS 21 SHOW LCD BUFFEER LCD显示子程序 入口 内存LCD BUFFER开始的16个地址中存放要显 示的字符编码 功能 显示内存LCD BUFFER开始的16字节数据 调用 LCDCOMMAND子程序 占用CPU内部寄存器 A HX SHOW LCD BUFFER 进行显示数据寄存器 DDRAM 地址设置BCLRLCD RS PTCBCLRLCD RW PTC 设置前8个字符 首DDRAM地址 22 LDA 10000000JSRLCDCOMMANDLDHX 0 显示前8个字符SHOW FIRST 8BYTE BSETLCD RS PTC 令LCDRS 1 R W 0 写入数据到DDRAM中BCLRLCD RW PTCLDALCD BUFFER X 将 LCD BUFFER X 的数据放入A作为入口JSRLCDCOMMAND 23 AIX 1CPHX 8BNESHOW FIRST 8BYTELDA 11000000 设置后8个字符首DDRAM地址BCLRLCD RS PTCBCLRLCD RW PTCJSRLCDCOMMANDLDHX 08 显示后8个字符SHOW NEXT 8BYTE BSETLCD RS PTC 令LCD的RS 1 R W 0 写入 数据到DDRAM中 24 BCLRLCD RW PTCLDALCD BUFFER X 将 LCD BUFFER X 的数据 放入A作为入口JSRLCDCOMMANDAIX 1CPHX 10BNESHOW NEXT 8BYTERTS 中断矢量 ORG FFFE 复位向量DWMAININIT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论