51单片机入门基础介绍
时间:2022-09-16 06:30:01
51单片机入门介绍基介绍
文章目录
- 51单片机入门介绍基介绍
-
- 前言
- 常用元器件
-
- 发光二极管
- 数码管
-
- LED显示数字管
- 按键
- 定时计数器
- 串行口控制寄存器SCON
- 中断系统
-
- 中断源和中断请求
- 允许中断和中断屏蔽
- 中断优先控制
- 51单片机与DAC的接口
前言
博客园地址
基本部件的原理和功能
常用元器件
CAP 电容
RES 电阻
CRYSTAL 晶振
7SEG 数码管
sounder 蜂鸣器
BUTTON
LED-BIBY
发光二极管
二极管PN结,P阳极N阴极,电流方向P极流向N极
共阴极高电平亮,共阳极低电平亮
数码管
dp g f e d c b a 0 0 1 1 1 1 1 1 //0x3F显示0
共阴com口接地高,电平亮,共阳极com口接电,低电平亮
LED显示数字管
1.静态显示
公共端直接接地(共阴极)或电源(共阳极),每个数字管的段选线对应一组I/O每个数字管都显示接口
2.动态显示
所有数字管的段选线和一组I/O接口线并联,公共端由一个接一个I/O线路控制,逐个显示
按键
按钮不会立即改变电平,延迟10ms-20ms再次获得消除抖动的电平
独立按键:
每个键独占并口线,简单直接判断并口线
行列键盘(矩阵键盘):
键位分布在行列交叉点,占用并口线较少,键位越明显
按键编码行列键盘:
高位为1,低位为0,按键按下时高位为0。再将其取反再检测即可知道是哪一个按键
H3 H2 H1 H0 L3 L2 L1 L0 1 1 1 1 0 0 0 0 //0xf0, 1 1 1 0 0 0 0 0 //当位于H0,L按0按键时,H0变为低电平 0 0 0 0 1 1 1 0 //0xf取反,按下按钮时L0变低电平
加上行和列编码等于键值
键值= 0xe0 0x0e;
定时计数器
51单片机有T0、T12个定时/计数器,52多一个T2
由加法计数器(16位)寄存TMOD、控制寄存器TCON由内部总线组成
初值X=最大计数值M - 计数值N
计数工作时,引脚T0(P3.4)或T1(P3.5)上的输入脉冲计数
定时/计数器由特殊功能寄存器组成:
(T0)TH0, TL0, (T1)TH1, TL1, TMOD, TCON
TMOD D7 D6 D5 D4 | D3 D2 D1 D0 (89H) GATE C/T M1 M0 | GATE C/T M1 M0 定时器1 | 定时器0 M1, M0 选择工作方法的位置 0 0 方式0, 13位定时/计数器 X=8192-N/(12/fosc) 0 1 方式1, 定时/计数器16位 X=65536-N/(12/fosc) 1 0 方式2, 计数器 X=256-N/(12/fosc) 1 1 方式3, 只有两个8位定时/计数器T0有)
C/T: 定时或计数选择位,1位计数,0位定时
GATE:控制定时/计数器的启动是否受到外部中断请求信号的影响
TCON D7 D6 D5 D4 D3 D2 D1 D0 (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1 T1.当定时/计数器溢出时,标志位置1 TR1 T1.启动和停止,1启动0停止 TF0,TR0 控制T0,效果同上 IE1 IT1 IE0 IT0 外部中断
串行口控制寄存器SCON
CS-51单片机1个全双工串行异步通信接口。发送接收共享SBUF串行口控制寄存器SCON,电源控制寄存器PCON
波特率(bps)=一个字符的二进制位数*字符/秒
ex: 每秒传输200个字符,每个字符1位起始位,8位数据位,1位校准位,1位停止位。波特率为2200bps
SCON D7 D6 D5 D4 D3 D2 D1 D0 98H SM0 SM1 SM2 REN TB8 RB8 TI RI SM0, SM1 选择串口工作方式 0 0 方式0,
移位寄存器 波特率 fosc/12 0 1 1.8位异步通信模式 波特率可变 1 0 2.9位异步通信模式 fosc/32或fosc/64 1 1 3.9位异步通信模式 波特率可变
SM2多设备通信,REN是否允许接收,TB8、RB用于9位异步通信,TI允许发送给0,RI表示允许接收0
ex: SCON=0x50; //0101 0000
方式1和方式3:T1的初值=256-fosc2SMOD/(12波特率*32)
TXD: 发送数据端
RXD: 接收数据端
晶振频率为11.0592MHz
中断系统
中断源和中断请求
1.外部中断 ~INT0 和 ~INT1
外部引脚P3.2和P3.三、输入,两种触发方式:电平触发和边缘触发。特殊功能寄存器TCON管理
TCON D7 D6 D5 D4 D3 D2 D1 D0 (88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IT0(IT1): 外部中断0(或1)触发方式控制位,0电平触发方式,边缘触发法 IE0(IE1):外部中断要求标志位置
ex:
当机器周期采样边缘触发模式时P3.2(P3.3)引脚为高电平,下一个周期为低电平,IE0(IE1)置1,向cpu请求中断,cpu后硬件自动清除0
当触发电平时,如果引脚是高电平,IE0(IE1)清0,低电平置1,cpu响应后,硬件不能自动清除0。为了避免多次中断,只有在中断服务程序返回之前,引脚才能高电平,通常外部电路才能实现
2.定时/计数器T0和T1中断
当定时计数器溢出时,硬件置TF0(TF1)为1,cpu硬件在响应中断后自动清除0
3.串口中断
串行口发送标志位TI接收标志位置RI,任何一个为1,请求中断,软件清除0
允许中断和中断屏蔽
IE D7 D6 D5 D4 D3 D2 D1 D0
(A8H) EA ET2 ES ET1 EX1 ET0 EX0
EA: 中断允许控制位。0屏蔽,1开(下同) ET2:定时/计数器T2溢出中断允许位(c52) ES:串行口中断允许位置 ET1:T溢出中断允许位 EX1: 外部中断INT1中断允许位 ET0:T0 EX0: INT0
中断优先控制
IP D7 D6 D5 D4 D3 D2 D1 D0
(B8H) PT2 PS PT1 PX1 PT0 PX0
PT2:定时/计数器T2溢出中断优先级控制位(c52),1高优先级,0低优先级(下同) PS:串行口中断优先级控制位 PT1:T1 PX1: 外部中断INT1 PT0:T0 PX0: INT0
当优先级相同,默认优先级(由高到低)
外部中断0,入口编号0
定时/计数器0,1
外部中断1,2
定时计数器1,3
串行口,4
定时/计数器2,5
中断过程中不能被同级或低优先级中断,低优先级可能被高优先级中断
指令位RETI或访问IE、IP的指令时,不会响应中断
51单片机与DAC的接口
D/A转换器是把输入的数字量转换为与之成正比的模拟量的器件,输入数字量,输出模拟量
如输入的数字量为D, 输出的模拟量为V0, 则有:
V0=D*VREF
其中:VREF为基准电压, D为二进制转换为十进制的数