找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 6592 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-6-10 23:21

正文摘要:

MAX7219应该如何初始化,用汇编该怎么写,举个例子?现在在做交通灯的设计,东西通行80s,南北60s,缓冲3s。

回复

ID:79911 发表于 2015-5-13 22:59
给楼主加加油
ID:76287 发表于 2015-4-7 19:07
不懂,但是还是要顶,安抚楼主受伤心灵,每一个新手都是痛苦的开始,快乐的结局
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

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

Powered by 单片机教程网

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