历史上的今天
返回首页

历史上的今天

今天是:2024年12月13日(星期五)

正在发生

2018年12月13日 | 51单片机之忽略的东西

2018-12-13 来源:eefocus

P0口将作为总线的低8位地址线和8位数据线使用


P2口将作为总线的高8位地址线使用


如果十六进制数以字母ABCDEF中的某一个开头,必须在前面加一个0.譬如,MOV P1, #0BFH


ORG 00H 表示的是伪指令,作用帮助汇编器汇编指令,并不是单片机指令的一部分,因此伪指令不占用存储器空间。这段代码的含义是从程序存储器的00H开始执行程序。


一段小程序,循环闪烁小灯


ORG 00H

START:

MOV P1, #00H

CALL DELAY

MOV P1, #0FFH

CALL DELAY

JMP START


DELAY: MOV R3, #50

D1: MOV R4, #20

D2: MOV R5, #248

DJNZ R5, $

DJNZ R4, D2

DJNZ R3, D1

RET ;返回主程序

END ;汇编程序结束



按键开关控制P1.0上的发光二极管闪烁5次


ORG 00H

START:

MOV R0, #05 ;R0作为计数器

LOOP:

MOV P1, #00H

CALL DELAY

MOV P1, #0FFH

CALL DELAY

DJNZ R0, LOOP ;R0减一,不等于0就跳到loop处

JB P2.0, $ ;如果P2.0为高电平则循环执行本行

JMP START


DELAY: MOV R3, #50

D1: MOV R4, #20

D2: MOV R5, #248

DJNZ R5, $ ;R5的值减1,不等于0则循环执行本行

DJNZ R4, D2

DJNZ R3, D1

RET ;返回主程序

END ;汇编程序结束


中断方式


ORG 00H

JMP START

ORG 03H

JMP EXT0

START: ;主程序

MOV IE, #10000001B ;外部中断0使能

MOV IP, #00000001B ;外部中断0中断优先

MOV TCON, #00000001B ;外部中断0为电平触发

SHINE:

MOV P1, #0FEH

JMP SHINE


EXT0:

MOV R2, #5

LOOP:

MOV P0, #0FEH

CALL DELAY

MOV P0, #0FFH

CALL DELAY

DJNZ R2, LOOP ;R2减一,不等于0就跳到loop处

RETI ;中断服务子程序结束标志


DELAY: MOV R3, #20 ;这一段200ms


D1: MOV R4, #20 ;这一段延时10ms

D2: MOV R5, #248

DJNZ R5, $

DJNZ R4, D2


DJNZ R3, D1

RET ;返回主程序

END ;汇编程序结束



PSEN(program store enable) - 片外程序存储使能,需要和存储器的输出端端OE相连。


ALE(address latch enable) - 地址锁存使能,当单片机与片外存储器相连时,P0既可以送出数据也可以送出地址,如何区分到底是地址还是数据呢?


ALE为0,表示送出的是数据,当ALE为1表示送出的是地址。(P0送出的低8位地址,配合P2口的高八位地址,片外存储器便可以寻到16位地址)


注意51单片机的P0口是需要加上拉的!


51作为输入,必须先自己置1!


P0输入,P1输出


MOV A, #0FFH

MOV P0, A

LOOP:

MOV A, P0

MOV P1, A

JMP LOOP


片内片外程序存储器统一编址,访问指令使用MOVC,通过PC来指定地址。


外部数据存储器与外部IO端口实行统一编址,并使用相同的选通控制信号,相同的访问指令MOVX,相同的寄存器间接寻址。类似程序存储器的PC访问数据存储器用DPTR。


数据指针DPTR和程序计数器PC

推荐阅读

史海拾趣

Crocus公司的发展小趣事

随着产品性能的不断提升和市场需求的持续增长,Crocus开始积极拓展市场。公司加强与全球知名企业的合作,共同推动TMR传感器技术在各个领域的应用。同时,Crocus还注重品牌建设,通过参加国际电子展览、发布技术论文等方式提升品牌知名度和影响力。

超音(CY)公司的发展小趣事

品质是超音一直以来的追求。公司注重产品质量管理,建立了完善的质量检测体系,确保每一件产品都符合高标准的质量要求。同时,超音还加强了品牌建设,通过广告宣传、赞助活动等方式提升品牌知名度和美誉度。这些努力使得超音在消费者心中树立了良好的品牌形象,为公司的长期发展奠定了坚实的基础。

DB Unlimited公司的发展小趣事

DB Unlimited始终将客户放在心中最重要的位置。公司坚持以客户为中心的服务理念,为客户提供全方位、高品质的服务。无论是售前咨询、售后服务还是技术支持等方面,DB Unlimited都始终秉持着专业、高效、热情的态度,赢得了客户的广泛赞誉和信赖。这种客户至上的服务理念也成为了公司不断发展壮大的重要保障之一。

