导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教关于max7219的显示

* 64674: 请教关于max7219的显示

   magn 
magn发表的帖子 

 请教关于max7219的显示
我是电子爱好者,近日有个MAX7219的片子,用89C2051 想编个程序显示看看,结果不可以,我感觉没有问题,但我要显示的8个led一上电就全亮,再就没有熄灭过,怎么回事呢,软件问题还是硬件问题,百思不得其解,请问哪位大虾给各指点,不胜感激!!!
下面是我们显示程序:
;max7219汇编测试程序

;**********************************************************
L0AD7219 BIT  P1.0    ;MAX7219片选线引脚
CLK7219  BIT  P1.1    ;MAX7219时钟线引脚
DIN7219  BIT  P1.2    ;MAX7219数据线引脚
POWLED   BIT  P1.7    ;监视灯
;**********************************************************

DIG0    EQU  01H      ;数据寄存器地址
DIG1    EQU  02H
DIG2    EQU  03H
DIG3    EQU  04H
DIG4    EQU  05H
DIG5    EQU  06H
DIG6    EQU  07H
DIG7    EQU  08H

DECMODE EQU  09H      ;控制寄存器地址
INTENTY EQU  0AH      
SCANLIM EQU  0BH
SHUTDOW EQU  0CH
DISTEST EQU  0FH


      ORG 0000H
      AJMP MAIN
      ORG 0040H

MAIN:
      MOV SP,#30H
      CLR POWLED
      LCALL INI7219
      LCALL DELAY1S
      CPL POWLED
LLLL: 
      LCALL SHOW7219
      LJMP LLLL      

      RET
;//////////////////////////////////////////////////////      
SHOW7219:
       MOV A,#DIG0
       MOV B,#00H
       LCALL WRITE7219

       MOV A,#DIG1
       MOV B,#01H    
       LCALL WRITE7219

       MOV A,#DIG2
       MOV B,#02H    
       LCALL WRITE7219
       
       MOV A,#DIG3
       MOV B,#03H    
       LCALL WRITE7219

       MOV A,#DIG4
       MOV B,#04H    
       LCALL WRITE7219

       MOV A,#DIG5
       MOV B,#05H    
       LCALL WRITE7219
       
       MOV A,#DIG6
       MOV B,#06H    
       LCALL WRITE7219
       
       MOV A,#DIG7
       MOV B,#07H    
       LCALL WRITE7219 


       RET

;//////////////////////////////////////////////////////
INI7219:
       MOV A,#SHUTDOW  ;关机方式
       MOV B,#00H
       LCALL WRITE7219
       
       MOV A,#DECMODE  ;译码方式
       MOV B,#0FFH
       LCALL WRITE7219  
       
       MOV A,#INTENTY  ;亮度15/32方式
       MOV B,#07H
       LCALL WRITE7219
   
       MOV A,#SCANLIM  ;显示8位LED
       MOV B,#07H
       LCALL WRITE7219

       MOV A,#DISTEST  ;正常显示
       MOV B,#00H
       LCALL WRITE7219
       
       MOV A,#SHUTDOW  ;开机方式
       MOV B,#01H
       LCALL WRITE7219
      
       RET       
;/////////////////////////////////////////////////////      
WRITE7219:
     NOP
     CLR L0AD7219
     LCALL SEND7219  ;先送控制寄存器的地址
     MOV A,B         ;B中为传送的命令字或待显的数据    
     LCALL SEND7219
     NOP
     SETB L0AD7219
     RET
;////////////////////////////////////////////////////
SEND7219:
     MOV R1,#08H
LOOPS:
     NOP
     CLR CLK7219
     RLC A            ;左移位送MSB
     MOV DIN7219,C
     NOP
     SETB CLK7219
     DJNZ R1,LOOPS
     RET           
;///////////////////////////////////////////////////

DELAY1S: MOV R7,#0AH   ;延时1秒子程序(12M晶振)
LOOP6:   MOV R5,#64H   ;100ms循环
LOOP7:   MOV R6,#64H  
LOOP8:   NOP           ;1US
         NOP
         NOP
  NOP
  NOP
  NOP
  NOP
         NOP
         DJNZ R6,LOOP8 ;10US
         DJNZ R5,LOOP7
         DJNZ R7,LOOP6
         RET        

         END




发表时间:2009年9月17日14:44:46

  
回复该帖

本主题共有 5 帖,分页:>>>>>该主题的所有内容[5]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  64722.[详细]???
摘要:没有人吗?......(10字)
- [magn][436次] 2009年9月18日

  65002.[详细]???
摘要:还是没有人???......(16字)
- [magn][439次] 2009年9月21日

  65058.[详细]???
摘要:?????????......(18字)
- [magn][453次] 2009年9月22日

[上一篇帖子]:C8051F单片机一站式服务[原创]C8051F网络全力打造C8051F单片机服务第一平台:资料下载
[下一篇帖子]:[公告]ARM7\ARM9开发板超低价销售SHX-ARM9 2440开发板 地址: