/***************************************

本例程为IO直接驱动LCD的方法

以下是松瀚MCU汇编源程序

****************************************/

LCD 图形如下:

LCD真值表如下:

;源程序如下:
;驱动IO定义
P_COM3 EQU P5.4
P_COM2 EQU P5.3
P_COM1 EQU P5.2
PM_COM3 EQU P5M.4
PM_COM2 EQU P5M.3
PM_COM1 EQU P5M.2 P_SEG1 EQU P0.4
P_SEG2 EQU P0.5
P_SEG3 EQU P0.6
P_SEG4 EQU P0.7
P_SEG5 EQU P5.0
P_SEG6 EQU P5.1 ;变量定义
C_FR DS 1 ;液晶扫描状态
R_DSPCOM1 DS 1
R_DSPCOM2 DS 1
R_DSPCOM3 DS 1 R_BITI DS 1 ;中断服务程序 INT_T0: ; T0中断定时1MS 依次扫描八个状态
B0BTS1 FT0IRQ
RETI
B0BCLR FT0IRQ
B0BTS1 FT0IEN
RETI
PUSH ;以下是LCD显示扫描
MOV A,#256-32
B0MOV T0C,A ;以下是LCD显示扫描
INCMS C_FR
NOP
MOV A,C_FR
SUB A,#6
B0BTS0 FC
CLR C_FR B0BCLR PM_COM1
B0BCLR PM_COM2
B0BCLR PM_COM3 MOV A,C_FR
AND A,#0X07
@JMP_A 6
JMP A_COM0
JMP A_COM1
JMP A_COM2
JMP A_COM3
JMP A_COM4
JMP A_COM5
JMP A_COM5
JMP A_COM5 A_COM0:
B0BSET PM_COM1
B0BCLR P_COM1 ;低电平驱 MOV A,R_DSPCOM1 JMP A_SEG
A_COM1:
B0BSET PM_COM2
B0BCLR P_COM2 ;低电平驱 MOV A,R_DSPCOM2 JMP A_SEG
A_COM2:
B0BSET PM_COM3
B0BCLR P_COM3 ;低电平驱 MOV A,R_DSPCOM3 JMP A_SEG A_COM3:
B0BSET PM_COM1
B0BSET P_COM1 ;高电平驱 MOV A,R_DSPCOM1
XOR A,#0XFF JMP A_SEG
A_COM4:
B0BSET PM_COM2
B0BSET P_COM2 ;高电平驱 MOV A,R_DSPCOM2
XOR A,#0XFF JMP A_SEG
A_COM5:
B0BSET PM_COM3
B0BSET P_COM3 ;高电平驱 MOV A,R_DSPCOM3
XOR A,#0XFF JMP A_SEG
A_SEG:
MOV R_BITI,A B0BCLR P_SEG1
BTS0 R_BITI. 0
B0BSET P_SEG1 B0BCLR P_SEG2
BTS0 R_BITI. 1
B0BSET P_SEG2 B0BCLR P_SEG3
BTS0 R_BITI. 2
B0BSET P_SEG3 B0BCLR P_SEG4
BTS0 R_BITI. 3
B0BSET P_SEG4 B0BCLR P_SEG5
BTS0 R_BITI. 4
B0BSET P_SEG5 B0BCLR P_SEG6
BTS0 R_BITI. 5
B0BSET P_SEG6 INT_EX: POP
RETI

