HT48R50A的 LCD显示示例程序

发布者:Qilin520最新更新时间:2018-01-26 来源: eefocus关键字:HT48R50A  LCD显示 手机看文章 扫描二维码
随时随地手机看文章

HT48R50A的 LCD显示示例程序

; ******************************************** 
; Function :       LCD显示示例程序           * 

; MICroProcessor : HT48R50A-1/28SKDIP-A      * 

; Author:         www.picavr.com             * 
; Crystal :       4MHz                       * 
; ******************************************** 
#INCLUDE                HT48R50A-1.INC 
LCD_DATA        EQU     PA 
LCD_DATA_CTRL   EQU     PAC 
LCD_CTRL        EQU     PC 
LCD_CTRL_CTRL   EQU     PCC 
E               EQU     2 
RW              EQU     1 
RS              EQU     0 
;------------------------------------------------------ 
DATA    .SECTION        AT 60H  ’DATA’ 
DELAY_COUNTER_1         DB      ?       ;[60H] 
DELAY_COUNTER_2         DB      ?       ;[61H] 
DELAY_COUNTER_3         DB      ?       ;[62H] 
DISPLAY_DATA            DB      ?       ;[63H] 
DISPLAY_COUNTER         DB      ?       ;[64H] 
;------------------------------------------------------ 
CODE    .SECTION        AT 00H  ’CODE’ 
        ORG     00H 
        JMP     START 
START: 
        CLR     LCD_DATA 
        CLR     LCD_DATA_CTRL 
        CLR     LCD_CTRL 
        CLR     LCD_CTRL_CTRL 
        CALL    DELAY 
        CLR     TBLP 
         MOV      A,30H       ;\ 
         MOV      LCD_DATA,A  ;  > STEP 0 
        CALL    WRITE       ;/   LCD RESET 
        CALL    DELAY 
         MOV      A,30H       ;\ 
         MOV      LCD_DATA,A  ;  > STEP 0 
        CALL    WRITE       ;/   LCD RESET 
        CALL    DELAY 
         MOV      A,38H       ;\ 
         MOV      LCD_DATA,A  ;  > STEP 1 
        CALL    WRITE       ;/   Function set 
         MOV      A,06H       ;\ 
         MOV      LCD_DATA,A  ;  > STEP 2 
        CALL    WRITE       ;/   Entry mode set 
         MOV      A,01H       ;\ 
         MOV      LCD_DATA,A  ;  > STEP 3 
        CALL    WRITE       ;/   Display clear 
        CALL    DELAY 
         MOV      A,0EH       ;\ 
         MOV      LCD_DATA,A  ;  > STEP 4 
        CALL    WRITE       ;/   Display turn on/off 
         MOV      A,83H       ;\ 
         MOV      LCD_DATA,A  ;  > STEP 5 
        CALL    WRITE       ;/   DD RAM address set(First line) 
        SET     LCD_CTRL.RS ;    STEP 6 
         MOV      A,0AH       ;    DD RAM data write 
         MOV      DISPLAY_COUNTER,A 
DISPLAY1: 
        TABRDL  DISPLAY_DATA 
         MOV      A,DISPLAY_DATA 
         MOV      LCD_DATA,A 
        CALL    WRITE 
        INC     TBLP 
        SDZ     DISPLAY_COUNTER 
        JMP     DISPLAY1 
        CLR     LCD_CTRL.RS ;\ 
         MOV      A,0C3H      ;  > STEP 7 
         MOV      LCD_DATA,A  ; |  DD RAM address set(Second line) 
        CALL    WRITE       ;- 
        SET     LCD_CTRL.RS ;    SETP 8 
         MOV      A,0AH       ;    DD RAM data write 
         MOV      DISPLAY_COUNTER,A 
