单片机学习:典型的8051芯片引脚

控制/MCU

1821人已加入

描述

  最近想研究研究嵌入式系统,由于虽然是计算机专业的,但是硬件知识很差,再加上毕业若干年,全部忘光光。可以说,一切几乎是从零开始了。

  我还是从简单点的单片机开始学习,看了一眼,感觉比较容易些,从浅入深的学习吧。原来学东西好囫囵吞枣,学了一大堆几乎都是些皮毛,我这次写这个日志,一个是把它当做我的学习笔记,另外也是敦促我自己踏踏实实的学习。

  言归正传,去年在二手市场上花了¥2.00(也够抠门的了)买来了一本《单片微型机 原理、应用与实验》,复旦大学出版社的(我就是由买书的爱好,有没有用看到就想买),就拿它当做我的课本了吧。单片机这个东西,要理论联系实际,没有实验啥都是白学!于是跑到淘宝上花了3百多RMB买来开发板一套,附赠视频教程。预览了一遍,都是简单介绍一下理论(很多东西都没有说清楚),主要就是讲解了一下C代码,一切都得靠自己,哪有那么多现成的。

  教材上用的是汇编语言,写程序真是麻烦,还是用C吧,大不了C搞不定的时候嵌汇编不就完了么!

  还是从51,这个虽然比较老,但是很经目前典用应仍然很广泛的这类芯片开始学习,下面是一个典型的8051引脚图。

单片机

图1.1 8051引脚图

  制造工艺为HMOS(参考数电)的MSC-51单片机采用的是只引脚双列直插封装。12个时钟是一个机器周期,51的指令1~4个机器周期。

  (1) 电源引脚:

  Vcc接(+5v)电源

  Vss接地。

  (2) 时钟引脚:

  XTAL1、XTAL2外接晶体振荡器。

  (3) 控制引脚:

  RST/Vpd:复位信号/备用电源输入(H/L)

  ALE/PROC:地址锁存允许信号/编程脉冲输入端(H/L)

  PSEN:程序存储器输出控制(L)

  EA/Vpp:内外程序存储器选择控制端/施加较高编程电压(+21V或12V)的输入端(L/H)

  (4)I/O口引脚

  P0口:是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。

  P1口:是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LS型的TTL负载。对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。对EPROM编程和程序验证时,它接收低8位地址。

  P2口:是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2可以驱动(吸收或输出电流)4个LS型的TTL负载。

  P3口:是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。P3能驱动(吸收或输出电流)4个LS型的TTL负载。

  P3.0 10 RXD(串行输入口)

  P3.1 11 TXD(串行输出口)

  P3.2 12 INT0(外部中断0)

  P3.3 13 INT1(外部中断1)

  P3.4 14 T0(定时器0外部输入)

  P3.5 15 T1(定时器1外部输入)

  P3.6 16 WR(外部数据存储器写脉冲)

  P3.7 17 RD(外部数据存储器读脉冲)

  在4个端口当中,只有P0是真正的双向口,其他都是准双向口。其他都是准双向口。

  单片机控制的时候就是向4个I/O口送高低电平,另外我们需要关注的是它的存贮器,和寻址方式。

  (1)程序存贮器:

  可以在单片机内部或者在外部,PC就是从0地址开始执行的,此时要设置一个跳转指令,跳向用户设计的主程序。MSC-51的中断入口是固定的,它们的地址是0BH,13H,1BH,23H……。地址通常从3开始,每隔8个字节安排一个中断入口。

  (2)内部RAM数据存贮器

  工作寄存器区(由PSW的第三和第四位指示):在需要的时候它们也可以作为数据缓冲器。

  00H~07H:工作寄存器区0(R0~R7)

  08H~0FH:工作寄存器区1(R0~R7)

  10H~17H:工作寄存器区2(R0~R7)

  18H~1FH:工作寄存器区3(R0~R7)

  位寻址区:20H~2FH,它们每一位都占据地址空间00H~7FH,用于存放程序标志、位控制信息,同样它们也可以作为一般的数据缓冲器。

  堆栈和数据缓冲器:30H~7FH。进栈是,SP先加1在写入,复位后SP为07H。所以对SP初始化时SP=6FH。

  (3)特殊功能寄存器(地址空间80H~FFH)

  复位时寄存器的状态如下:PC(0),PSW(0),SP(07H),P0~P3(FFH),SBUF(未知)…

  (4)外部RAM和I/O口

  MSC-51可以扩展64KB的RAM和I/O口,它们是统一编址的。

  8051中断系统

单片机

5个中断源:INT0(P3.2),INT1(P3.3)外部中断源;TF0(定时器0),TF1(定时器1),RI/TI(串口输入输出中断)三个内部中断源。

  2级的中断优先级(如图所示)

  与中断有关的寄存器:

  TCON

单片机

IT0:外部中断INT0触发方式选择(0,电平触发L;1,跳沿触发H2L),软件设置

  IE0:外部中断INT0请求标志位,CPU响应中断后硬件清零

  IT1:外部中断INT0触发方式选择,与IT0类似

  IE1:外部中断INT0请求标志位,,与IE0类似

  TR0:与TR1类似

  TF0:T0溢出请求标志位,CPU响应中断后清零,查询方式下由软件清零

  TR1:T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。

  TF1:T1溢出请求标志位,与TF0类似

  SCON

单片机

TI:串口发送中断请求标志位,硬件自动置位,在中断服务程序中软件清零

  RI:串口接受中断请求标志位,硬件自动置位,在中断服务程序中软件清零

  IE

单片机

EA:中断允许控制位,1-开中断 0-关中断

  ES:串口输入输出中断控制位,1-允许中断 0-禁止中断

  ET1:T1中断控制位,1-允许中断 0-禁止中断

  EX1:INT1中断控制位,1-允许中断 0-禁止中断

  ET0:T0中断控制位,1-允许中断 0-禁止中断

  EX0:INT0中断控制位,1-允许中断 0-禁止中断

  IP

单片机

PS:串口输入输出中断优先级控制位,1-高 0-低

  PT1:T1中断优先级控制位,1-高 0-低

  PX1:INT1中断优先级控制位,1-高 0-低

  PT0:T0中断优先级控制位,1-高 0-低

  PX0:INT0中断优先级控制位,1-高 0-低

  编辑:黄飞


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分