zoukankan      html  css  js  c++  java
  • 用普通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
    


     

  • 相关阅读:
    Unity3d启动事件
    UI 科学
    LOL
    流光
    PlayerPrefs
    C++
    Android Home
    状态机
    架构设计
    AI
  • 原文地址:https://www.cnblogs.com/pangblog/p/3249404.html
Copyright © 2011-2022 走看看