单片机原理与实践学习记录之51单片机I/O口简单应用

单片机原理与实践学习记录


第二课(更新时间:2021.9.3)

51单片机I/O口简单应用

C51中常用的头文件

​ 通常有reg51.h,reg52.h,math.h, ctype.h, stdio.h, stdlib.h, absacc.h, intrins.h。但常用的却只有reg51.h或reg52.h,math.h。reg51.h和reg52.h是定义51单片机或52单片机特殊功能寄存器和位寄存器的,这两个头文件中大部分内容是一-样的, 52单片机比51单片机多一个定时器T2,因此,reg52.h 中也就比reg51.h中多几行定义T2寄存器的内容。math.h是定义常用数学运算的,比如求绝对值、求方根、求正弦和余弦等,该头文件中包含有各种数学运算函数,当需要使用时可以直接调用它的内部函数。


C51数据类型扩充定义

    单片机内部有很多的特殊功能寄存器,每个寄存器在单片机内部都分配有唯一的地址,一般会根据寄存器功能的不同给寄存器赋予各自的名称,当需要在程序中操作这些特殊功能寄存器时,必须要在程序的最前面将这些名称加以声明,声明的过程实际就是将这个寄存器在内存中的地址编号赋给这个名称,这样编译器在以后的程序中才可认知这些名称所对应的寄存器。

sfr-特殊功能寄存器的数据声明,声明一个8位的寄存器。
sfr16-16位特殊功能寄存器的数据声明。
sbit-特殊功能位声明,也就是声明某一个特殊功能寄存器中的某一位。
bit-位变量声明,当定义一个位变量时可使用此符号。
例如: sfr SCON = 0x98;
SCON是单片机的串行口控制寄存器,这个寄存器在单片机内存中的地址为0x98。这样声明后,在以后要操作这个控制寄存器时,就可以直接对SCON进行操作,这时编译器也会明白,实际要操作的是单片机内部0x98地址处的这个寄存器,而SCON仅仅是这个地址的一个代号或是名称而已,当然,也可以定义成其他的名称。
例如: sfr16 T2 = 0xCC;声明一个16位的特殊功能寄存器,它的起始地址为0xCC。
例如: sbit TI =SCON^1;
SCON是一一个8位寄存器,SCON^1 表示这个8位寄存器的次低位,最低位是SCON0;SCON7表示这个寄存器的最高位。该语句的功能就是将SCON寄存器的次低位声明为TI,以后若要对SCON寄存器的次低位操作,则可直接操作TI。


单片机最小系统

​ 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的以单片机为核心元件的可以正常工作的具有特定功能的单片机系统,是单片机产品开发的核心电路。而且单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中。下面将介绍其的组成:

单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。最小系统原理图如图1所示。

图1 最小系统电路图
图1 最小系统电路图

1.电源供电模块

对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个和典型的问题就是相比其他系列的单片机,51单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。电源模块电路如图2所示。
图2 电源模块电路图
图2 电源模块电路图

此最小系统中的电源供电模块的电源可以通过计算机的USB口供给,也可使用外部稳定的5V电源供电模块供给。电源电路中接入了电源指示LED,图中R11为LED的限流电阻。S1 为电源开关。

2.复位电路

单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。复位电路图如图3所示。

复位电路图

图3 复位电路图

单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。

复位电路由按键复位和上电复位两部分组成。

(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。

(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。

3.振荡电路

单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。振荡电路如图4所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值