积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 单片机 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
用MCS-51单片机串行口对MAX7219的控制
 
作者:玉瑞   来源:现代电子技术    点击数:180   更新时间:2008-7-14
您可以添加到网摘 让更多人关注此文章:

    摘要  介绍MAX7219的功能,与MCS-51的时序配合及一种新颖的利用MCS-51串行方式0对MAX7219及显示器控制的方法和程序。
关键MAX7219   MCS-51  单片机  串行  中断  显示器
  单片机系统通常需要有LED对系统的状态进行观测,而很多工业控制用单片机如MCS-51系列本身并无显示接口部分,需要外接显示的译码驱动电路。LED数码管显示有动态显示和静态显示两种方式。通常不管采用哪种显示方式,单片机往往都工作于并行I/O或存储器方式。作者在采用MCS-51单片机的控制系统中,利用MAXIM公司的串行接口8位LED显示驱动器MAX7219构成显示接口电路,仅需使用单片机3个引脚,即可实现对8位LED数码管的显示控制和驱动,线路非常简单,控制简单方便。
1 MAX7219
  MAX7219芯片为MAXIM公司推出的串行输入/输出共阴极显示驱动器,是用一个芯片实现以往用软件完成的动态显示电路扫描工作的器件。每片可控制显示8个七段LED数码管、条形图或64个发光二极管,控制字简单,可与各种微机接口。为24引脚芯片,除与显示器连接外,与微机串行口为3线连接,芯片外部电路仅为一限制峰值段电流的电阻,线路简单,极大地方便了对显示器件的控制。该芯片控制的显示位数多,控制字少,可对全部或个别显示位的数据进行更新。并可方便地进行多个芯片的级联,扩展显示容量。MAX7219有多种封装形式,如窄式DIP封装。

  MAX7219的串行数据格式如表1所示。其中:D12~D15位不用;D8~D11为显示位和各种工作方式的控制寄存器地址位,可选择要显示的位、解码方式、显示亮度、扫描位数、停止方式、显示测试等,其地址分布如表2所示;D0~D7为数据位,其形式与显示出的数字间的关系与解码方式有关。表2中X可为16进制任意值,一般取为0。每组16位数据中,首先接收的为最高有效位,最后接收的为最低有效位。



  解码方式寄存器可设置各位数码管为解码显示方式,或非解码的数据位与显示段直接对应的显示方式。亮度寄存器用于与外部电阻配合控制数码管的显示亮度。扫描限制寄存器控制显示的位数。停机寄存器控制  显示器为停机或正常工作状态,停机状态下描振荡器停止工作,消隐所有显示位。显示测试寄存器设置器件为正常工作或测试状态。空操作寄存器用于多个MAX7219级连。器件上电后所有控制寄存器复位。解码方式寄存器的值为非解码方式,亮度寄存器的值设置为最小,扫描寄存器设置为仅显示1位,停机寄存器处于停机状态,显示消隐。因此MAX7219必须经过初始化后才可正常工作。
    MAX7219的工作时序如图1所示。数据由DIN引脚输入,最先输入的为最高位,在CLK的上升沿将数据位移入器件内的移位寄存器,LOAD引脚信号的上升沿将最后移入的16位数据锁存入相应的寄存器中,LOAD信号的上升沿必须与CLK的上升沿同时,或在其后。从DIN输入的数据经过16.5个CLK脉冲后移到DOUT引脚上。

2 MCS-51单片机的串行工作方式


  MCS-51单片机串行口有四种发送工作方式,其中方式0每帧共发送8位数,其
他工作方式下每帧发送均不为8位数或其倍数。因此只能考虑使用方式0。串行口工
作于方式0时,通过RXD(P3.0)引脚发送/接收串行数据,通过TXD(P3.1)引脚发送移位时钟脉冲。发送顺序为低位在前高位在后,与MAX7219的接收顺序相反。从单片机时序上看,只需在发送前将显示数据和地址码的高低位顺序颠倒,利用串行方式0进行发送,每发送两次,就可向MAX7219输出一个要显示的数据或控制寄存器参数。而在单片机与MAX7219的时序配合中,时钟脉冲的配合是非常关键的。


 

 

 

 


3 单片机与MAX7219的连接
    控制系统单片机与MAX7219及显示器件的连接如图2所示。单片机的RXD、TXD
