单片机学习:单片机编程入门六

发布者:风暴使者最新更新时间:2016-01-22 来源: eefocus关键字:单片机  编程入门 手机看文章 扫描二维码
随时随地手机看文章
单片机编程入门六:单片机的内外部结构分析(六)

 

第三个实验

 

上两次我们做过两个实验,都是让P1.0这个引脚使灯亮,我们可以设想:既然P1.0可以让灯亮,那么其它的引脚可不可以呢?看一下图1,它是8031单片机引脚的说明,在P1.0旁边有P1.1,P1.2….P1.7,它们是否都可以让灯亮呢?除了以P1开头的外,还有以P0,P2,P3开头的,数一下,一共是32个引脚,前面我们以学过7个引脚,加上这32个这39个了。它们都以P字开头,只是后面的数字不一样,它们是否有什么联系呢?它们能不能都让灯亮呢?在我们的实验板上,除了P10之外,还有P11��P17都与LED相连,下面让我们来做一个实验,程序如下:

 

MAIN: MOV P1,#0FFH

 

LCALL DELAY

 

MOV P1,#00H

 

LCALL DELAY

 

LJMP MAIN

 

DELAY:MOV R7,#250

 

D1: MOV R6,#250

 

D2: DJNZ R6,D2

 

DJNZ R7,D1

 

RET

 

END

 

将这段程序转为机器码,用编程器写入芯片中,结果如何?通电以后我们可以看到8只LED全部在闪动。因此,P10��P17是全部可以点亮灯的。事实上,凡以P开头的这32个引脚都是可以点亮灯的,也就是说:这32个引脚都可以作为输出使用,如果不用来点亮LED,可以用来控制继电器,可以用来控制其它的执行机构。

 

程序分析:这段程序和前面做过的程序比较,只有两处不一样:第一句:原来是SETB P1.0,现在改为MOV P1,#0FFH,第三句:原来是CLR P1.0,现在改为MOV P1.0,#00H。从中可以看出,P1是P1.0��P1.7的全体的代表,一个P1就表示了所有的这八个管脚了。当然用的指令也不一样了,是用MOV指令。为什么用这条指令?看图2,我们把P1作为一个整体,就把它当作是一个存储器的单元,对一个单元送进一个数可以用MOV指令。

 

二、第四个实验

 

除了可以作为输出外,这32个引脚还可以做什么呢?下面再来做一个实验,程序如下:

 

MAIN: MOV P3,#0FFH

 

LOOP: MOV A,P3

 

MOV P1,A

 

LJMP LOOP

 

先看一下实验的结果:所有灯全部不亮,然后我按下一个按钮,第()个灯亮了,再按下另一个按钮,第()个灯亮了,松开按钮灯就灭了。从这个实验现象结合电路来分析一下程序。

 

从硬件电路的连线可以看出,有四个按钮被接入到P3口的P32,P33,P34,P35。第一条指令的用途我们可以猜到:使P3口全部为高电平。第二条指令是MOV A,P3,其中 MOV已经见,是送数的意思,这条指令的意思就是将P3口的数送到A中去,我们可以把A当成是一个中间单元(看图3),第三句话是将A中的数又送到P1口去,第四句话是循环,就是不断地重复这个过程,这我们已见过。当我们按下第一个按钮时,第(3)只灯亮了,所以P12口应当输出是低电平,为什么P12口会输出低电平呢?我们看一下有什么被送到了P1口,只有从P3口进来的数送到A,又被送到了P1口,所以,肯定是P3口进来的数使得P12位输出电平的。P3口的P32位的按钮被按下,使得P32位的电平为低,通过程序,又使P12口输出低电平,所以P3口起来了一个输入的作用。验证:按第二、三、四个按钮,同时按下2个、3个、4个按钮都可以得到同样的结论,所以P3口确实起到了输入作用,这样,我们可以看到,以P字开头的管脚,不仅可以用作输出,还可以用作输入,其它的管脚是否可以呢?是的,都可以。这32个引脚就称之为并行口,下面我们就对并行口的结构作一个分析,看一下它是怎样实现输入和输出的。

 

并行口结构分析:

 

1、输出结构

 

先看P1口的一位的结构示意图(只画出了输出部份):从图中可以看出,开关的打开和合上代表了引脚输出的高和低,如果开关合上了,则引脚输出就是低,如果开关打开了,则输出高电平,这个开关是由一根线来控制的,这根数据总线是出自于CPU,让我们回想一下,数据总线是一根大家公用的线,很多的器件和它连在一起,在不同的时候,不同的器件当然需要不同的信号,如某一时刻我们让这个引脚输出高电平,并要求保持若干时间,在这段时间里,计算机当然在忙个不停,在与其它器件进行联络,这根控制线上的电平未必能保持原来的值不变,输出就会发生变化了。怎么解决这个问题呢?我们在存储器一节中学过,存储器中是可以存放电荷的,我们不妨也加一个小的存储器的单元,并在它的前面加一个开关,要让这一位输出时,就把开关打开,信号就进入存储器的单元,然后马上关闭开关,这样这一位的状态就被保存下来,直到下一次命令让它把开关再打开为止。这样就能使这一位的状态与别的器件无关了,这么一个小单元,我们给它一个很形象的名字,称之为“锁存器”。

 

