嗨,大家好,昨天刚写好一个汇编程序,之前有bug,不能正确显示,经过一天的调试修改终于改好了,和大家分享一下。
我今天给大家介绍的是LCD1602的显示,该程序是用汇编语言来写的。我们先来看一下实物效果:
伪指令定义,可以写在ORG 0000H的前面。
LCD_RS BIT P1.3 ; 伪指令,定义LCD的RS引脚 LCD_RW BIT P1.5 ;伪指令,定义LCD的RW引脚LCD_E BIT P1.4 ;伪指令,定义LCD的E引脚LCD_Status EQU 20H ;定义LCD的忙状态
以下为程序中用到的量含义说明:在Keil中应该写成注释
LCD_Status:存放LCD忙状态信息,=0,为不忙R6 存放LCD的命令字,LCD_Write_Command的入口参数R5 存放要显示的数据,LCD_Write_Dat的入口参数R4 存放显示位置,LCD_Position的入口参数R3 存放要显示的数组长度30H 延时函数的入口参数,通过给30H单元赋值,可以实现不同的延时时间。
ORG 0000H LJMP MAIN;
/**************************
主程序:MAIN
功能:主函数
************************/
ORG 0030HMAIN: MOV SP,#40H LCALL LCD