引脚分别接MAX7219的DIN、CLK,以P3.2控制LOAD引脚。接在电源端和地之间的电
容起抗干扰的作用,其值应大于10μF,据作者经验,在(10~100)μF间即可,太大作用并不明显。由于MAX7219是在脉冲信号控制下工作的,抗干扰非常关键,在线路上,MAX7219应尽量与显示器件相靠近,以减少外部的干扰。

 


4 控制程序设计

    本系统中单片机采用中断方式对MAX7219进行控制,传送16位数据的地址位和数据位。在主程序中,包括串行方式的设置、显示缓冲单元和各控制寄存器的地址码及数据单元的分配、对MAX7219的初始化等。以下程序中,显示缓冲区为RAM的
30H~37H单元,控制寄存器地址码及数据单元为40H~47H单元。要显示的数据是程
序执行的运算结果,以BCD码数形式存放在显示缓冲单元的数据字节中,用转换子程
序BSHIFT倒序后存回原处。

    单片机串行发送数据的启动在主程序中进行,每发送两个字节后,在中断子程序
中控制使MAX7219的LOAD引脚产生正跳变,把数据锁存入相应的寄存器中。该中断
子程序既可发送一个16位数据,也可连续发送多个,非常方便。由于MAX7219易受干
扰影响,因此在程序执行过程中应经常对显示进行更新。主程序及发送中断子程序、数据格式转换子程序如下。
;主程序   
……

;把数据格式转换为7219的方式

  MOV R1,#31H  

MOV R5,#8
LCALL BSHIFT;把8位数均转换为7219   方式  

;初始化7219
MOV R2,#8

MOV R0,#40H
SETB;奇偶字节发送判断标志 CLR P3.2
MOV A,@R0
MOV SBUF,A;发送40H起内容,初始化7219  

……
;发送8个要显示的数据
MOV R2,#8+8;8个数据共16字节

MOV R0,#30H;30H为数据缓冲区首址

SETB P3.2;准备7219的LOAD   电平   MOV A,@R0
MOV SBUF,A;开始发送数据   

……
;对7219的串行发送中断子程序  

STINT1:

CLR TI CPL F0  

JNB F0,ST13
SETB P3.2;发完16位后产生   LOAD脉冲   

CLR P3.2
ST13:CJNE R2,#0,STI1;判断是否发送完   

SJMP STI2
STI1:DEC R2;没送完

INC R0;地址偏移

MOV A,@R0
MOV SBUF,A;发下一字节  

STI2:RETI
;BCD码转换为7219数据形式子程序,转换数据及结果由R1间址

BSHIFT:MOV A,@R1  

ADD A,#6

MOVC A,@A+PC  

MOV@R1,A  

INC R1

INC R1
DJNZ R5,BSHIFT

RET 

DB 0,80H,40H,0C0H,20H,0A0H,60H, 0E0H,10H,90H

  参考文献<--→标题EN(开始)-->

1 MAXIM公司,MAXIM1998产品资料全集

2[美]Intel公司,硕良士等译,常用单片微计算机手册,上海科学普及出版社,1989



相关文章
· Microchip推出适用于8位、16位及32位PIC®单片机和...[87]
· 基于SPE61A单片机的非接触式高压验电器的开发[172]
· 多通道智能温湿度测试仪的研制[204]
· 多通道智能温湿度测试仪的研制[166]
· 51系列单片机输出PWM的两种方法[235]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM嵌入式系统基础教程(N

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
赛普拉斯为用于机器视觉与运动分析应用
赛普拉斯针对机器视觉与全息数据存储应
金融危机来袭 台湾LED产
半导体市场环境恶化 安森美
Vishay 的新型&nb
Intersil推出采用小尺寸QFN
富士通微电子携手西安电子科技大学成立
纤巧和高压的 LDO&nb
华为计划收购北电业务 华为
华为计划收购北电业务 华为
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
四折批发各种数码相机,摄相机等...
最低价销售各种品牌手机...
震撼出售各种品牌笔记本电脑等!...
IC design 的流程...
电子工程师,别拿一分钱不当回事...
新款安全多用途非接触式芯片(T...
关于ARM启动的一篇文章!...
Linux网络设备驱动编程...
linux文件系统基础知识...
求奇想达QXD-DM642开发...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网