2、输入结构

 

这是并行口的一位的输出结构示意图,再看,除了输出之外,还有两根线,一根从外部引脚接入,另一根从锁存器的输出接出,分别标明读引脚和读锁存器。这两根线是用于从外部接收信号的,为什么要两根呢?原来,在51单片机中输入有两种方式,分别称为'读引脚'和'读锁存器',第一种方式是将引脚作为输入,那是真正地从外部引脚读进输入的值,第二种方式是该引脚处于输出状态时,有时需要改变这一位的状态,则并不需要真正地读引脚状态,而只是读入锁存器的状态,然后作某种变换后再输出。

 

请注意输入结构图,如果将这一根引线作为输入口使用,我们并不能保证在任何时刻都能得到正确的结果(为什么?)参考图2输入示意图。接在外部的开关如果打开,则应当是输入1,而如果闭合开关,则输入0,但是,如果单片机内部的开关是闭合的,那么不管外部的开关是开还是闭,单片机接受到的数据都是0。可见,要让这一端口作为输入使用,要先做一个'准备工作',就是先让内部的开关断开,也就是让端口输出'1'才行。正因为要先做这么一个准备工作,所以我们称之为“准双向I/O口”。

 

以上是P1口的一位的结构,P1口其它各位的结构与之相同,而其它三个口:P0、P2、P3则除入作为输入输出口之外还有其它用途,所以结构要稍复杂一些,但其用于输入、输出的结构是相同的。看图()。对我们来说,这些附加的功能不必由我们来控制,所以我们就不去关心它了。

关键字:单片机  编程入门 引用地址:单片机学习:单片机编程入门六

上一篇:单片机学习:单片机编程入门十一
下一篇:单片机学习:单片机编程入门一

推荐阅读最新更新时间:2024-03-16 14:45

MSP430单片机各种寄存器总结(6)——ADC12
参考资料: 王宏波老师的PPT MSP430F6638用户手册 王宏波老师实验教程 本章最新更新日期:2018.12.22 第六章 ADC12 6.1 REFCTL0 【注】:只用REFMSTR =1时,下面两个才有用 6.2 ADC12CTL0 【注】:必须把ADC12ENC置零才可以设置有阴影的寄存器位 6.3 ADC12CTL1 6.4 ADC12MEMx 采样结果寄存器。 当转换结果写入选定的ADC12MEMx, ADC12IFGx中对应标志位置位,若对应的ADC12IEx 和GIE 置位,将会产生中断请求;当这个寄存器的值被读取之后,IFG自动复位。 6.5
[单片机]
MSP430<font color='red'>单片机</font>各种寄存器总结(6)——ADC12
基于单片机的简易机械手的设计
0 引言 机械手是近几十年发展起来的一种高科技自动化生产设备,它的特点是可通过编程来完成各种预期的作业任务,在构造和性能上兼有人和机器各自的优点,尤其体现了人的智能和适应性。机械手作业的准确性和各种环境中完成作业的能力,在国民经济各领域有着广阔的发展前景。 1 机械手的基本原理 机械手主要由手部和运动机构组成。手部是用来抓持工件(或工具)的部件,根据被抓持物件的形状、尺寸、重量、材料和作业要求而有多种结构形式,如夹持型、托持型和吸附型等。运动机构使手部完成各种转动(摆动)、移动或复合运动来实现规定的动作,改变被抓持物件的位置和姿势。运动机构的升降、伸缩、旋转等独立运动方式,称为机械手的自由度。自由度是机械手设计的关键参数。自
[单片机]
基于<font color='red'>单片机</font>的简易机械手的设计
μPD780208单片机的功能及应用
    摘要: μPD780208 是日本NEC公司生产的8位高性能单片机产品,文中比较全面的介绍了 μPD780208 的特点和功能,并给出了一个完整 μPD780208 的系统应用实例。     关键词: 单片机 μPD780208 微控制器 1 概述 日本NEC公司生产的μPD780208系列8位单片机属于78K/0家族,该系列是NEC公司内部集成FIP显示驱动器各系列中功能最强的。根据内部集成的ROM和RAM容量的不同,μPD780208系列可分为5个型号,本文主要介绍最高型号μPD780208芯片的功能和应用。该芯片为100引脚QFP封装,内部集成了1个8位78K0CPU内核,它带有60kB
