用普通IO驱动LCD的控制方法-松瀚汇编源程序
/***************************************
本例程为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的控制方法-松瀚汇编源程序的更多相关文章
- 24C02操作--松瀚汇编源码
; ; P_CLKIIC EQU P1.2 ; P_DATIIC EQU P1.3 ; PM_DATIIC EQU P1M.3 ; EE_ADDR DS 1 ;地址寄存器 ; TMP3_IIC DS ...
- 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060上LCD横向渐变色显示出亮点问题的分析解决经验. 痞子衡前段时间在支持一个i.MXRT1060客户项目时遇到了LCD ...
- STM32驱动LCD原理
TFTLCD即薄膜晶体管液晶显示器.它与无源TN-LCD.STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性 ...
- STM32驱动LCD实战
前段时间写了<STM32驱动LCD原理>和<STM32的FSMC外设简介>两篇文章,本文将对STM32驱动LCD进行实战应用.LCD是深圳市拓普微科技开发有限公司的LMT028 ...
- 松瀚SN8P2501 定时器初始化程序--汇编源码
/* 松瀚 SN8P2501B 定时器初始化程序 */ INI_IRQ: ;定时器T0初始化 MOV A, #01100000b ;定时器模式Fcpu/4 16M/4/4=1M 1U计一次 B0MOV ...
- 松瀚SN8P2711 2722 ADC初始化程序及应用--汇编源码
/* 松瀚 SN8P2711 2722 ADC初始化程序 及应用实例 */ INIT_ADC: MOV A, #0XB2 // 启动ADC电路 使能AIN通道 B0MOV ADM, A MOV A,# ...
- 基于V7的emWin多屏显示方案模板,同时驱动LCD和OLED例程
说明: 1.多屏驱动跟多图层驱动是类似的,可以使用函数GUI_SelectLayer做切换选择. 2.为了避免OLED闪烁问题,创建一个128*64bit的显存空间,然后使用emWin的GUI_TIM ...
- 电路IO驱动能力
驱动能力 电源驱动能力 -> 输出电流能力 -> 输出电阻 指输出电流的能力,比如芯片的IO在高电平时的最大输出电流是4mA -> 该IO口的驱动驱动能力为4mA 负载过大(小电阻) ...
- 玩转STM32MP157- 使用fbtft驱动 lcd ili9341
之前使用了 fbtft 成功驱动了lcd st7735r,现在尝试下驱动 ili9341, 配置 跟之前用 fbtft 驱动 st7735r 一样,先用 make menuconfig 配置内核,添加 ...
随机推荐
- chrome和火狐获取资源
获取网站数据: chrome下获取网站数据可以用如下方式去获取: 而火狐则可以按以下方式获取: 在该目录下找到你想要的数据. 获取本地的数据: chrome下获取本地的数据: firefox下获取本地 ...
- python扩展实现方法--python与c混和编程
前言 需要扩展Python语言的理由: 创建Python扩展的步骤 1. 创建应用程序代码 2. 利用样板来包装代码 a. 包含python的头文件 b. 为每个模块的每一个函数增加一个型如PyObj ...
- Android handler Thread 修改UI Demo
/********************************************************************** * Android handler Thread 修改U ...
- expunge
expunge 擦掉: 除去: 删去: 消除 1. The experience was something he had tried to expunge from his memory. 他曾努力 ...
- as3 工具类分享 CookieMgr
今天分享一个工具类 CookieMgr,功能就是读取和写入 SharedObject 对象.很简单,都是静态方法,就不多说了 package org.polarbear.core { import f ...
- MyEclipse的Hibernate Reverse Engineering失败解决方法
当使用MyEclipse的Hibernate逆向工程功能时,有时出现不成功的情况,点击finish按钮后对应的源文件目录没有生产相关对象,这时应该如何解决呢? 在国内的网站找了很久没找到,最后在国外的 ...
- 导入showb时候出错--2015-12-4
[root@cache-02 ~]# /opt/coreseek/csftweb-bash: /opt/coreseek/csftweb: is a directory[root@cache-02 ~ ...
- NOIP2014 寻找道路
2.寻找道路 (road.cpp/c/pas) [问题描述] 在有向图G中,每条边的长度均为1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1.路径上的所有点的出边所指 ...
- DP——最优三角形剖分
[动态规划]凸多边形最优三角剖分 枚举三角行,再递归三角形旁边的两个多边形.
- 50道经典的JAVA编程题(目录)
这份题从2013做到2014啊...哈哈,整理个目录吧.为了好查阅,也为了监督自己好好的去做完这50道题.当然,有些题实在做得没意思就跳过了,或者自己改题了.题目来源于:http://blog.sin ...