DISPLAY2: 
        TABRDL  DISPLAY_DATA 
         MOV      A,DISPLAY_DATA 
         MOV      LCD_DATA,A 
        CALL    WRITE 
        INC     TBLP 
        SDZ     DISPLAY_COUNTER 
        JMP     DISPLAY2 
        HALT 
        RET 
;------------------------------------------------------ 
WRITE   PROC 
        SET     LCD_CTRL.E 
        CLR     LCD_CTRL.E 
         MOV      A,0FFH 
         MOV      DELAY_COUNTER_1,A 
WAIT: 
        SDZ     DELAY_COUNTER_1 
        JMP     WAIT 
        RET 
WRITE   ENDP 
;------------------------------------------------------ 
DELAY   PROC 
         MOV      A,003H 
         MOV      DELAY_COUNTER_1,A 
         MOV      DELAY_COUNTER_2,A 
         MOV      DELAY_COUNTER_3,A 
WAITING: 
        SDZ     DELAY_COUNTER_3 
        JMP     WAITING 
        SDZ     DELAY_COUNTER_2 
        JMP     WAITING 
        SDZ     DELAY_COUNTER_1 
        JMP     WAITING 
        RET 
DELAY   ENDP 
;------------------------------------------------------ 
        ORG     0F00H 
                ;[LCD.......] 
                ;[Test OK !!] 
        DC      4CH,43H,44H,2EH,2EH,2EH,2EH,2EH,2EH,2EH 
        DC      54H,65H,73H,74H,20H,4FH,4BH,20H,21H,21H 
;------------------------------------------------------ 
        END 


关键字:HT48R50A  LCD显示 引用地址:HT48R50A的 LCD显示示例程序

上一篇:HT48R50A的4X4按键显示程序
下一篇:HT48R50A的 5X7 LED点阵显示示例程序

推荐阅读最新更新时间:2024-03-16 15:53

基于SPCE061A单片机的汽车保养提示系统设计
0 引言 汽车作为现代社会的一种交通工具,已经走进了千家万户。对汽车的正确使用和保养,不仅能够提高汽车的安全性、舒适性和使用寿命,还能提高汽车的能源利用率,使汽车更加环保节能。但是目前由于汽车保养知识的专业性,许多汽车使用者对于汽车保养的知识掌握较少,甚至许多汽车保养店的专业人员也不能准确、及时、全面地把握汽车保养的内容。 为了解决驾车者掌握汽车保养知识困难的问题,该设计使用SPCE061A单片机为控制芯片,采用语音播报和液晶显示相结合的方法,提示专业的保养信息。从而使驾车者无需掌握专业的汽车保养知识,就可以对汽车进行及时、全面的保养。目前该系统在实验室中已取得了不错的效果。 1 系统硬件设计 1.1 主控芯片与整体硬件方案
[单片机]
基于SPCE061A单片机的汽车保养提示系统设计
LCD显示电路设计
  HY12864为128×64点阵LCD,采用两片HD61202作为列驱动器,同时使用一片HD61203作为行驱动器的液晶模块,芯片的结构图如图所示。HY12864具有简单而功能较强的指令集,与微控制器的数据传输采用8位并行传输方式。片内Flash中存入了需要使用的字符库,通过调用LCD字符显示程序,可以显示中英文字符。   图 HY12864逻辑功能与管脚图   在HY12864中,两片HD61202的ADO均接高电平,RST也接高电平,这样在使用HY12864时就不必再考虑这两个引脚的作用了。CSA跟HD61202(1)的/CS1相连;/CSB跟HD61202(2)的CS1相连,因此CSA、CSB选通组合信号为CSA
