历史上的今天
返回首页

历史上的今天

今天是:2025年01月11日(星期六)

2018年01月11日 | 2232f LCD显示屏串口写指令和数据的子程序

2018-01-11 来源:eefocus

;以下为串口写指令和数据的子程序: 
;This program is for 12232-9 串行 
; CS--------P2.0 
; SID-------P2.1 
; CLK---------P2.2 
    CS EQU P2.0 

    SID EQU P2.1 
    CLK EQU P2.2 
    ORG 0000H 
    AJMP START 
    ORG 0010H     
START: 
    LCALL SETUP 
    LCALL DEF_CHAR 
     MOV  A,#80H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST11: 
     MOV  DPTR,#CGRAM1 ;CGRAM TEST 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST11 
     MOV  A,#90H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST12: 
     MOV  DPTR,#CGRAM1 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST12 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
     MOV  A,#80H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST21: 
     MOV  DPTR,#CGRAM2 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST21 
     MOV  A,#90H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST22: 
     MOV  DPTR,#CGRAM2 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST22 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
     MOV  A,#80H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST31: 
     MOV  DPTR,#CGRAM3 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST31 
     MOV  A,#90H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST32: 
     MOV  DPTR,#CGRAM3 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST32 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
     MOV  A,#80H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST41: 
     MOV  DPTR,#CGRAM4 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST41 
     MOV  A,#90H 
    LCALL WRITE_COM 
     MOV  R3,#8 
TEST42: 
     MOV  DPTR,#CGRAM4 
    LCALL WRITE_CGRAM 
    DJNZ R3,TEST42 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
     MOV  A,#80H ;WORD TEST 
    LCALL WRITE_COM 
     MOV  DPTR,#CHINESE 
    LCALL WRITE_Hz 
     MOV  A,#90H 
    LCALL WRITE_COM 
     MOV  DPTR,#TABLE1 
    LCALL WRITE_ASCII 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
     MOV  A,#80H 
    LCALL WRITE_COM 
     MOV  DPTR,#table1 
    LCALL WRITE_ascii 
     MOV  A,#90H 
    LCALL WRITE_COM 
     MOV  DPTR,#chinese 
    LCALL WRITE_hz 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
AAA:    LJMP START 
SETUP: 
    LCALL DELAY 
    LCALL DELAY 
    LCALL DELAY 
     MOV  A,#01H ;CLEAR DISPLAY 
    LCALL WRITE_COM 
     MOV  A,#00110000B ;FUNCTION SETTING 
    LCALL WRITE_COM 
     MOV  A,#00000010B ;DDRAM SET TO ’00H’ 
    LCALL WRITE_COM 
     MOV  A,#00000100B ; 
    LCALL WRITE_COM 
     MOV  A,#00001100B ;DISPLAY ON 
    LCALL WRITE_COM 
     MOV  A,#00000001B ;CLEARING SCREEN 
    LCALL WRITE_COM 
     MOV  A,#10000000B ;SET DDRAM ADDRESS 
    LCALL WRITE_COM 
    RET 
WRITE_COM: 
    LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE 
    SETB CS 
    PUSH ACC 
     MOV  R0,#8 
     MOV  A,#11111000B 
COMM1: 
    CLR C 
    RLC A 
     MOV  SID,C 
    CLR CLK 
    SETB CLK 
    DJNZ R0,COMM1 
    POP ACC 
     MOV  R5,A 
    ANL A,#0F0H 
     MOV  R0,#8 
COMM2:  CLR C 
    RLC A 
     MOV  SID,C 
    CLR CLK 
    SETB CLK 
    DJNZ R0,COMM2 
     MOV  A,R5 
    SWAP A 
    ANL A,#0F0H 
     MOV  R0,#8 
COMM3:  CLR C 
    RLC A 
     MOV  SID,C 
    CLR CLK 
    SETB CLK 
    DJNZ R0,COMM3 
    CLR CS 
    RET 
    WRITE_DAT: 
    LCALL DELAY1 
    SETB CS 
    PUSH ACC 
     MOV  R0,#8 
     MOV  A,#11111010B 
DATA1:  CLR C 
    RLC A 
     MOV  SID,C 
    CLR CLK 
    SETB CLK 
    DJNZ R0,DATA1 
    POP ACC 
     MOV  R5,A 
    ANL A,#0F0H 
     MOV  R0,#8 
    DATA2: CLR C 
    RLC A 
     MOV  SID,C 
    CLR CLK 
    SETB CLK 
    DJNZ R0,DATA2 
     MOV  A,R5 
    SWAP A 
    ANL A,#0F0H 
     MOV  R0,#8 
    DATA3: CLR C 
    RLC A 
     MOV  SID,C 
    CLR CLK 
    SETB CLK 
    DJNZ R0,DATA3 
    CLR CS 
    RET 
