51单片机入门基础介绍
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,L0的按键按下时,H0变为低电平
0 0 0 0 1 1 1 0 //0xf0取反,按键按下时L0变低电平
行和列编码相加就等于键值
键值= 0xe0+0x0e;
定时计数器
51单片机有T0、T1两个定时/计数器,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 | 定时器0M1, M0 工作方式选择位
0 0 方式0, 13位定时/计数器 X=8192-N/(12/fosc)
0 1 方式1, 16位定时/计数器 X=65536-N/(12/fosc)
1 0 方式2, 8位自动重置定时/计数器 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、RB8在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.3输入,两种触发方式:电平触发及边沿触发。由特殊功能寄存器TCON管理
TCON D7 D6 D5 D4 D3 D2 D1 D0
(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IT0(IT1): 外部中断0(或1)触发方式控制位,0电平触发方式,1边沿触发方式
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:T1溢出中断允许位
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为二进制转换为十进制的数
51单片机入门基础介绍相关推荐
- 51单片机——51单片机入门基础知识
第一部分.单片机简介 MSC-51单片机指以8051为核心的单片机,由美国的Intel公司在1980年推出,80C51是MCS-51系列中的一个典型品种:其它厂商以8051为基核开发出的CMOS工艺单 ...
- 51单片机入门 - 基础知识汇总
博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...
- 51单片机入门指南-基于STC89C52(持续更新)
一.环境介绍 编程IDE: keil5 单片机型号: STC89C51/52 开发板: 普中科技的开发板 完整PDF资源下载地址: https://download.csdn.net/download ...
- 51单片机入门教程学习笔记
基于江科大自化协B站教学视频<51单片机入门教程-2020版 程序全程纯手打 从零开始入门> 一.单片机介绍 单片机,英文Micro Controller Unit,简称MCU 内部集成了 ...
- 51单片机入门教程(5)——定时器中断
51单片机入门教程(5)--定时器中断 一.中断的概念 二.定时器中断 2.1 软件延时的不足 2.2 中断寄存器 2.2.1 中断允许控制寄存器 IE 2.2.2 定时器工作方式寄存器 TMOD 2 ...
- 51单片机入门学习小结(流水灯与数码管)
51单片机入门学习小结(流水灯与数码管) 对原理图的分析 以下是我所用单片机的原理图 这块51单片机一共有4个I/O口(意思为input/output),也代表着如果我们后续都要用到这四个的话那么功能 ...
- 51单片机入门指南系列:一、前期准备
51单片机入门指南系列:一.前期准备 51单片机学习步骤 为什么我用的是52单片机,大家也说它是51? 编译环境 单片机入门书籍 购买实物开发板 51单片机学习步骤 51单片机是嵌入式学习的入门级芯片 ...
- 单片机原理与实践学习记录之51单片机硬件基础
单片机原理与实践学习记录 第三课(更新时间:2021.9.6) 51单片机硬件基础 MCS-51是Intel公司生产的一个单片机系列的总称.在功能上,该系列单片机有基本型和增强型两大类,通常以芯片型号 ...
- C语言极速学习开发——51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学习的精神之灯-下)
系列文章目录 提示:本文章为系列文章,系列文章的所有文章的目录后期会时刻更新,喜欢的朋友请收藏好 <第一章 C语言极速学习开发--51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学 ...
最新文章
- 给你的博客添加个看电影的频道
- Linux 网络编程详解二(socket创建流程、多进程版)
- python多层数组合成一个数组后循环打印出数组内的每一项元素的方法
- 三十四、深入Java中的泛型(上篇)
- 【软件工程】数据流图初探
- .NET混淆器 Dotfuscator如何保护应用程序?控制流了解一下!
- mysql.net连接器_关于mysql-connector-net在C#中的用法
- java动态代理学习笔记
- 自动化运维 Shell
- unix 网络编程全解
- 实现elementUI多语言切换
- 汽车电工及电子技术基础【1】
- java接口服务编排_Netflix Conductor : 一个微服务的编排器
- 【题解】【蓝桥杯】回文日期
- 《Windows 程序设计(第3版)》——6.7 【实例】窗口查看器
- 14个适合后台管理系统快速开发的前端框架
- R语言低级绘图函数-rect
- 【IoT】物联网NB-IoT之移动oneNET平台简析
- html左侧导航栏制作,20个巧用侧边栏的网页设计作品
- Qt设计师类setupUi报内存错误可能原因