麻烦大家看一下,图片中的单片机编程入门是什么型号的哇~

六:单片机的内外部结构分析(六)


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

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

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

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

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

从硬件电路的连线可以看出,有四个按钮被接入到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个引脚就称之为并行口,下面我们就对并行口的结构作一个分析,看一下它是怎样实现输入和输出的。

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

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

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

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

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

/* 名称:51单片机实现LED流水灯(数组方式和位运算方式)说明:今天又重新开始系统的学习51了,LED就算个开端吧。 要注意两点: 1、sfr和sbit是C语言扩展出来的关键字。其中sfr用于对特殊功能寄存器进行声明,sbit用于对某些特殊功能寄存器的某位进行声明。这里和宏定义很相似,但是不能用宏定义进行替换,对于前者是因为51单片机的寄存器存在于内部空间0x80-0xFF,这空间属于直接寻址,51特殊功能寄存只能直接寻址,不能间接寻址。如果用宏定义的话,在翻译成汇编时就会认为是通过总线访问对应的外部地址了。对于后者,sbit是定义一个标志位,也叫位变量。而类似于#define

/* 名称:51单片机之按键实验 说明:键盘是计算机最基础、最重要的输入设备之一。对于键盘来说,其工作任务大体可以分为以下三项: (1)、按键识别。即判断有无按键按下。 (2)、求键值。判断哪个键被按下。 (3)、执行相应的操作。 在这里,实验所用到的键盘为独立键盘和矩阵键盘。对于独立键盘,它的每个按键需要占用一个IO口。一般来说,按键一端接地,另一端接IO口。当按键按下时,线路被导通,IO口被拉低,即状态为‘0’。所以在使用是我们一般把对应IO口置成高电平,然后不断检测此IO口是否被拉低,从而判断按键是否按下。 对于矩阵键盘来说,它用较少的IO口完成较多个按键

/* 名称:51单片机之数码管显示实验 说明:对于数码管来说,其本质上可以理解为按照一定规则组合的多个二极管。其使用只需按照特定规则显示对应的二极管即可。要稍微注意一点的就是多个数码管的显示分为静态显示和动态显示。静态显示就是每个二极管显示的内容是一样的,通过片选信号来决定是哪个二极管该显示。动态数码管,即利用人眼的视觉停留效果,快速扫描,快速显示每个数码管的内容,使得每个数码管看起来好像是一起显示的一样。 本实验编写了几个数码管显示的简单程序。在此不做赘述了。*/#include

单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。在博主目前的项目中使用通信主要是通过RS485协议来进行通信,RS485通信是工业上非常常见的半双工异步通信典型通信协议,特征是通信的设备都挂载到主线上,使用差分信号来判断收发,且同一时刻只能进行一个功能(收信息或者发信息)那么在博主这边的软件处理方式如下;首先要

AD采集最好要满足的条件:采样频率不小于被采集信号最高频率的两倍,则采样输出信号就可以无失真的重新啊还原输入信号,通常的实际应用中,采样频率为采集最高频率的5-10倍。AD芯片的数据输出方式有串行和并行两种方式,对于AVR单片机来说A/D芯片和AVR单片机接口是需要考虑的一些问题:(1)模拟信号输入的连接:单端输入时,VIN+引脚直接与信号输入连接,VIN-接地。差分输入时,单端输入正信号,VIN+引脚直接与信号连接,VIN-引脚接地。单端输入负信号,VIN-引脚与信号连接,VIN+引脚接地。(2)数据输入线与系统总线的连接:有可控制的三态输出门时候可以直接和系统总线连接,没有输出门的时候要通过I/O口进行连接。(3)启动信号

我国传统的高校教学,以培养学生专业理论知识为主,然而在时代不断进步的背景下,经济的发展和社会的进步对于人才自身的实践能力的要求越来越高,在这种情况下,高校应积极进行教学模式的转变。而在学习单片机相关知识的过程中,学生也应当注重自身实践能力的锻炼。与此同时,在信息技术以日新月异的速度发展的过程中,增加对微型计算机的一个重要组成成分单片机的学习具有重要意义。从科学教学目标的制定入手,对单片机学习型号和编程语言的恰当选择和实践能力的培养进行了探讨。1科学学习目标的制定教学单片机知识的过程中,制定科学学习目标具有重要意义。我国传统的单片机知识教学过程中,教师不注重引导学生积极构建科学的学习目标,这种做法产生的后果就是教师在教学过程中过于重视理论知识的传授和讲解,而学生在学习过程中,靠死记硬背很好的掌握了理论知识,但是却严重缺乏实践动手能力。同时,没有科学学习目标的指导,在接下来的整个学习过程中,教师和学生都无法掌握良好的学习模式,这严重... 