请注意,以上故事框架仅供参考,实际的故事需要根据DB Unlimited公司的真实发展历程和具体事实进行编写。

HellermannTyton公司的发展小趣事

随着全球对环境保护意识的增强,Heimann Optoelectronics Gmbh积极响应,将绿色环保理念融入产品设计和生产中。公司投入大量资源研发出低功耗、长寿命的光电传感器,这些产品在使用过程中能够显著减少能源消耗和废弃物产生。此外,公司还采用环保材料进行包装,确保从生产到废弃的整个生命周期都符合环保标准。这一举措不仅赢得了市场的广泛赞誉,还为公司树立了良好的企业形象。

骏晔科技(DreamLNK)公司的发展小趣事

随着公司业务的不断发展和市场规模的扩大,骏晔科技开始积极布局全球市场。公司通过与全球数十家半导体企业建立战略合作关系,拓展海外市场。同时,公司还积极参加国际电子展会和论坛,与全球同行交流合作,共同推动电子行业的发展。通过这些努力,骏晔科技在国际市场上逐渐崭露头角,成为了备受关注的行业新星。

FINECHIPS公司的发展小趣事

随着全球对环保和可持续发展的重视,FINECHIPS公司积极响应号召,将环保理念融入企业发展中。公司采用先进的生产工艺和设备,减少生产过程中的能源消耗和废弃物排放。同时,FINECHIPS还致力于研发环保型电子元器件,为客户提供更加绿色、可持续的解决方案。这些努力不仅提升了公司的社会形象,还为公司赢得了更多关注环保的客户的支持。

问答坊 | AI 解惑

H桥电机驱动原理与应用

H桥电机驱动原理与应用原著:吉姆布朗 1998年4月 整理上传:鲍勃乔丹 2002年9月 翻译:韦文潮 2007年12月本文的内容是要告诉大家什么是H桥以及它如何是工作的。 我们首先来看马达是如何转动的呢?举个例子:你手里拿着一节电池,用导线将马达和 ...…

查看全部问答>

添加的开机运行程序 卡住

写了一个小的应用程序,通过修改注册表,设置成开机自动运行.(我用vs2005远程跑是没问题的) 可是,开机时会卡在log界面上.请问下高手,问题在哪里? 添加注册表如下: [HKEY_LOCAL_MACHINE\\init] \"Launch50\"=\"startup.exe\" \"Depend50\"=hex:14 ...…

查看全部问答>

硬件条件和外界条件一定的情况下,如何提高Wifi连接速度

能否通过一些配置,比如连接时指定路由器IP地址等,来提高Wifi打开时的连接速度呢???…

查看全部问答>

有关CE上显示字型的问题

现在我的系统中使用的字型文件是一个名叫:mingliu.ttc的字型文件(这个是一个能支持繁体中文的字型文件)。现在我把系统的字体修改为:使用New Times Roman字型,这样就会出现一个问题,在显示中文的地方就会出现口口(框框)不能正常显示。这应该 ...…

查看全部问答>

如何让socket使用串口设备而不使用以太网设备

在嵌入式linux2.6.15内核下开发,目前开发需求要用串口传输数据,然而原先是直接调用socket通过访问以太网传输数据的,但是希望保留socket功能,希望变换物理介质,让socket将数据传递给串口进行收发工作。万望大虾的指点。在此先谢谢了!!!…

查看全部问答>

实测UTC-903SE开阔地距离2100米,真是不错

具体大家看看这家公司的产品:http://www.newmsg.net/Product/NewMsg_UTC903SE.asp也可以 加我QQ: 1425156046…

查看全部问答>

从0开始学习TI--M3……1

   去年年末的时候团了LM3S9B96和LM3S811,记得那时候说拍0.01元的LM3S811是要交学习笔记的,所以从今天开始写学习笔记,还当时的承诺。持续时间大约为50天,每两天一篇,前15份学习笔记是基于811,后10份基于9B96。   ①先上图 ...…

查看全部问答>

M4 -- 这么强大!

http://www.ti.com/lit/gpn/lm4f232h5qc     Parametrics LM4F232H5QC Flash (KB) 256     StellarisWare in ROM Yes     DMA 32     SafeRTOS 0     ...…

查看全部问答>

如何创建自己的XDC platform package??

       小弟最近需要用TI的CodecEngine,使用的平台是合众达的6467T。在XDC工具中,有一个关于Platform的设定项。但是TI所给Platform package中是没有合众达平台的platform package的。于是我想自己创建一个。但是TI ...…

查看全部问答>

论坛里有人准备DIY四轴飞行器电路用STM32F103

https://bbs.eeworld.com.cn/thread-355890-1-1.html…

查看全部问答>