找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6581|回复: 3
收起左侧

MAX7219应该如何初始化,用汇编该怎么写,举个例子?

[复制链接]
ID:50859 发表于 2013-6-10 23:21 | 显示全部楼层 |阅读模式
MAX7219应该如何初始化,用汇编该怎么写,举个例子?现在在做交通灯的设计,东西通行80s,南北60s,缓冲3s。
_[NW1V6(H_E5E1BP$N`K7%C.jpg
TO)@D$RT_UU7US~W40GC4IR.jpg
回复

使用道具 举报

ID:1 发表于 2013-6-15 10:44 | 显示全部楼层
=================================================

;管脚分配定义

;=================================================

 M7219_clk bit p1.0

 M7219_din bit p1.2

 M7219_load bit p1.1

 led_buf   equ 50h ;显示数据首址

 set_model equ 0ffh ;完全译码模式

 set_bright equ 04h ;占空比为15/32;显示亮度;

 set_limit equ 01h ;2位显示方式;

 set_normal equ 01h ;测试模式

 set_start equ 01h ;进入启动工作方式?

 

;============================================

;模拟主程序

;===========================================

org 0000h

ajmp main

org 0030h

main: mov sp,#70h

 

  lcall Init_M7219

 

 

 

 

;====================================================

; function:Init_M7219 ;初始化max719

; input: ------------

; output: ----------  

; usage: a,b

;====================================================

Init_M7219:   ;初始化Max7219

 mov a,#0bh  ;设置扫描界限

 mov b,#set_limit ;设置位数

 lcall w_7219

 mov a,#09h  ;设置译码模式

 mov b,#set_model ;00h非译码模式;ffh为BCD译码模式

 lcall w_7219

 mov a,#0ah  ;设置亮度

 mov b,#set_bright ;15/32亮度

 lcall w_7219

 mov a,#0fh  ;设置工作方式

 mov b,#set_normal ;正常工作方式

 lcall w_7219

 mov a,#0ch  ;进入启动工作方式

 mov b,#set_start

 lcall  w_7219

 ret

;===================================================

; function:disp  ;显示子程序

; input: r0

; output: -----------

; usage: r0,r3,r4,a,b

;===================================================

disp:

 mov r0,#led_buf

 mov r4,#01h

 mov r3,#set_limit

disp1:

 mov a,@r0

 mov b,a

 mov a,r4

 lcall w_7219

 inc r0

 inc r4

 djnz r3,disp1

 ret 

;===================================================

; function:w_7219 ;显示驱动程序;

; input: a  ;传送7219的地址

;  b  ;传送7219的数据

; output:-------------

; usage: a,r2

;====================================================

w_7219:

 clr M7219_clk

 clr M7219_din

 clr  M7219_load ;置load=0

 lcall  sd_7219  ;传送7219的地址

 mov a,b 

 lcall sd_7219  ;传送数据

 setb M7219_load  ;数据装载

 clr M7219_din

 ret

;=================================================

; function:sd_7219  ;向7219传送数据或地址子程序

; input:    a

; output:   max7219

; usage:   a, r2

;==================================================

sd_7219:   ;向7219送地址或数据

 mov r2,#08h  

c_sd: clr c

 clr M7219_clk

 rlc a

 mov M7219_din,c ;准备数据

 nop

 setb M7219_clk ;上升沿将数据传入

 nop

 nop

 clr M7219_clk

 djnz r2,c_sd

 ret
回复

使用道具 举报

ID:76287 发表于 2015-4-7 19:07 | 显示全部楼层
不懂,但是还是要顶,安抚楼主受伤心灵,每一个新手都是痛苦的开始,快乐的结局
回复

使用道具 举报

ID:79911 发表于 2015-5-13 22:59 | 显示全部楼层
给楼主加加油
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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