打印
[51单片机]

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

[复制链接]
5072|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 | 只看该作者
我感觉,我还是想叫板下,哈哈,目前这些东西都偏原始,有没有抽象深度点的东西。

使用特权

评论回复
5
ohy3686|  楼主 | 2018-3-13 20:50 | 只看该作者
菜鸟同学 发表于 2018-3-13 17:52
我感觉,我还是想叫板下,哈哈,目前这些东西都偏原始,有没有抽象深度点的东西。 ...

有,但不适合入门和初学者。

使用特权

评论回复
6
mcuzone| | 2018-3-14 09:33 | 只看该作者

使用特权

评论回复
7
菜鸟同学| | 2018-3-14 10:10 | 只看该作者
ohy3686 发表于 2018-3-13 20:50
有,但不适合入门和初学者。

来几个,版主,

使用特权

评论回复
8
ohy3686|  楼主 | 2018-3-14 10:44 | 只看该作者

在TI板块和蓝桥杯板块有这方面的帖子。

使用特权

评论回复
9
ztime2000| | 2018-3-17 12:02 | 只看该作者
来几个,版主,

使用特权

评论回复
10
zqx1000| | 2018-4-10 11:10 | 只看该作者

用MODBUS就可以,是毕业设计吧?

使用特权

评论回复
11
sum123456| | 2018-4-11 13:41 | 只看该作者

**下去

使用特权

评论回复
12
刘小刀| | 2018-11-30 17:11 | 只看该作者
哈哈 楼主辛苦  

使用特权

评论回复
13
royal90| | 2018-12-5 11:46 | 只看该作者
楼主幸苦了,谢谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

322

主题

899

帖子

2962

粉丝