[工业控制]
最新赛普拉斯Traveo™ II车用MCU进一步瞄准车联网市场
赛普拉斯 作为全球领先的嵌入式解决方案供应商对于自身的市场定位十分明晰,为物联网中部部署广泛的 Wi-Fi 及 蓝牙 无线连接解决方案,为业界提供出色的混合信号 MCU 解决方案。他们也做到了 USB -C控制器、汽车仪表盘、 电容 传感解决方案等多项领域的第一名,这是赛普拉斯新晋总裁兼首席执行官Hassane El-Khoury交出的答卷。 根据赛普拉斯的2018年第四季度财报显示,汽车电子在其整个终端市场的业务量高达36%,这也表明了赛普拉斯对汽车电子行业的重视及决心。本次发布的最新赛普拉斯Traveo™ II车用MCU也是瞄准车联网市场,为车身电子应用提供创新解决方案。在新品发布会上,赛普拉斯半导体汽车电子事业部亚太区市场
[汽车电子]
最新赛普拉斯Traveo™ II车用<font color='red'>MCU</font>进一步瞄准车联网市场
单片机初学者一点建议!新手必看!
我开发单片机有5年了,积累了一点经验,这是对初学者的一点小建议! 工欲善其事必先利其器,有好的工具能大大提高效率! 硬件工具: (1)示波器!示波器是必须有的,想学习的话,就算省吃俭用也必须买下来,当然,也不是说要买很高档的,我觉得单单用在单片机上面的话,国产的就很好了。我买了普源的DS1052E ,双通道50MHZ 数字示波器,全新 1700 左右,而且伴随我搞了很多开发方案了,很好用。在学校的学生怎么也要去找老师借一个回来,或者干脆去实验室折腾好了。当然,还有个选择就是买个二手的模拟示波器,不过搞单片机的话不是很建议。 (2) 万用表,国产胜利的表就不错了,也不贵,我买了个 FLUKE 15B ,320RMB,感觉挺好
[单片机]
Microchip Trust&Go Wi-Fi 单片机模块,让双MCU时代说再见
Wi-Fi将在大多数物联网环境中发挥作用,无论是单独使用还是与更专业的协议或与蜂窝网络互通,这是业界已经达成的共识。当前,具有Wi-Fi功能的MCU是承载该技术的主体,可市面上已有的此类MCU功能有限,还需要增加额外的MCU配合工作,大幅提升了开发周期和成本。为此,Microchip公司推出了Trust&Go Wi-Fi® 32位单片机模块,搭配最高效的32位单片机内核和一流的外设选项,将结束双MCU搭配使用的尴尬局面。 据Microchip公司无线解决方案部产品线经理Alex Li介绍,双MCU的设计方式会有几个缺陷: 首先,在Wi-Fi模块和主单片机之间的连接本身限制了Wi-Fi的速度。因为很多设计采用UART的连接方
[嵌入式]
Microchip Trust&Go Wi-Fi <font color='red'>单片机</font>模块,让双<font color='red'>MCU</font>时代说再见
【自学51单片机】8 -- 按键的学习,单片机最小系统
1、单片机最小系统 电源 单片机中常见5v和3.3v的单片机,“5v”和“3.3v”分别只是他们正常工作的典型值,5v和3.3v单片机也是以他们正常工作典型值命名的,他们正常工作电压的标准范围要根据单片机手册查询, 晶振 晶振分无源晶振和有源晶振。实物图和原理图见下图。 无源晶振: 依靠单片机内部振荡电路才能工作,接到单片机两个振荡引脚即可,晶体两个引脚无区别,电压无要求,两侧通常有电容,手册有要求根据手册选电容,手册无要求一般选20pf。 有源晶振: 无需依靠单片机内部振荡电路,只需外部供电达到电压要求,即可产生振荡频率,接到单片机晶振输入引脚即可接受到晶振频率,单片机晶振输出引脚无需连接。 两者区别:无源晶振信号质
[单片机]
【自学51<font color='red'>单片机</font>】8 -- 按键的学习,<font color='red'>单片机</font>最小系统
8位MCU TM56F1552在电陶炉的应用方案,集成低噪声OPA
随着人们生活水平的不断提高,消费者对厨房电器的要求越来越高,对电器的环保节能特性,安全性,灵活性等都有很高的需求,电陶炉由于其加热效率高且可以持续加热,无辐射,适用性高等特点很好的满足了目前消费者的需要。 为了满足市场上对于电陶炉产品的需求,本文介绍一种成熟的电陶炉产品整体解决方案,方案由AC-DC电源芯片与8位MCU主控两部分组成,MCU内置触摸模块,LED/LCD显示驱动模块,多路PWM输出,带基准电压源的ADC以及EEPROM存储器等模块。其中主控TM56F1552芯片内集成了低噪声OPA,CMP,LDO,CTK,可以减少产品零件数目及降低成本。 方案中TM56F1552是一款8位内置OPA,外围电路简单,可以节省B
[嵌入式]
8位<font color='red'>MCU</font> TM56F1552在电陶炉的应用方案,集成低噪声OPA
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved