搜索
bottom↓
回复: 5

LED显示驱动器SAA1060 测试程序----原创程序3

[复制链接]

出0入0汤圆

发表于 2012-5-5 11:19:09 | 显示全部楼层 |阅读模式
;********************************************************************************************
;LED显示驱动器SAA1060 测试程序:双位共阳绿色显示器HDSP-5621,89C2051,SAA1060,330*16只电阻

; 高位LED接线: Q16  Q15  Q14  Q13  Q12  Q11  Q10  Q09----------SAA1060 端子号码
;               dp1   g1   f1   e1   d1   c1   b1   a1----------LED段码

; 低位LED接线: Q08  Q07  Q06  Q05  Q04  Q03  Q02  Q01----------SAA1060 端子号码
;               dp2  g2   f2   e2   d2   c2   b2   a2----------LED段码

; 单片机89C2051 和SAA1060 接线: LOEX--P1.7;SLEN--P1.6;DUP--P1.5;DATA--P1.4;

;CLB--P1.3;IR--P3.2

;试验时间及地点:   北京市房山 -----2009/03/23-----

;版本号  01    晶体频率12M,20P*2;复位参数:10UF,10K  

;图纸及资料 : 记事本有  SAA1060---见PDF文件夹

;*********************************************************************************************
      LOEX  EQU   P1.7   ;单16、双16通道选择:0-双;1--单

      DLEN  EQU   P1.6   ;平时时为低电平,传数据时为高电平,锁存结果时也为低平

      DUP   EQU   P1.5   ;选择A、B通道:0--A ,1--B

      DATA_16  EQU   P1.4   ;数据输入口

      CLB   EQU   P1.3   ;传送时钟口,最大F《50KHZ(周期为20us)

      IR    EQU   P3.2   ;  红外线接收口(配套试验用,这里边暂不用)

      SEG_Q1Q8  EQU  31H  ; 低位段码

      SEG_Q9Q16 EQU  30H  ; 高位段码

      HW_LW     EQU  32H  ; 二位要显示的BCD码

;-------------------------------------------------------------   
  ORG  0000H
        AJMP  STRAT       ;转开始

STRAT:  CALL INT_1        ; 调初始化子程序

        MOV R4,#16        ; 循环显示16次--00-----16

        MOV 32H,#00       ; 初期值为00

K3:    LCALL K0          ;调转换成段码子程序

        CALL W_DATA_16    ;调写入SAA1060子程序

        CALL W_DATA_16    ; 为可靠再写一次

        CALL S2           ;为显示的数据能看清楚做三次延时
        CALL S2           ;
        CALL S2           ;

        INC 32H           ;码加一

        DJNZ R4, K3       ;循环

        AJMP    STRAT     ;  转开始
;-------------------------------------------------------        
INT_1:  MOV SP,#60H   ;设堆栈
        SETB LOEX     ; 选择单通道模式
        CLR  DUP      ; 选择A通道
        CLR  DLEN     ; 使能无效时为低电平
        CLR  CLB      ;时钟为低电平
        RET
;--------------------------------------------------------
K0:     MOV A,32H     ;  取码值

        ANL A,#0FH    ; 去高位

        MOV DPTR,#DBTF ; 送码表地址

        MOVC A,@A+DPTR ; 取码值

        MOV 31H,A      ; 送低位

        MOV A,32H      ; 再取码值

        ANL A,#0F0H    ; 留高位

        SWAP A         ; 半字节交换

        MOVC A,@A+DPTR ; 换成段码

        MOV 30H,A      ;  送高位

        RET      
;------------------------------------------------------
              
W_DATA_16:   

;--------------strat  bit  ------------------------  开始位
        SETB  CLB          ;最先为高电平
         NOP
         NOP

         SETB DLEN          ;小延时后使能线为高
         CLR  C             ;清位C为0
         MOV DATA_16,C      ;传送至数据端
         CALL  DELAY1       ;位传输延时
         CLR   CLB          ;时钟位为低
         CALL  DELAY1       ;再延时
;----------------Q1-Q8  8-bit data -------------------
        MOV A,SEG_Q1Q8         ;  传高位数据段码值至A
        MOV R3,#8          ;               
K1:     RRC  A             ;带进位C右移一位,Q1送到C中
        NOP
        MOV DATA_16,C      ;C送至数据端
        NOP
        SETB  CLB          ;时钟位为高电平
        CALL  DELAY1       ;位传输延时
        CLR   CLB          ;时钟位为低电平
        CALL  DELAY1       ;位传输延时
        DJNZ R3,K1         ;共传送8次,高位数据传完
;---------------Q9-Q16 8-bit data  --------------------
        MOV A,SEG_Q9Q16         ;
        MOV R3,#8          ;               
K2:     RRC  A             ;
        NOP
        MOV DATA_16,C      ;
        NOP
        SETB  CLB          ;
        CALL  DELAY1       ;
        CLR   CLB          ;
        CALL  DELAY1       ;
        DJNZ R3,K2         ;

;-----------------  end  bit  ----------------------

         MOV C,DUP          ;  A或B组选取值送17比特
         MOV DATA_16,C      ;
         SETB  CLB          ;  
         CALL  DELAY1       ;
         CLR   CLB          ;
         CALL  DELAY1       ;
         NOP                ;
         NOP                ;
         CLR  DLEN          ; 使能线为低电平,数据传输结束

;--------------    load   pulse  --------------------------
        CLR   DUP          ;
        NOP
        NOP
        NOP
        NOP
        NOP
        SETB  DUP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP  
        SETB  CLB          ; 装入数据脉冲
        CALL  DELAY1       ;
        CLR   CLB          ;
        CALL  DELAY1       ;
;-----------------------------------------------

        RET                ;
;----------------------------------------------------
DELAY1:  MOV R7,10         ;
         DJNZ R7,$         ;
         RET
;----------------------------------------------------
S2:   MOV R4,#0FFH                  ;延时子程序
D2:    MOV R5,#0FFH
       DJNZ R5,$
       DJNZ R4,D2
       RET
DBTF:  DB  0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H,088H,083H,0C6H,0A1H,086H,08EH,08CH
      ;     0    1     2   3    4    5    6     7   8    9    A    B    C     D   E    F    P
DBTF1: DB   40H,79H,24H,30H,19H,12H,02H,78H,00H,10H,08H,03H,41H,21H,06H,0EH,0CH
      ;      0.  1.  2.  3. 4.  5.   6.  7.  8.  9.  A.  B.  C.  D.  E. F.   P.

      END

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-5-5 12:20:50 | 显示全部楼层
同学 你在刷莫元吗?连发了很多汇编帖子了

出0入0汤圆

 楼主| 发表于 2012-5-5 12:29:56 | 显示全部楼层
莫元能用吗?  今日无事,发一点过去做的程序。

出0入0汤圆

 楼主| 发表于 2012-5-5 12:30:16 | 显示全部楼层
莫元能用吗?  今日无事,发一点过去做的程序。

出0入0汤圆

发表于 2012-5-6 14:47:55 | 显示全部楼层
顶顶。。。。。。

出0入0汤圆

 楼主| 发表于 2012-10-12 09:04:33 | 显示全部楼层
"LED显示驱动器SAA1060 测试程序",这种片子存世量已经很少,我是在一家仓库里找到的,新片(200片),GOOLE上也找不到应用资料,故放在这里供参考!芯片投入市场时间在70年代中期,应是老片子了.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 15:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表