1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
(SFR) Special Function Registers
单片机中有象箱子功能一样的地方,我们称为寄存器,用来暂存数据。寄存器的种类有程序计数器、通用寄存器、以及SFR(特殊功能寄存器)等。 SFR主要用来设定外围功能电路(计数器或串行端口、通用I/O等)的工作方式,确认其工作状况,并对其进行控制的。也就是说SFR并非仅仅只是用来保存数据的“箱子”。通过改变保存在“箱子”里的数据,不仅可以改变外围功能电路的动作方式,而且“箱子”里的数据也将随着外围功能电路的工作状況而改变。 控制外围功能电路的基础知识 下面以通用I/O为例来说明单片机对外围功能电路的控制。通用I/O具有以下功能: 1、输出功能:可以输出高电平电压或低电平电压 2、输入功能:可以读出输入到引脚的电压电平 首先来看输出功能的控制。图1中的引脚A是一个通用I/O。 如果向引脚A的寄存器(SFR) 1、写入0,则引脚A的输出电压将为低电平(0V)。 2、写入1,则引脚A的输出电压将为高电平(5V)。 图1:通用I/O的输出功能 如果将图1的引脚A连接一个LED,就可以构成一个控制LED的电路(见图2)。此时,向寄存器(SFR)写入0则LED亮灯,输入1则LED熄灭。虽然这是一种很简单的动作,但却反映了单片机对各种外围功能电路进行控制的基本原理。利用这种功能,就可以完成象电机的ON/OFF一样的开关作用(由于通常的单片机上不能流过驱动电机运行的大电流,所以还需另行准备用FET或晶体管作成的电机驱动电路)。另外,如果使用多个通用I/O端口,就可以完成更加复杂的控制。 图2:通用I/O的LED控制电路 接下来看输入功能(图3)。 ● 如果向引脚A输入低电平电压(0V),就会从寄存器(SFR)读出0。 ● 如果向引脚A输入高电平电压(5V),就会从寄存器(SFR)读出1。 即,读取寄存器(SFR)的值,就可以判断外部电压是低电平电压还是高电平电压。 图4:通用IO输入功能构成的开关电路 图3:通用I/O的输入功能 使用通用I/O的输入功能构成图4所示的电路,单片机就可以判断出开关(S)的状态。 ● 当开关(S)断开时,电源电压通过上拉电阻(R),连接到引脚A(相当于输入高电平电压),寄存器(SFR)将的值变为1。 ● 当开关(S)关闭时,引脚A被连接到低电平电压,寄存器(SFR)的值变为0。 单片机通过读取引脚A的寄存器(SFR)的值,是“1”还是“0”,可以判断外部开关(S)是断开还是关闭状态。 图4:通用IO输入功能构成的开关电路 单片机上搭载了各种功能的SFR。通过程序来更改或读出这些功能寄存器的值,就可获知单片机外围电路的信息,而对外围电路进行控制。所以可以说,SFR就象是单片机的五官或者手脚。 以上就是单片机控制外部外围功能的基础知识。 |
|
|
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36419 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4831 浏览 1 评论
6103 浏览 1 评论
6815 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4247 浏览 0 评论
642浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
639浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
640浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
727浏览 2评论
840浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 14:03 , Processed in 1.056661 second(s), Total 76, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号