① 51单片机的硬件结构
本文主要讲解51单片机的硬件结构,而且只介绍重点知识。
由上图可以看出,51单片机组成结构包括以下几个部分:
时序信号:一类用于片内各功能的部件的控制,另一类用于片外存储器或IO端口的控制(这个对用户来说是比较重要的,在定时器部分会讲)
通过修改PSW中的RS1、RS0两位的状态,就能任选一个工作寄存器区。这个特点提高了MCS-51现场保护和现场恢复的速度。对于提高CPU的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。
按存储结构可分为二类:一类是哈佛结构,另一类是普林斯顿结构。
①哈佛结构
哈佛结构是程序存储器地址空间与数据存储器地址空间分开的单片机结构,如80C51单片机采用哈佛结构,所以80C51单片机的程序存储器地址空间与数据存储器地址空间是分开的,各有64K存储空间。
②普林斯顿结构
普林斯顿结构是程序存储器地址空间与数据存储器地址空间合并的单片机结构,如MCS-96单片机采用普林斯顿结构,所以MCS-96单片机的程序存储器地址空间与数据存储器地址空间是合并的,共有64K存储空间。
P3口还有第二功能,表如下:
若TI 或 RI 被置位,必须用软件清零,硬件不能将其清零。
在不设置IP优先级寄存器的话,单片机内部会按这个默认顺序优先级去响应各个中断。
上电复位后除端口锁存器,堆栈指针,SBUF外,单片机内部的复位电路向所有的特殊功能寄存器写入00H。SBUF的值是不能确定的。
复位还使ALE和PSEN信号变为无效(高电平),而内部RAM不受影响。但由于VCC上电复位后,RAM内容不定,除非是退回低功耗方式的复位。
② 学长请问那个自学51单片机应该提前会哪些知识呢
单片机技术,包含硬件、软件两个方面,缺一不可。
硬件基础知识是:数字电路;
软件基础知识是:C 语言。
。
要想学会,必须得动手。
自己焊接一个最小系统,用 LED 做显示器。编写程序,下载,实现流水灯。
成功后,逐步配上其它外设,编写实用程序。
掌握焊接技术后,就不用再练了。以后,可用仿真软件来代替硬件。
。
要记得采纳。
③ 学习51单片机哪些是重点
第一,弄清51单片机内部结构, 有哪些特殊功能寄存器,各起什么作用?这是基础。
第二,会看开发板的原理图,这还是编程的基础。
第三、学会一些常用器件的原理和操作方法 如LCD1602 串行EEPROM 24C02 步进电机等。
第四、多编程,多实验。要有目标和想法,想用单片机干什么?目前为什么弄不成,有目的补充某些知识。
④ 单片机知识,急!!
楼上有几个错误,改正一下:
一、填空题(16分,每题2分)
1、单片机与普通计算机的不同之处在于其将( cpu )、(RAM )、I/O口(输入/输出接口) 、ROM(程序存储器)集成于一块芯片上。
2、单片机工作方式除了正常的操作方式外,还具有掉电运行方式和( 待机 )运行方式,其掉电运行方式唤醒方法为(硬件复位 )。
3、当单片机复位时PSW=( 00)H,SP=(07 )H。
4、串行口方式3发送的第9位数据要事先写入( SCON )寄存器的( TB8 )位。
5、MCS-51的并行I/O口信息有( 读端口 )和(读引脚 )二种读取方法,读-改-写操作是针对并行I/O口内的锁存器进行的。
6、(A)= 85H,(R0)=20H,(20H)=AFH,执行指令:ADD A,@R0 结果为: Cy=1,Ac=(1 ),OV=1,P=( 1 )。
7、若(IP)=00010100B,则优先级最高者为(PX1 ),最低者为(PT1 )。
(IP:— — — PS PT1 PX1 PT0 PX0)
8、总线驱动器74LS244和74LS245经常用作三态数据缓冲器, ( 244 )为单向三态数据缓冲器,而( 245 )为双向三态数据缓冲器。
二、判断对错,如对则在( )中写“√”,如错则在( )中写“×”。(8分 每题1分)
1、MCS-51单片机可执行指令:MOV R2,@R1。( X )
2、MCS-51单片机可执行指令:MOVC A,@DPTR。( x )
3、多字节的指令不一定执行的指令周期长。( √ )
4、当向堆栈压入一个字节的数据后,SP中的内容减1。( x )
5、特殊功能寄存器可以用间接寻址方式寻址。(X )
6、当P0口作为输出口使用时,必须外接上拉电阻才能有高电平输出。(√ )
7、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。( x )
8、区分外部程序存储器和数据存储器的最可靠的方法是看其是被 还是被
信号连接。( x )?
三、单项选择题(16分 每题2分)
1、 8051与8052的区别是:( D )
(A)有无内部程序存储器 (B)内部数据存储器的类型不同
(C)内部程序存储器的类型不同 (D)内部数据存储单元数目的不同
2、在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是(A)。
(A)PSW (B)PC (C)A (D)SP
3、访问外部数据存储器时,不起作用的信号是( C )。
(A) RD (B) WR (C) PSEN (D)ALE
4、AJMP指令的跳转范围是( a )。
(A)2KB (B)1KB (C)256 (D)64KB
5、下列指令中正确的是( b )。
(A)MOV P2.1,A (B)JBC TF0,L1
(C)MOVX B,@DPTR (D)MOV A,@R3
6、MCS-51单片机扩展外部程序存储器和数据存储器( B )。
(A)分别独立编址 (B)统一编址
(C)分别独立编址或统一编址 (D)动态变址
7、在MCS-51中,需要外加电路实现中断撤除的是:( a )
(A) 电平方式的外部中断 (B) 脉冲方式的外部中断
(C) 外部串行中断 (D) 定时中断
8、通过串行口发送或接收数据时,在程序中应使用:( c )指令
(A)MOVC (B)MOVX (C)MOV (D)XCHD
四、简答题(10分 每题5分)
1、内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址?写它们的字节地址?
:00H-1FH 共4组工作寄存器,20H-2FH共128位 位寻址单元
2、写出MCS-51的所有中断源,并说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?
:1外部中断0,硬件清除,2定时器0中断,硬件,3外部中断1,硬件,4定时器1,硬件,5串行口,硬件 ,6定时器2,软件,清除标志是为了下次中断,否则程序将会进入死循环,或不能进入同级中断
⑤ 怎么才能学懂C51单片机需要哪些基础知识
怎么才能学懂C51单片机?这是个很奇妙的问题,说奇妙是因为这个懂的程度差别太大。那么,需要哪些基础知识呢?
其实最重要的不是基础知识,而是思维方式和兴趣。单片机开发不需要多高深的理论技术,许多知识可以边做边学,也不难掌握。
之所以说思维方式和兴趣重要,是因为思维方式决定了一个人的在此领域的悟性,智商高、聪明、记忆力好当然有优势,但不是决定因素。一个看了资料就懂但不太记得住,和一个看资料过目不忘但理解不了,在技术领域差别不是一般的大,前者很快上手,后者被淘汰掉很正常。兴趣决定了你肯花费的精力下的功夫和持之以恒的动力有多大。搞单片机是很枯燥的工作,如果没兴趣很难坚持下来,更不要说出成绩。
就事论事,想成为好的单片机工程技术人员,需要具备的基础知识大致是:数电、模电、传感、控制、通信、电源等,当然还有很多,但这些是基础,真正掌握了这些,基本够用。
⑥ c51单片机的介绍
c51单片机本书是以目前最为流行的8051系列单片机为主体,同时使用c程序设计语言来进行描述的。全书共分为四部分内容:单片机基础知识、c语言程序设计、单片机入门基础实例、单片机高级应用实例。以理论与实践相结合的方式来进行讲解,避免了传统教科书给人枯燥、乏味的感觉。讲解风格通俗易懂、条理清晰、实例丰富、图文并茂,即使是没有任何单片机基础的人,也可以通过本书的学习,踏入单片机世界的大门。作者为本书的出版开发了相应的学习编程、仿真及实验板,以方便读者朋友进行学习,同时以大量实例照片记录了实验的过程及现象,以激发读者朋友对单片机的兴趣爱好。
⑦ 怎样学习51单片机
学习51单片机的步骤:
1、学习理论知识,了解单片机的基本原理、寄存器、中断、定时器等的基本概念;
2、最好有一个开发板,在开发板上从最简单的功能开始实现,比如做一个流水灯、蜂鸣器音乐盒等;
3、实现简单的功能后,开始尝试更复杂的程序,例如LCD显示、数字时钟、串口通信、中断控制等;
4、在上述功能均可以实现之后,可以组合实现,做一个多功能的单片机系统了;
5、如果对硬件熟悉,可以自己尝试做一个单片机开发板!
⑧ 51单片机常识
1.学习单片机要有哪些基础知识
单片机基础知识 飞翔电子技术 2003-11-04 单片机的组成 单片机要自动完成计算,它应该具有哪些最重要的部分呢? 我们以打算盘为例计算一道算术题。
例:36+163*156-166÷34。现在要进行运算,首先需要一把算盘,其次是纸和笔。
我们把要计算的问题记录下来,然后第一步先算163*156,把它与36相加的结果记在纸上,然后计算166÷34,再把它从上一次结果中减去,就得到最后的结果。 现在,我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。
这类器件就称为“存贮器”。此外,还需要有能代替人作用的控制器,它能根据事先给定的命令发出各种控制信号,使整个计算过程能一步步地进行。
但是光有这三部分还不够,原始的数据与命令要输入,计算的结果要输出,都需要按先后顺序进行,有时还需等待。 如上例中,当在计算163*156时,数字36就不能同时进入运算器。
因此就需要在单片机上设置按控制器的命令进行动作的“门”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将此结没没果输出,而中间结果不能随便“溜出”单片机。
这种对输入、输出数据进行一定管理的“门”电路在单片机中称为“口”(Port)。在单片机中,基本上有三类信息在流动,一类是数据,即各种原始数据(如上例中的36、163等)、中间结果(如166÷34所得的商4、余数30等)、程序(命令的 *** )等。
这样要由外部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从存贮器读入运算器仔察慎进行运算,运算的中间结果要存入存贮器中,或最后由运算器经“出入口”输出。 用户要单片机执行的各种命令(程序)也以数据的形式由存贮器送入控制器,由控制器解读(译码)后变为各种控制信号,以便执行如加、减、乘、除等功能的各种命令。
所以,这一类信息就称为控制命令,即由控制器去控制运算器一步步地进行运算和处理,又控制存贮器的读(取出数据)和写(存入数据)等。第三类信息是地址信息,其作用是告诉运算器和控制器在何处去取命令取数据,将结果存放到什么地方,通过哪个口输入和输出信息等。
存贮器又分为只读存贮器和读写存贮器两种,前者存放调试好的固定程序和常数,后者存放一些随时有可能变动的数据。顾名思义,只读存贮器一旦将数据存入,就只能读出,不能更改(EPROM、E2PROM等类型的ROM可通过一定的方法来更改、写入数据——编者注)。
而读写存贮器可随时存入或读出数据。 实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。
单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。
因此,在单片机中就设置有定时器兼计数器,其基本结构与本连载之(二)中的举例类似。到这里为止,我们已经知道了单片机的基本组成,即单片机是由中央处理器(即CPU中的运算器和控制器)、只读存贮器(通常表示为ROM)、读写存贮器(又称随机存贮器通常表示为RAM)、输入/输出口(又分为并行口和串行口,表示为I/O口)等等组成。
实际上单片机里面还有一个时钟电路,使单片机在进行运算和控制时,都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给CPU,使念敬CPU根据外部事态的轻重缓急来采取适当的应付措施。
现在,我们已经知道了单片机的组成,余下的问题是如何将它们的各部分连接成相互关联的整体呢?实际上,单片机内部有一条将它们连接起来的“纽带”,即所谓的“内部总线”。此总线有如大城市的“干道”,而CPU、ROM、RAM、I/O口、中断系统等就分布在此“总线”的两旁,并和它连通。
从而,一切指令、数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。 单片机指令系统与汇编语言程序 前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件。
所谓硬件(Hardware),就是看得到,摸得到的实体。但是,光有这样的硬件,还只是有了实现计算和控制功能的可能性。
单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。
只有将各种正确的程序“灌入”(存入)单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。
就以两个数相加这一简单的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步: 第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。 第二步:把第二个数从它所在的存贮单元中取出来,送至运算器; 第三步:相加; 第四步:把相加完的结果,送至存贮器中指定的单元。
所有这些取数、送数、相加、存数等等都是一种操。
2.学习单片机需要具备哪些基础知识
我是大四学生,大三学的单片机,参加了一些大赛,个人认为学单片机首先把单片机课本熟读两遍,这可不能拖太长时间,对单片机的内部资源理解。外围电路能熟练。
模电、数电不好也不要紧,不懂时再回去看看不就好了。
汇编不用学的太好,但起码你能用汇编把课程设计做完。然后得话就学c吧。
学c不是说拿着c语言书,而是做些小制作之类的。在设计中学。
没单片机基础的话,先学c51吧。
不要听别人说51不行,学51是为了以后学别的更方便,更快。以后可以学arm等更高级的。
3.51单片机应该掌握哪些
上面说的是什么乱七八糟啊
1.基本要掌握哪些型号的单片机
首先说明一点,现在的像ATMEL,SST,STC,PHILIPS等等大多数单片机都是51内核,所以说你学会一样就行了,要说具体型号像AT89S52,STC89C51等等都可以,它是的区别只是内部资源不一样,也就是说功能多少的问题,但指令完全兼容.
2.要会哪些编程语言?
老大,你学哪个系列的单片机,那就会相应的汇编就行了.(51系列的指令兼容)而且应用也很广泛.
3.还有其他需要注意的东西吗?谢谢~~
不用谢谢,学会单片机软件并不难,但模电.数电要是不好也做不了什么大项目的,所以电子基础比较重要.
4.有时有汇编做算法很难,建议你学C语言,很容易学,而且用起来比汇编容易的多,但汇编也得懂(这个很重要).
5.有什么问题可以发消息给我,我会尽量帮你的.
6.祝你早日成功
4.什么是单片机
随着大范畴集成电路的显现和发展,将计算机的cpu、ram、rom、定时/数器和多种i/o接口集成在一片芯片上,组成芯片级的计较机,因此单片机早期的含义称为单片微型计较机,直译为单片机。
单片机是一种集成在电路芯片,是采用超大范畴集成电路技能把具有数据处理本事的中心处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和间断系统、定时器/计时器等成果(大要还包括表现驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完竣的计算机系统。
5.51单片机初学重点
引脚是肯定要学的 比如51有40个脚 有P0,P1,P2这3个口,另外还有特殊功能引脚还有P0口是作为数据口 也可以作为地址口 存放低8位地址信号那么P2口也可以作为数据口 同时也可以作为地址口 存放高8位地址信号这样你要外部访问16位的地址 那么就要P0和P2一起用了这只是个例子 这些引脚都要背熟的存储器结构还好吧 也就编程的时候用到比较多 一般不怎么用到 只要知道你的芯片RAM,ROM大小就行了 如果你写的程序太大 超过了 就要用到外部扩展的RAM了关键还是多画一些电路吧 熟悉一些常见的电路的画法比如连LED显示啦 键盘啦 外部中断啦 计时器啦还有一些常见的东西 比如动态显示啦 简单计算器啦 简单电子表啦。