当前位置:首页 > 单片机 > 单片机
[导读] 单片机自身的RAM存储空间和引脚数目往往有些不足,当需要在外部拓展不太多的时候,8155芯片就是首选了。一片8155,可以提供256字节的RAM,3个并行IO接口和一个14位的定时器。8155的内部还集成了地址锁存

单片机自身的RAM存储空间和引脚数目往往有些不足,当需要在外部拓展不太多的时候,8155芯片就是首选了。


一片8155,可以提供256字节的RAM,3个并行IO接口和一个14位的定时器。


8155的内部还集成了地址锁存器,如果只是需要扩展8155,就可以省去常用的地址锁存器74LS373。


下面,先写一个使用单片机自身资源来驱动16个LED进行流水的程序。


然后,再把它改造为利用8155来驱动。


利用51单片机驱动16个LED流水灯的汇编语言程序如下。

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


;16个LED接到P0,P2。


ORG0000H

START:

MOV30H,#254;片内RAM

MOV31H,#255;30H31H中仅有一个低电平

;-------------------------------------

MOVR2,#16;循环16遍

LOOP:

MOVP0,30H;输出到LED

MOVP2,31H

CALLDLY200MS;延时

CALLSHIFT_L;移位

DJNZR2,LOOP;循环16遍


SJMPSTART;再从头开始

;-------------------------------------

SHIFT_L:;16位数左移一位

MOVA,30H

RLCA;高位移入Cy

MOV30H,A

;---------------

MOVA,31H

RLCA;Cy移入低位,且高位移入Cy

MOV31H,A

;---------------

MOVA,30H

MOVACC.0,C;把Cy(高位)写入低位

MOV30H,A

;---------------

RET

;-------------------------------------

DLY200MS:;延时200ms,误差0us

MOVR6,#197;

DL0:

MOVR7,#250;1

DJNZR7,$;2*250=500

DJNZR7,$;2*256=512

DJNZR6,DL0;(1+500+512+2)*197=199955

MOVR7,#19;1

DJNZR7,$;2*19=38

NOP;1

RET;1+199955+1+38+1+2=199998

;-------------------------------------


END

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


上述程序所对应的电路,太简单了,就不在这里显示插图了,读者可自行画图。


当在电路中加入了一片8155,电路可以如下连接:



图片链接:http://xiangce.baidu.com/picture/detail/077253d8ef5443cc7ce6c5e5461a899e2034497a


图中,由于使用了P2.7和P2.0连接到CS和IO/M,所以,8155的接口地址、存储器地址分别为:


;I/O地址:

COMMANDEQU7F00H

PORTAEQU7F01H

PORTBEQU7F02H

PORTCEQU7F03H

TIMER_LEQU7F04H

TIMER_HEQU7F05H


;MEM地址:


;7E00H~7EFFH


因此,前面的流水灯程序,就要如下修改:


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

;51单片机流水灯(16个灯)

;P0,P2外接16个LED--改为PA,PB

;30H,31H片内RAM----改为片外


ORG0000H

START:

MOVDPTR,#COMMAND

MOVA,#00000011B;PA方式0输出,PB方式0输出

MOVX@DPTR,A


INCDPTR;转到PA

MOVA,#00110011B;测试共阳极7段数码管

MOVX@DPTR,A

INCDPTR;转到PB

MOVA,#00001111B

MOVX@DPTR,A


;MOV30H,#254;--改为7E30H

;MOV31H,#255;--改为7E31H


MOVDPTR,#7E30H

MOVA,#254

MOVX@DPTR,A


MOVDPTR,#7E31H;片外RAM7E30H7E31H

MOVA,#255;中仅有一个低电平

MOVX@DPTR,A

;-------------------------------------

MOVR2,#16;循环16遍

LOOP:


;MOVP0,30H;输出到LED

;MOVP2,31H


MOVDPTR,#7E30H

MOVXA,@DPTR

MOVDPTR,#PORTA

MOVX@DPTR,A


MOVDPTR,#7E31H

MOVXA,@DPTR

MOVDPTR,#PORTB

MOVX@DPTR,A


CALLDLY200MS;延时

CALLSHIFT_L;移位

DJNZR2,LOOP;循环16遍


SJMPSTART;再从头开始

;-------------------------------------

SHIFT_L:;16位数左移一位

;MOVA,30H

MOVDPTR,#7E30H

MOVXA,@DPTR


RLCA;高位移入Cy


;MOV30H,A

MOVX@DPTR,A

;---------------

;MOVA,31H

MOVDPTR,#7E31H

MOVXA,@DPTR


RLCA;Cy移入低位,且高位移入Cy


;MOV31H,A

MOVX@DPTR,A

;---------------

;MOVA,30H

MOVDPTR,#7E30H

MOVXA,@DPTR


MOVACC.0,C;把Cy(高位)写入低位


;MOV30H,A

MOVX@DPTR,A

;---------------

RET

;-------------------------------------

DLY200MS:;延时200ms,误差0us

MOVR6,#197;

DL0:

MOVR7,#250;1

DJNZR7,$;2*250=500

DJNZR7,$;2*256=512

DJNZR6,DL0;(1+500+512+2)*197=199955

MOV R7, #19 ;1

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