20天89C51单片机总结

发布者:DreamySunset最新更新时间:2012-10-17 来源: 21IC 关键字:89C51  单片机总结  串行口传输 手机看文章 扫描二维码
随时随地手机看文章

看了怎么久的单片机做个总结。其实就芯片来说单片机没想象的那么复杂!89C51就40个引脚。其中P0~P3口占了32个。一个接地一个接电源,两个振荡引脚。一个EA引脚ROM的起始地址选择端。一个ALE/Vpp片外地址锁存器充许引脚/线编程电源输入端。PSEN片外ROM充许使能端。当然还有个复位REST引脚。其中P3口全部都有第2功能复用:定时 中断 串行口中断。当P0~P3端口写#FFH时片内锁存器置1这是单口为双向输入 输出口。这是从芯片外围看。

从芯片的内部看的话主要的就两个独立的存储器 ROM,RAM 一个为程序指示,一个为数据处理和存放。编程时通过寻址方式区别ROM,RAM。他们都为64KB的容量。ROM的片内为4KB存储空间。由EA指示是从片外执行程序还是从片内执行。RAM片内为256字节即FFH分4个部分。00H~1FH为工作寄存器组。20H~2FH为为寻址空间。30H~7FH为用户RAM区。80H~FFH为特殊寄存器区。有22个SFR(这里就不在介绍了)。

说说指令系统吧。MOV ,MOVX, MOVC3个传送指令其中片外存储器是不能直接传送的。3个调用指令AJMP,LJMP,SJMP.分别用于不同的调用范围。逻辑算术指令ANL ,ORL ,XRL.还有加 ADD,减SUBB,乘MUL,除DIV。还有很多的指令如交换,跳转,循环,位寻址,布尔处理指令等。

例如下面的循环-跳转指令

 MOV R0,#00H
 MOV R1,#AAH
 MOV R7#0BH
loop:  MOV A ,@R0
         MOV   @R1,A
         INC R0
         INC R1
         DJNZ  R7,loop
         END

  这个程序就是执行片内传送功能的。

说说程序的一般流程吧。分为顺序,分支,循环,还有组合嵌套。上面的例题就是循环的一种。

写个分支程序的例题

                 MOV A,R1
               RL    A
               MOV DPTR,#data
               JMP  @A +DPTR
data:     AJMP  KK1
              AJMP  KK2
                 .
                 .
              AJMP KKn

这个指令就是以 data为首地址 R1为偏移量的分支转移,因为AJMP为双字节指令所以要执行RL A。

下面在说下中断跟定时吧。

中断涉及的寄存器由 TCON , IE, IP,SCOM.

通过对中断中断标志位的设置区执行中断请求。中断有5个入口地址 03H 0BH 13H 1BH 23H.

例如外部中断一的入口在默认模式下设置为最高优先级

 SETB  PX1

 STEB  EX1

STEB  EA

非常简单,有点像闯关游戏每个环节都完成才能执行中断。

下面是定时器,定时器在单片机的运用是非常高的。4种工作模式0 , 1 ,2 ,3。

我就用典型的定时器0模式2在12MHZ的程序编写一个正弦波输出XXMS在P1.0。初值就用KKH代替吧。

                                   MOV  P1  ,#FFH 
MAIN:                         MOV  TMOD  ,  #02H
                               MOV   TH0     ,#KKH
                               MOV    LHO    ,#KKH
                               STEB   ET0
                               STEB  TRO
                               STEB   EA
                               AJMP  $


中断程序       TIME0:  CLR   TF0
                                CPL    P1.0
                                RETI.

还有串行口传输了。89C51有4种模式的传输,其中波特率的设置尤为重要。

涉及寄存器有 TCOM  TDOM   SCOM   SDOM  PCON.

其实89C51还可以用软件模拟总线接口。如SPI  I2C等还有按键的程序设置外部的扩展实在太多了。以后有时间在编写发上来。

关键字:89C51  单片机总结  串行口传输 引用地址:20天89C51单片机总结

上一篇:什么是51单片机寻址
下一篇:单片机解码315M的pt2262编码的c51程序

推荐阅读最新更新时间:2024-03-16 13:10

