51单片机 学习总结
2019-12-30 10:02:48 2 举报
AI智能生成
MCS—51单片机的学习笔记,整个教学重点与难点。
作者其他创作
大纲/内容
中断
概念
相关寄存器
IE、TCON、IP
51单片机的中断源
5个中断源:外部中断0、1,定时器0、1,串口中断。
中断元的优先级
中断服务函数
函数的结构:
void function_name() interrupu n using m
{
//中断处理过程
}
void function_name() interrupu n using m
{
//中断处理过程
}
定时器计数器
基本概念
51单片机有两个16位定时计数器。
计数范围:0 ~ 65535 。
系统时钟 12MHz ,定时的计数脉冲周期为 1uS (微秒),最大计数定时65.536毫秒(mS)
计数范围:0 ~ 65535 。
系统时钟 12MHz ,定时的计数脉冲周期为 1uS (微秒),最大计数定时65.536毫秒(mS)
相关寄存器
工作方式
方式1
16位 计数范围 65536
方式2
8位 、自动重装
和中断相关
定时中断,实现定时功能,可以安排轮询要执行的任务。
串口通信
概念
通讯的分类:并行通讯和串行通讯
串行通信:数据按位依次传送。
相对并行通信,串行通信速度慢。
相对并行通信,串行通信速度慢。
相关寄存器
发送
接受
多机通讯
c51 编程
变量类型
函数
数组
概念
一维数组
二位数组
字符串数组
更高维的数组
程序结构
顺序结构
选择结构
分支结构
循环结构
分支和循环的控制类
指针
概念
与数组的关系
函数指针
结构体
定义和概念
结构体变量
结构体指针
结构体的初始化
结构体变量的引用
宏定义和头文件
# include <reg51.h> 详解
#define DEBUG 1
#define uchar unsigned char
#iinclude lcd1602.h
#ifndef _SMG_H_
#define _SMG_H_
//
//
#endif
#define _SMG_H_
//
//
#endif
LED1602 显示
模块资料
LCD1602 相关函数
实例
ADC DAC
ADC
ADC0809
DAC
DAC0832
波形数据
串行存储
I2C总线
AT24C02:2K位/256字节
PSI总线
W25Q80:8M位/1M字节
单片机基础知识
逻辑电路与逻辑运算
寄存器、译码器、存储器
二进制、十六进制、数制间的转换
数值与编码、ASCII码,奇偶校验
单片机的结构框图
CPU
CPU 由运算器和控制器组成,按运算二进制位数分为:4位、8位、16位、32位、64位。
MCS-51单片机是8位,一次能进行8位二进制的加减乘除运算。
MCS-51单片机是8位,一次能进行8位二进制的加减乘除运算。
ROM
Read Only Menory 的缩写。
只读存储器。
用来存放程序、常数、固定的表格。
运行过程中,只能读取,不能改写。
只读存储器。
用来存放程序、常数、固定的表格。
运行过程中,只能读取,不能改写。
RAM
随机访问存储器
用来存放变量数据、程序运行的中间结果。掉电后内容丢失。
定时器 计数器
两个16位定时计数器。
偶四种工作方式:
方式0:13位计数
方式一:16位计数
方式二:自动重装,8位计数
方式三:定时器0有此方式,定时器1用来产生波特率发生器
方式0:13位计数
方式一:16位计数
方式二:自动重装,8位计数
方式三:定时器0有此方式,定时器1用来产生波特率发生器
中断
中断系统:CPU智翁在执行程序时,由于硬件的原因,暂时停下当前的程序,转去执行相应的中断服务程序,中断程序执行完毕,再返回断点继续执行原程序。
中断系统提高了CPU的运行效率,对事件实时响应,可以实现故障调试。
串行通信
51单片机有一个全双工串行异步通信接口
并行接口
P0
是一个8位的,准双向I/O接口。
在系统扩展时,复用作地址低8位和数据总线。
用作I/O接口时,需要外接上拉电阻。
在系统扩展时,复用作地址低8位和数据总线。
用作I/O接口时,需要外接上拉电阻。
I/O接口的上拉电阻,一般选择4.7K~10K oumu.
P1
51单片机的I/O借口。
内部有上拉电阻,无需外接上拉电阻就可以正常使用
不具备第二功能,没有扩展总线。
单纯的输入输出接口 (GPIO)
P2
P3
P3.0 P3.1
P3.2 P3.3
^^^^
子主题
最小系统
系统时钟 振荡电路
复位电路
上电复位
手动复位
EA引脚 接高电平
存储器和特殊功能寄存器
RAM
ROM
SFR (21个)
P0 P1 P2 P3
TMOD
TCON
IE --EA
SCON
子主题
端口操作
P0
sbit LED=P0^0; //定义 LED 为可寻址位,表示接在P0.0 上的 LED。
P0=0x5A; //在P0口输出一字节。
LED=0; //P0.0输出低电平,LED二极管的阳极接电源,阴极通过限流电阻接P0.0,二极管发光点亮。
P0=0x5A; //在P0口输出一字节。
LED=0; //P0.0输出低电平,LED二极管的阳极接电源,阴极通过限流电阻接P0.0,二极管发光点亮。
P1
P2
P3
点亮一个LED发光二极管
8LED发光二极管流水灯显示
8LED发光二极管流水灯显示
数码管显示
数码管的结构
数码管的分类
共阳极数码管
共阴极数码管
动态显示与多位数码管
LED点阵
8X8点阵
LED点阵显示ASCII字符
16X16点阵显示汉字
按键输入
独立按键
矩阵键盘
收藏
0 条评论
下一页