您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 微机原理与接口实验46液晶屏显示-LCD1602赖晓铮
微机原理与接口实验系列一、IO端口扩展(8255)二、定时器/计数器(8253)三、串口通信(8251)四、模数转换(ADC0809)五、数模转换(DAC0832)六、液晶屏显示(LCD1602)七、中断控制器(8259)赖晓铮博士华南理工大学laixz@scut.edu.cnQQ:68046508(六)液晶屏显示(LCD1602)实验实验内容:●构建“CPU+LCD”的微型计算机系统,及编程相应的人机界面程序,实现通过字符型液晶屏LCD1602显示英文字符、标点符号和数字的功能。实验目的:●了解字符型液晶显示屏LCD1602的基本工作原理。●掌握CPU控制LCD1602输出显示文本内容的方法。微程序版“CPU+LCD1602”电路图初始化过程1)时钟信号CLK接手动开关MANUAL,启动仿真,使能复位信号#RESET=0;2)手动按钮MANUAL开关“010”,然后令信号#RESET=1.注:初始化完成后,若时钟信号CLK继续接开关MANUAL,则CPU进入手动模式,手动MANUAL开关,生成时钟信号CLK,程序单步执行;若时钟信号CLK接信号源AUTO-CLK(主频10Hz),则CPU进入自动模式,程序自动运行,直到HLT指令的“断点”处暂停。重启过程(跳出“断点”)1)时钟信号CLK接开关MANUAL,手动令复位信号端#RESET的状态“101”变化,即重启完成,跳出“断点”继续执行。注:跳出“断点”后,CPU进入HLT指令的后续下一条指令的取指周期。液晶显示屏LCD1602应用电路图液晶屏LCD1602示意图LCD1602字模寄存器引脚号符号引脚说明引脚号符号引脚说明1VSS电源地9DB2数据总线端口2VDD电源正极10DB3数据总线端口3V0偏压信号11DB4数据总线端口4RS命令/数据12DB5数据总线端口5RW读/写13DB6数据总线端口6E片选使能14DB7数据总线端口7DB0数据总线端口15A背光正极8DB1数据总线端口16K背光负极液晶屏LCD1602写操作时序图LCD1602引脚功能序号命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB01清屏00000000012光标返回000000001X3输入模式设置00000001I/DS4显示开/关控制0000001DCB5光标或字符移动000001S/CR/LXX6工作方式设置00001DLNFXX7置CGRAM地址0001字模寄存器CGRAM地址8置DDRAM地址001显示数据寄存器DDRAM地址9读状态字01BF地址计数器AC值10写数据到CGRAM或DDRAM10写入的数据内容11从CGRAM或DDRAM读数据11读出的数据内容液晶屏LCD1602命令字格式实验步骤:1)LCD1602显示测试程序test_LCD1602.asm存放在实验4.6项目的子文件夹test里,其功能实现了CPU向LCD1602发送一段ASCII码字符序列“HELLO!”,在LCD1602屏幕的第一行正确显示。具体代码如后页所示。2)编译、烧写、自动运行上述test_LCD1602源程序,在程序自动运行过程中观察LCD1602屏幕显示内容。(编译和烧写asm文件的方法参见“2.6存储器实验:ROM批量导入数据”)3)修改自行设计所要显示的字符序列及显示位置(例如改为在第二行显示),若字符序列需要2行以上的显示空间,则可以增加LCD屏幕的滚动显示功能。修改并自动执行程序test_LCD1602。在运行过程中观察LCD1602屏幕显示的内容。汇编助记符注释(M地址:机器指令)JMP08H00H:0001000001H:0000100048H“H”02H:0100100045H“E”03H:010001014CH“L”04H:010011004CH“L”05H:010011004FH“O”06H:0100111121H“!”07H:00100001SETR3,90HLCD地址[1001xxxx],写命令模式08H:0011110009H:10010000OUTAR3,PORT0选择LCD,写命令模式0AH:01011110test_LCD1602汇编助记符注释(M地址:机器指令)SETR2,38HR2存放命令6,8位数据格式,双行显示0BH:001110000CH:00111000OUTR2,PORT0使能E写入命令0DH:01011000SETR2,0CHR2存放命令4,开显示开关无光标不闪烁0EH:001110000FH:00001100OUTR2,PORT0使能E写入命令10H:01011000SETR2,01HR2存放命令1,清屏11H:0011100012H:00000001OUTR2,PORT0使能E写入命令13H:01011000SETR2,06HR2存放命令3,I/D=1,光标在新数据右边14H:0011100015H:00000110OUTR2,PORT0使能E写入命令16H:01011000test_LCD1602汇编助记符注释(M地址:机器指令)SETR2,80HR2存放命令8,置DDRAM地址(第一行首地址)17H:0011100018H:10000000OUTR2,PORT0使能E写入命令19H:01011000SETR3,92HLCD地址[1001xxxx],写数据模式1AH:001111001BH:10010010OUTAR3,PORT0选择LCD,写数据模式1CH:01011110SETR2,02HR2用以记录发送字符的地址发送的字符串首地址[02H]1DH:001110001EH:00000010SETR0,06HR0用作待发送字符的计数器总共6个数据1FH:0011000020H:00000110POPR1,[R2]循环发送数据,跳转到此处21H:10000110OUTR1,PORT0输入LCD1602数据22H:01010100test_LCD1602汇编助记符注释(M地址:机器指令)INCR223H:00101000DECR0待发送字符的计数器递减“-1”24H:00100001NOP此处可以做断点HLT,观察LCD显示25H:00000000JZ2AH待发送字符的计数器为0,结束发送26H:0001100027H:00101010JMP21HLCD显示成功,跳转继续发送下一个字符28H:0001000029H:00100001HLT2AH:00000001test_LCD1602思考题:●请把本实验的微程序版“CPU+LCD1602”电路改成硬布线版和流水线版“CPU+LCD1602”电路,并且运行本实验步骤所示的LCD1602测试程序。请问上述程序在硬布线或流水线版本中需要修改么?若需要,请修改并测试。(六)液晶屏显示(LCD1602)实验附录:CPU指令集(OP码表)OP码(I7I6I5I4)指令助记符OP码(I7I6I5I4)指令助记符0111IRET1111OR/ORI0110MOV1110AND/ANDI0101OUT/OUTA1101ADD/ADDI0100IN1100SUB/SUBI0011SET1011XOR/XORI0010SOP(INC/DEC/NOT/THR)1010SHT(RLC/LLC/RRC/LRC)0001JMP/JMPR/Jx/JxR1001STO/PUSH0000NOP/HLT1000LAD/POP一、系统指令:汇编语言功能I7I6I5I4I3I2I1I0NOP;无操作(延时4个T)00000/0x/0HLT;停机(断点)00000/0x/1IRET;中断返回BP_PCPC;BP_PSWPSW01110/0x/x汇编语言注释I7I6I5I4I3I2I1I0MOVRA,RB;(RB)RA0110RARBSETRA,IMM;IMMRA0011RAx/xIMM二、寄存器及I/O操作指令:汇编语言功能I7I6I5I4I3I2I1I0INRA,PORTx;(PORTx)RA0100RAPORTxOUTRA,PORTx;(RA)PORTx0101RA0/PORTxOUTARA,PORTx;(RA)PORTx0101RA1/PORTx汇编语言功能I7I6I5I4I3I2I1I0LADRA,[ADDR];[ADDR]RA1000RA0/0ADDRPOPRA,[RB];[RB]RA1000RARBSTORA,[ADDR];(RA)[ADDR]1001RA0/0ADDRPUSHRA,[RB];(RA)[RB]1001RARB三、存储器及堆栈操作指令:汇编语言功能I7I6I5I4I3I2I1I0JMPADDR;ADDRPC00010/00/0ADDRJMPRRB;(RB)PC00010/0RBJCADDR;IFCF=1,ADDRPC00010/10/0ADDRJCRRB;IFCF=1,(RB)PC00010/1RBJZADDR;IFZF=1,ADDRPC00011/00/0ADDRJZRRB;IFZF=1,(RB)PC00011/0RBJSADDR;IFSF=1,ADDRPC00011/10/0ADDRJSRRB;IFSF=1,(RB)PC00011/1RB四、跳转系列指令:五、算术逻辑运算指令:汇编语言功能I7I6I5I4I3I2I1I0RLCRA;(RA)右逻辑移位1010RA0/0LLCRA;(RA)左逻辑移位1010RA1/0RRCRA;(RA)右循环移位1010RA0/1LRCRA;(RA)左循环移位1010RA1/1汇编语言功能I7I6I5I4I3I2I1I0INCRA;(RA)+1RA0010RA0/0DECRA;(RA)-1RA0010RA0/1NOTRA;#(RA)RA0010RA1/0THRRA;(RA)RA0010RA1/1五、算术逻辑运算指令:汇编语言格式功能I7I6I5I4I3I2I1I0ADDRA,RB;(RA)+(RB)RA1101RARBADDIRA,IMM;(RA)+IMMRA1101RA0/0IMMSUBRA,RB;(RA)-(RB)RA1100RARBSUBIRA,IMM;(RA)-IMMRA1100RA0/0IMMANDRA,RB;(RA)∧(RB)RA1110RARBANDIRA,IMM;(RA)∧IMMRA1110RA0/0IMMORRA.RB;(RA)∨(RB)RA1111RARBORIRA,IMM;(RA)∨IMMRA1111RA0/0IMMXORRA,RB;(RA)⊕(RB)RA1011RARBXORIRA,IMM;(RA)⊕IMMRA1011RA0/0IMM
本文标题:微机原理与接口实验46液晶屏显示-LCD1602赖晓铮
链接地址:https://www.777doc.com/doc-2435599 .html