MSP430单片机开发总结
1.#i nclude 指要在编辑器设定目录下,#i nclude 指的是在当前工程目录下。 2.要调用另一个文件中的函数,要把这个函数文件放到当前工程目录下,并且在工程中添加此文件。 3.命名中不能有-,比如:byq-ee会认为是错误的,要用下划线。 4.用IAR软件仿真时,可以加入变量,如果是查看I/O信息只需加入PXIN,PXOUT即可。 5.IAR在处理字符时,要注意,是字符处理结尾标志,他和其他编辑软件是不同的。比如我们长用字符处理会自动在结尾处加,但IAR有些是不加的,这就要十分注意。 6.如果只用到LFX1的低速时钟,9600bit/s传输的话,接收会出现问题,原因是误差太大,可以设置到4800以下。 7.在写FLAS
[单片机]
单片机编程小问题总结
1、时间太长,记不清在哪个项目里遇到的,指向code区数组的指针也要加 code 关键字声明。 比如 unsigned char code arr ; 数组,要用指针指向它,要把指针也声明成 unsigned charcode*p; 后来使用发现其它很多地方使用是不需要这样声明的,只要 unsigned char *p;就行了,但是清楚地记得那次确实是要加 code 关键字声明才可以的。 2、在51里面,位变量貌似是有限的。 如果要用一个布尔型作为标识变量,为了节省控件可以用 bit 型变量,但是在DRS1000项目中遇到过一次用 bit 型变量出错,改为 unsigned char 型就OK了,那时定义的变量
[单片机]
89C51单片机+X25045构成的看门狗电路
采用89C51单片机和X25045组成的 看门狗电路 ,X25045硬件连接图如图1所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU复位。图1电路中,CPU的复位信号共有3个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog复位(C2、R3),通过或门综合后加到RESET端。C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。   
[电源管理]
<font color='red'>89C51</font><font color='red'>单片机</font>+X25045构成的看门狗电路
MCS-51单片机寻址方式总结
MCS-51单片机指令系统共使用7中寻址方式,包括寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址等。
[单片机]
MCS-51<font color='red'>单片机</font>寻址方式<font color='red'>总结</font>
51单片机学习总结系列(0)之单片机最小系统
学习51单片机接近两年了,最近总结一下51单片机学习,加上明年3月报了蓝桥杯大赛单片机类,也算是对比赛的准备。后续主要以蓝桥杯配的板子CT107D更新,还会加上平时遇到板子的模块以及自己做的一些小项目,每周保持更新,如果以下内容有问题,欢迎指正。(782373034@qq.com) 对于一个初学者来说,我个人认为第一个要了解的就是单片机最小系统,任何开发板也是在此基础上外加一系列外围电路模块。所以足以说明它的重要性。 下面先贴出51单片机最小系统图。 如图中所示,51单片机最小系统包括复位电路、时钟电路、EA拉高。图中P0口接了一个10K上拉电阻,主要是P0口驱动能力比较弱。下面分析最小系统各个部分。 时钟电路:单
[单片机]
51<font color='red'>单片机</font>学习<font color='red'>总结</font>系列(0)之<font color='red'>单片机</font>最小系统
89C51单片机为控制核心的开关电源优化设计
  引言   开关电源是利用现代电力电子技术控制功率开关管(MOSFET,IGBT)开通和关断的时间比率来稳定输出电压的一种新型稳压电源。从上世纪90年代以来开关电源相继进入各种电子、电器设备领域,计算机、程控交换机、通讯、电子检测设备电源、控制设备电源等都已广泛地使用了开关电源。利用单片机控制的开关电源,可使开关电源具备更加完善的功能,智能化进一步提高,便于实时监控。其功能主要包括对运行中的开关电源进行检测、自动显示电源状态;可以通过按键进行编程控制;可以进行故障自诊断,对电源功率部分实现自动监测;可以对电源进行过压、过流保护;可以对电池充放电进行实时控制。   开关电源的系统结构   通信用-48V开关电源结构图如图1所
[单片机]
以<font color='red'>89C51</font><font color='red'>单片机</font>为控制核心的开关电源优化设计
51单片机与计算机通讯,51单片机与PC通信方法总结
51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。 当串行发送完毕后,将在标志位 TI 置 1,同样,当收到了数据后,也会在 RI 置 1。 无论 RI 或 TI 出现了 1,只要串口中断处于开放状态,单片机都会进入串口中断处理程序。 在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。 常用的方法有: 接收数据时,使用“中断方式”,清除 RI 后,用一个变量通知主函数,收到新数据。 发送数据时,也用“中断方式”,清除 TI 后,用另一个变量通知主函数,数据发送完毕。 这样一来,收、发两者基本一致,编写程序也很规范、易懂。 更重要的是,主函数中,不用在那儿死等发
[单片机]
X25045看门狗电路硬件连接图及C语言看门狗程序
采用89C51单片机和X25045组成的看门狗电路,X25045硬件连接图如图2所示。X25045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。在看门狗定时器预置的时间内若没有总线活动,则X25045将从RESET输出一个高电平信号,经过微分电路C2、R3输出一个正脉冲,使CPU复位。图2电路中,CPU的复位信号共有3个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog复位(C2、R3),通过或门综合后加到RESET端。C2、R3的时间常数不必太大,有数百微秒即可,因为这时CPU的振荡器已经在工作。 图2 X25045看门狗电路硬件连接图 看门狗定时器的预置时间是通过X25045的状态寄存器的
[单片机]
X25045看门狗电路硬件连接图及C语言看门狗程序
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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