[51单片机] 【经典51懒人5步速成法-04】三大外设的开发与可重用代码

[复制链接]
6245|12
 楼主| ohy3686 发表于 2018-2-23 23:20 | 显示全部楼层 |阅读模式
本帖最后由 ohy3686 于 2018-2-23 23:22 编辑

【经典51懒人5步速成法-04】三大外设的开发与可重用代码

广东职业技术学院  欧浩源

    在51内核的单片机中,主要有外部中断定时计数串行通信三大外设。在其他的嵌入式芯片中,这三个外设也是必不可少的。三大外设的程序设计实际上就成了51单片机最基础核心,掌握着三个部分的设计思路是学习单片机开发的必经之路。
    编写三大外设的程序实际上有很多类似的地方。它们都需要进行初始的寄存器配置,也就是初始化,它们都和中断有关,都需要编写中断服务函数。因此,对于每一个外设,我们都需要编写一个初始化函数中断服务函数。这些函数在不同的应用工程中实际上都差不多,也就是说代码的重用性很高。

1、外部中断模块
    在51单片机中有INT0和INT1两个中断模块,外部的触发信号可以是电平,也可以是边沿,由寄存器TCON的IT0和IT1位来决定。
   

2、定时/计数模块
    在51单片机中有T0和T1两个定时器,对内部可以定时,对外部可以计数。在初始化的时候,需要确定该模块是定时功能还是技术功能,工作模式是什么,最大计数值是多少。
   

3、串行接口模块
    在51单片机的串行接口中,产生波特率需要占用定时器T1,发送数据时,将内容放到SBUF中,数据发送完毕,TI会置1。当完整接收到一个数据后,RI会置1,这时从SBUF中将内容读出即可。不管是TI还是RI标志位,都需要人工清0。
    一般情况下,发送数据采用查询方式,接收数据采用中断方式
   
4、小结
    掌握了51单片机的三大外设,就等于掌握了51单片机的编程核心。在下面的一节中,我将以一个小案例阐述编写一个基础应用的基本思路和编码步骤。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
一路向北lm 发表于 2018-2-24 07:36 来自手机 | 显示全部楼层
**下去
caijie001 发表于 2018-2-24 14:04 | 显示全部楼层
菜鸟同学 发表于 2018-3-13 17:52 | 显示全部楼层
我感觉,我还是想叫板下,哈哈,目前这些东西都偏原始,有没有抽象深度点的东西。
 楼主| ohy3686 发表于 2018-3-13 20:50 | 显示全部楼层
菜鸟同学 发表于 2018-3-13 17:52
我感觉,我还是想叫板下,哈哈,目前这些东西都偏原始,有没有抽象深度点的东西。 ...

有,但不适合入门和初学者。
mcuzone 发表于 2018-3-14 09:33 | 显示全部楼层
菜鸟同学 发表于 2018-3-14 10:10 | 显示全部楼层
ohy3686 发表于 2018-3-13 20:50
有,但不适合入门和初学者。

来几个,版主,
 楼主| ohy3686 发表于 2018-3-14 10:44 | 显示全部楼层

在TI板块和蓝桥杯板块有这方面的帖子。
ztime2000 发表于 2018-3-17 12:02 | 显示全部楼层
来几个,版主,
zqx1000 发表于 2018-4-10 11:10 | 显示全部楼层

用MODBUS就可以,是毕业设计吧?
sum123456 发表于 2018-4-11 13:41 | 显示全部楼层

**下去
刘小刀 发表于 2018-11-30 17:11 | 显示全部楼层
哈哈 楼主辛苦  
royal90 发表于 2018-12-5 11:46 | 显示全部楼层
楼主幸苦了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:广东职业技术学院 欧浩源(ohy3686@foxmail.com)    [Zigbee技术&物联网应用] 群:168225322    [技术交流微信]:gzyohy (暗号:宝塔镇河妖)

322

主题

899

帖子

3548

粉丝
快速回复 在线客服 返回列表 返回顶部