用普通IO驱动LCD的控制方法-松瀚汇编源程序的更多相关文章

  1. 24C02操作--松瀚汇编源码

    ; ; P_CLKIIC EQU P1.2 ; P_DATIIC EQU P1.3 ; PM_DATIIC EQU P1M.3 ; EE_ADDR DS 1 ;地址寄存器 ; TMP3_IIC DS ...

  2. 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060上LCD横向渐变色显示出亮点问题的分析解决经验. 痞子衡前段时间在支持一个i.MXRT1060客户项目时遇到了LCD ...

  3. STM32驱动LCD原理

    TFTLCD即薄膜晶体管液晶显示器.它与无源TN-LCD.STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性 ...

  4. STM32驱动LCD实战

    前段时间写了<STM32驱动LCD原理>和<STM32的FSMC外设简介>两篇文章,本文将对STM32驱动LCD进行实战应用.LCD是深圳市拓普微科技开发有限公司的LMT028 ...

  5. 松瀚SN8P2501 定时器初始化程序--汇编源码

    /* 松瀚 SN8P2501B 定时器初始化程序 */ INI_IRQ: ;定时器T0初始化 MOV A, #01100000b ;定时器模式Fcpu/4 16M/4/4=1M 1U计一次 B0MOV ...

  6. 松瀚SN8P2711 2722 ADC初始化程序及应用--汇编源码

    /* 松瀚 SN8P2711 2722 ADC初始化程序 及应用实例 */ INIT_ADC: MOV A, #0XB2 // 启动ADC电路 使能AIN通道 B0MOV ADM, A MOV A,# ...

  7. 基于V7的emWin多屏显示方案模板,同时驱动LCD和OLED例程

    说明: 1.多屏驱动跟多图层驱动是类似的,可以使用函数GUI_SelectLayer做切换选择. 2.为了避免OLED闪烁问题,创建一个128*64bit的显存空间,然后使用emWin的GUI_TIM ...

  8. 电路IO驱动能力

    驱动能力 电源驱动能力 -> 输出电流能力 -> 输出电阻 指输出电流的能力,比如芯片的IO在高电平时的最大输出电流是4mA -> 该IO口的驱动驱动能力为4mA 负载过大(小电阻) ...

  9. 玩转STM32MP157- 使用fbtft驱动 lcd ili9341

    之前使用了 fbtft 成功驱动了lcd st7735r,现在尝试下驱动 ili9341, 配置 跟之前用 fbtft 驱动 st7735r 一样,先用 make menuconfig 配置内核,添加 ...

随机推荐

  1. 基于邻接矩阵的深度优先搜索(DFS)

    题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2107&cid=1186 #include<stdio.h> #incl ...

  2. 根据block取出页号buf_block_get_page_no

    /*********************************************************************//** Gets the page number of a ...

  3. [原]Unity3D深入浅出 - 认识开发环境中的Layers面板

    Layers(分层)下拉列表:用来控制Scene视图中游戏对象的显示,在下拉菜单中为勾选状态的物体将显示在Scene视图中. Everything:显示所有的游戏对象 Nothing:不显示任何游戏对 ...

  4. NOI2010能量采集(数论)

    没想到NOI竟然还有这种数学题,看来要好好学数论了…… 网上的题解: 完整的结题报告: 首先我们需要知道一个知识,对于坐标系第一象限任意的整点(即横纵坐标均为整数的点)p(n,m),其与原点o(0,0 ...

  5. 【转】忙里偷闲写的小例子---读取android根目录下的文件或文件夹

    原文网址:http://www.cnblogs.com/wenjiang/p/3140055.html 最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还 ...

  6. 随心所欲的DateTime显示格式

    任何项目,难免会碰到DateTime的显示问题,.net框架虽提供丰富多样的显示方法,但我很少使用,因老忘记细节,每次都要纠结到底月份在前还是年份在前:日期分隔符到底是“/”,还是“\”,还是“-”等 ...

  7. Ext入门学习系列(五)表格控件(2)

    上节学习了Ext中表格控件,从创建,到定义数据源.绑定显示,大体明白了一个基本的表格控件是怎么实现的.而我们用表格控件多用于从各种数据源接收数据并显示出来,并不是写死的.本章我们就不同数据源的不同实现 ...

  8. 在文件中读取、存储Json格式的字符串

    public class Weather { static readonly string FilePath = System.Environment.CurrentDirectory + @&quo ...

  9. Action 操作

    当鼠标移动到图片文件夹的时候,将有一些button显示 当鼠标移开这个文件夹,那些button隐藏了起来 display属性的变化 1.可以使用Js改变属性来操作 暂未验证,待时间. 2.可以使用Ac ...

  10. QT中使用 slot 传递 opencv 中得Mat对象以及 使用多线程集成开源代码。

    关于 slot传递 Mat 对象 以前一直是使用 Qtimer 定时器,设定超时后读取 dialog 对象的 Mat成员实现在 UI 里显示图像,发现这样对以后集成其他面向过程的代码增加了复杂度. 所 ...