人的一生是一个不断学习、不断成长的过程。转眼间,研究生的学习生涯结束了,走上新的工作岗位。回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。在2003年最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。那时候老师只教会了我们汇编语言,根本不知道用C语言也可以进行单片机开发。幸运的是,我加入了单片机兴趣小组,在老师的指导下,做了一系列实验,有“基于DS18B20的温度采集系统”、“有基于164的移位寄存器的灯光控制系统”、“有步进电机和直流电机的控制系统”。这时候我才发现,这是学习单片机的一个最好途径——在实践中领悟理论,用理论指导实践。在上课的整整一个学期中,虽然老师讲得很详细,但是大部分概念都是到了实际动手做东西的时候才弄明白的。而且在经历了迷惑之后再搞清楚,印象就特别深刻。直到现在我对那些概念和接口都非常清晰。其实我也很庆幸学习和使用了两年多的汇编语言。由于有这些锻炼,... 

引言学习使用单片机就是理解单片机硬件结构以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置以及实现各种功能的程序编制。一、掌握管脚输入输出(I/O)的使用使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。如51系列单片机:P1口的0 ̄3为按键输入,4 ̄7为LED输出则汇编程序如下:MOV

作为一名教育工作者,本人深知学生在学习单片机的过程中会遇到的困难,主要是学不得法,难以入门。一旦入门并作产品出来信心大增,并会想更深,更广的层面学习来扩展自己的知识。下面概括了几点本人的学习经验和心得体会供大家交流:1硬件电路比程序更重要很多人认为在单片机学习中程序比较重要,其实笔者认为硬件电路比程序重要。只有深入的了解单片机的硬件知识后才能开始程序编写。比如说网上有很多的数码管显示程序,程序的发布者都说自己的程序经过调试运行正常,但是下载到自己的电路上就不好用。这个原因就是自己的硬件电路和人家的硬件电路不同所以程序不同。这个就是单片机的硬件因数。所以在编写程序之前首先要弄清楚硬件电路。一旦硬件电路有故障不管你写的程序有多好最终都是没有结果,所以说硬件电路是单片机的基本保障。2熟悉项目建立流程开始的时候不要老是给自己找借口,说KILL是英文自己不认识,记不住操作过程这样的话。因为那是你根本就没有用心去记,如果是真的记不住可以做下... 

0 引言单片机由于体积小、集成度高、可靠性高、控制功能强、低功耗、易扩展等特点,在工业控制、电子通信等方面被广泛应用,单片机技术已成为控制系统中最普遍的应用技术[1-3]。许多高校都开展了单片机教学,单片机教学具有较强的应用性、实用性,不仅需要理论知识,更需要应用实践。但是,传统的教学模式,以教师讲授为主,学生被动接受,教学中强调理论知识体系的完整性、严密性,配套实验也仅为少数的验证实验,存在学生学习难度大,难以激发学习积极性等的问题。因此近年各大高校都开展了对单片机教学的探索,如开发、自制单片机教学实验平台,建立虚拟实验室等[4-8]。其中,智能小车平台由于其有别于实验箱与虚拟软件的良好体验性,受到广大学生的青睐[9-11]。1 基于小车的多模块、双系统单片机学习平台我校机械工程实验中心在总结他校的教学经验,结合自身实际情况的基础上,设计开发基于小车的多模块、双系统单片机学习平台。图1所示为小车模型图;图2所示为系统框图。1....  (本文共2页)

单片机技术经过近年来的飞速发展,越来越多的朋友迫切的需要掌握单片机技术。传统的单片机学习方式,需要编程器,仿真器,试验板等的支持。造成学习门槛过高,令人望而却步。这款编程.试验.仿真3 inl的51单片机学习机。将众多功能集于一身,从而极大地降低了学习单片机的成本。 编程部份: 该套件的重要功能之一是编程功能。在以前,单片机编程都是采用并行方式,方法较复杂,编程器也比较昂贵。该机采用1 sp烧写方式,通过简单的硬件,即可快速的在系统完成芯片的擦除、烧写、加密等操作。插好单片机芯片后,可以在线别新单片机内部程序,不需要频繁的插上拔下,不再需要启动像89C51那样的12v的vPP编程高压。采用了特殊的保护写入技术,在线编程刷新芯片的寿命超过普通89 c51的10倍以上,每片芯片可以反复擦写上万次,性能方面则完全兼容51系列单片机. 仿真部份: 单片机好比一个黑盒子,一旦运行,无法知道他经过了哪些步骤,也无法让他中途停止。在仿真器出现...  (本文共1页)

我要回帖

更多关于 单片机编程入门 的文章

 

随机推荐