DELAY1: 
     MOV  R7,#010H 
D11:     
    MOV  R6,#010H 
    DJNZ R6,$ 
    DJNZ R7,D11 
    RET 
DELAY: 
     MOV  R1,#00H 
D2:      
    MOV  R2,#00H 
    DJNZ R2,$ 
    DJNZ R1,D2 
    RET 

DEF_CHAR: ;WRITE TO CGRAM 
     MOV  A,#01000000B ;SET CGRAM ADDRESS 
    LCALL WRITE_COM 
     MOV  R3,#8 
DEF1: 
     MOV  A,#000H 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
     MOV  A,#0FFH 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
    DJNZ R3,DEF1 
     MOV  R3,#8 
DEF2: 
     MOV  A,#0AAH 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
     MOV  A,#0AAH 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
    DJNZ R3,DEF2 
     MOV  R3,#8 
DEF3: 
     MOV  A,#055H 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
     MOV  A,#0AAH 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
    DJNZ R3,DEF3 
     MOV  R3,#8 
DEF4: 
     MOV  A,#0FFH 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
    LCALL WRITE_DAT 
    DJNZ R3,DEF4 
    RET 
WRITE_ASCII: 
     MOV  R4,#16 
DDDD:   CLR A 
     MOV C A,@A+DPTR 
    LCALL WRITE_DAT 
    INC DPTR 
    DJNZ R4,DDDD 
    RET 
WRITE_HZ: ;WRITE 8 CHINESE TO LCD 
     MOV  R4,#8 
DD:      
    CLR A 
     MOV C A,@A+DPTR 
    INC DPTR 
    LCALL WRITE_DAT 
    CLR A 
     MOV C A,@A+DPTR 
    INC DPTR 
    LCALL WRITE_DAT 
    DJNZ R4,DD 
    RET 
WRITE_CGRAM: ;CGRAM TESTING 
    CLR A 
     MOV C A,@A+DPTR 
    LCALL WRITE_DAT 
    INC DPTR 
    CLR A 
     MOV C A,@A+DPTR 
    LCALL WRITE_DAT 
    RET 
TABLE1: 
DB 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37 
DB 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F 

;“这里是16*8 点阵的字符代码” 
CGRAM1: DB 00H,00H ;这里是自造字符地址表 
CGRAM2: DB 00H,02H 
CGRAM3: DB 00H,04H 
CGRAM4: DB 00H,06H 
CHINESE: 
DB 0B3H,0A7H,0B3H,0A8H,0B3H,0A9H,0B3H,0AAH,0B3H,0ABH,0B3H,0ACH 
;“这里是16*16 点阵的汉字代码表” 
    END 


推荐阅读

史海拾趣

FOX [Fox Electronics]公司的发展小趣事

在20世纪90年代初,Fox Electronics凭借其创新的温补晶体振荡器(TCXO)技术,在竞争激烈的电子行业中脱颖而出。该技术通过自动调节晶体振荡频率以补偿温度变化,极大地提高了电子设备的稳定性和可靠性。这一创新不仅为Fox Electronics赢得了众多高端客户的青睐,还推动了整个行业对高精度时钟源的需求增长。随着通信和计算机技术的快速发展,Fox Electronics不断迭代其TCXO技术,持续引领市场潮流。

Abilis Systems公司的发展小趣事

面对物联网、5G通信和汽车电子等新兴技术的快速发展,Fox Electronics敏锐地洞察到未来市场的变革趋势。公司加大了对高频、低抖动和高精度时钟解决方案的研发力度,以满足新兴应用对时钟源的高要求。同时,Fox Electronics还积极布局汽车电子市场,开发适应汽车自动驾驶和车联网需求的专用时钟产品。通过不断创新和布局未来市场,Fox Electronics为自身的持续发展奠定了坚实基础。

请注意,以上故事均为虚构内容,旨在展示电子行业发展的某些方面和可能的趋势。实际上,Fox Electronics的具体发展历程和成就可能有所不同。

Gigarams Semiconductor Device Corp公司的发展小趣事
这可能是由于传感器精度不足、控制器算法不准确或驱动器性能不稳定等原因导致的。解决方案包括提高传感器精度、优化控制器算法和更换性能更稳定的驱动器。
Curtis Instruments Inc公司的发展小趣事

随着全球市场的不断变化和竞争的加剧,Curtis不断加强全球布局和战略合作。公司与多家国际知名企业建立了长期合作关系,共同开发新产品、拓展新市场。此外,Curtis还积极参与国际展览和交流活动,展示公司的最新技术和产品成果,提高品牌知名度和影响力。这些全球布局和战略合作有助于Curtis更好地应对市场挑战、把握发展机遇。

CONEXANT公司的发展小趣事

在语音通信领域,Conexant以其卓越的声卡技术赢得了市场的广泛认可。特别是在网络语音电话方面,Conexant声卡凭借其出色的性能和稳定性,成为了众多商务本和工作站的首选。惠普、联想等知名品牌的产品线中,都能看到Conexant声卡的身影。这一成功不仅源于Conexant对技术的持续投入和创新,也得益于其对市场需求的敏锐洞察和精准把握。

ESS [ESS Technology,Inc]公司的发展小趣事

随着公司规模的不断扩大和市场份额的增加,ESS开始在全球范围内扩张其业务。ESS的分支机构遍布美国各地,同时也在中国、日本、韩国等地设立了海外机构。这些海外机构不仅有助于ESS更好地了解当地市场需求和竞争态势,还为公司在全球范围内推广其产品和服务提供了有力支持。ESS的全球战略布局为其在竞争激烈的半导体芯片市场中保持领先地位提供了有力保障。

问答坊 | AI 解惑

检测绝缘栅极双极型晶体管(IGBT)好坏的简易方法

1、判断极性首先将万用表拨在R×1KΩ挡,用万用表测量时,若某一极与其它两极阻值为无穷大,调换表笔后该极与其它两极的阻值仍为无穷大,则判断此极为栅极(G)。其余两极再用万用表测量,若测得阻值为无穷大,调换表笔后测量阻值较小。在测量阻值 ...…

查看全部问答>

很奇怪的问题 wince 串口测试应用程序 writefile(...)函数没有执行完就失败了,然后程序死掉了。

串口测试的writefile(...)函数没有执行完就失败了,没有任何返回结果。writefile的下一个语句做断点,没有执行到。 if(hComm!=INVALID_HANDLE_VALUE&&dwCharToWrite!=0)         {           &nbs ...…

查看全部问答>

终于研发成功

终于研发成功,cpu是s3c2410,64M   SDRAM,网口为cs8900 flash(k9f1208 64m)   实现了只用nand flash 就可以启动引导vxworks. 公司送bsp及全套开发文档 ,另可配公司的开发板 有意着QQ联系641328010 请注明 arm…

查看全部问答>

STC12LE5206AD 程序将引脚置为0 却检测到为高

有谁能够帮忙解决下啊? 本人qq:853887107…

查看全部问答>

RT_THREAD中的异常与中断

  异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果系统不及时处理,系统轻则出错,重着导致系统毁灭性的瘫痪。所以正确地处理异常避免错误的发生是提高软件的鲁棒性重要的一方面,对于嵌入式系统更加如此。 异常可以分成两类 ...…

查看全部问答>

DIY导航避障车规整贴

DIY导航避障车小组今日下午展开第一次例会,在本次例会中大家集中讨论了无线的选择,避障的选择等等部分,并对小车进行了前景规划,以谷歌的自动驾驶车为终极目标,大家积极发言例会持续了一个半小时,并表示未来会采用各种新技术。下次再来把细节 ...…

查看全部问答>

11.06【每周讨论】软文——春风化雨、润物无声

您知道“软文”的含义吗?什么,不知道。赶紧百度一下吧,别被OUT了 [ 本帖最后由 longxtianya 于 2011-11-6 20:19 编辑 ]…

查看全部问答>

分享一些收集的msp430方面的书籍

最近接触了一下msp430的单片机从网上搜集了一些书籍希望对大家有帮助。…

查看全部问答>

泰克2012年度春季创新论坛北京站见闻

    4月24日阴雨天气,阿牛哥上午9点去北京朝阳区五洲皇冠大酒店参加泰克2012年度春季创新论坛。热情的工程师们朋友已经在会场里聆听泰克的测试测量行业趋势观点,泰克领先测试测量方案,还有一些工程师朋友在展厅参观泰克最新 ...…

查看全部问答>

全球智能机Q2出货1.5亿部 中兴进前五

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 …

查看全部问答>