[电源管理]
<font color='red'>LCD显示</font>电路设计
STM32f4---TFTLCD显示实验代码(01)
本实验,我们用到FSMC驱动 LCD,通过前面的介绍,我们知道TFTLCD 的RS接在FSMC的 A6上面,CS 接在 FSMC_NE4 上,并且是16位数据总线。即我们使用的是FSMC 存储器1的第 4区,我们定义如下LCD 操作结构体(在lcd.h 里面定义): //LCD 操作结构体 typedef struct { vu16 LCD_REG; vu16 LCD_RAM; } LCD_TypeDef; //使用NOR/SRAM的 Bank1.sector4,地址位 HADDR =11 A6作为数据命令区分线 //注意16位数据总线时,STM32内部地址会右移一位对齐! #define LCD_BASE ((
[单片机]
LCD显示屏出现闪烁的原因与解决
比较CRT与LCD两类显示屏时,其中一项最为普遍见到的差别是闪烁问题。一般都会以为CRT显示屏有闪烁,而LCD则没有,查实两类显示屏皆有某程度上的闪烁,机制上的差异和纠正方法影响到成功率。本文讲述LCD显示屏上出现闪烁的原因,并且提出避免闪烁的方法。 LCD显示技术 液晶体显示屏(LCD)於1973年出现於计算器上,首个LCD是嵌入有七段字画,让数字得以被显示。下一代LCD则於1980年面世,属於点阵式(dot-matrix)显示,除显示数字外,还有字符和图形,比如是简单的单色电脑显示屏或者流行的“电子宠物” 他妈哥池。这些矩阵设计藉著启动阵中的行与列的像素作为控制,取代了每一像素需一条独立的控制线。至1980年代末,彩色
[电源管理]
浅析汽车TFT-LCD显示器升压电源的解决方案
Maxim公司的MAX16928是高度集成的汽车TFT-LCD显示器电源,器件集成了一个升压转换器(高达6W,输出高达18V),一个1.8V/3.3V稳压控制器(500mA电流)和两个栅极电压稳压器,其中的正栅极电压稳压器能在28V时提供20mA电流,高频2.2MHz工作,提供软起动和超温关断等功能.主要用在汽车仪表盘,汽车中心信息显示器和汽车导航系统.本文介绍了MAX16928主要特性,方框图, 正输出和负输出电压的多级电荷泵电路以及典型应用电路. Automotive TFT-LCD Power Supply with Boost Converter and Gate Voltage Regulators The MA
[嵌入式]
HT48R50A的 AT24C02 IIC 示例程序
; ************************************************* ; Function :基于HT48R50A的 AT24C02 IIC 示例程序 * ; MicroProcessor : HT48R50A-1/28SKDIP-A * ; Author: www.picavr.com * ; Crystal : 4MHz * ; ************************************************* #INCLUDE HT48R50A-1.INC OK E
[单片机]
<font color='red'>HT48R50A</font>的 AT24C02 IIC 示例程序
LCD显示文字的函数-ARM体系-2440
/* *lcd显示汉字 *输入参数: * x:开始位置横坐标 * y:开始位置纵坐标 * color:字体颜色 * ch :文字 * */ void Draw_Text16(int x, int y, int color, const unsigned char ch ) { unsigned short i, j ; unsigned char mask, tem ; for(i=0; i 16; i++) { mask= 0x80 ; tem = ch ; //俩个字节一组16位,取第一个字节 for(j=0; j 8; j++) { if(
[单片机]
4~20mA环供电4位半LCD显示
DATEL公司的DMS-40LCD-4/20S是一种适用于4~20mA过程监控应用的4位半LCD(液晶显示)显示表。它具有很低(2.9V)的环路压降、190Ω(最大)环路阻抗。用DIP开关选择量程、补偿和小数点,可有几百个不同的输入/读出组合。它具有两个互不影响的增益(量程)和零调整20匝电位器。整个表的大小为2.17"×0.92"×0.90"(55mm×23mm×23mm),显示为大的、0.04"(10.0mm)高、太阳光下可视的LCD。DMS-40LCD-4/20S框图示于图1,典型的应用连接示于图2。 显示读数与DIP开关设置的关系列于表1中。S1的6个开关位置和S2的2个开关位置设置显示读数。例如,希望显示读数为:
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved