You are on page 1of 8

單片機學習

第四章
1. 端口結構
2. 端口常用方式

并行IO
八位准双向口
包括一个锁存器,一个输出驱动器,一个输入缓冲器

有片外扩展的情况下:P2是高八位地址线,P0分时作为低八位地址线
和双向数据总线
1. P1不能IO
2. P1只能作为IO P1.0,P1.1除外
3. P2可以IO,也需要作为地址线
4. P3有功能,也不太能IO

IO端口的作用
1. 速度匹配
2. 传输方式
3. 改变性质和电平

外部编址
1. 端口单独
2. 端口和储存器统一编址

优缺点????????

传送方式
同步、异步、中断、DMA传送

P0口
1. I/O用,八位地址、数据线用
2. 三个状态:高电平、低电平、高阻

P3口
口 功能 信号

P3.0 RXD 串行数据接收

P3.1 TXD 串行数据发送

P3.2 INT0 外部中断0

P3.3 INT1 外部中断1

P3.4 T0 定时计数器0

P3.5 T1 定时计数器1

P3.6 WR 外部RAM写选通

P3.7 RD 外部RAM读选通

两种读法
1. 读锁存器、读引脚

中断
中断结构:
INT0,T0,INT1,T1,TI/RI 中断请求源
中断标志寄存器:TCON
中断允许寄存器:IE
中断优先级寄存:IP
查询硬件、全局中断允许

中断请求:
TCON中有四位与外部中断有关,四位与内部有关
SCON中有两位与串口有关
内部中断:定时计数器0、1 ,串口中断

TCON 中断标志 88H


TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

溢出中断 硬件 开闭控制 Time inter方式 请求 软件 硬件

溢出发生中断了为1

IE1 = 0 低电平触发 = 1 负跳变触发

如果定时器中断,并不需要人操作溢出标志位
如果软件查询,需要用软件清0

SCON
后两位是 TI RI 串行口 :发送、接收中断

IE 中断允许:1允许,0拒绝
EA ES ET1 EX1 ET0 EX0

中断总控制位 串行 T1控制 INT1控制 T0控制 INT0控制

IE = 85H即仅允许INT1 和 INT0

中断限制
不能传参数,一般为void
不能直接调用
调用了其他函数需要保证寄存器相同

优先级
INT0>T0>INT1>T1>TI/RI
IP可在设置优先级:

PS PT1 PX1 PT0 PX0

TI/RI T1 INT1 T0 INT0

中断响应
清楚请求标志,保护断点,保存PC中的地址。
寻找中断入口,查询中断地址送入PC
执行中断处理
返回主程序

不能中断:
处理更高优先级
处理不可打断的指令
执行返回或正在访问IP IE寄存器

中断地址:
0003H 0013H 0023H

000BH 001BH

定时器
TMOD 定时器工作方式寄存器 89H,不能按位寻址
定时/计数器1 定时/计数器0

GATE C/T M1 M0 GATE C/T M1 M0

m1m0 == 00 13位,8192 方式0


m1m0 == 01 16位,65536 方式1
m1m0 == 10 8为自动重装定时计数器 方式2 256
m1m0 == 11 分成两个8位置,256 方式3
CT == 0 定时 CT == 1 计数

GATE == 0 不受外部控制
GATE == 1 受到控制,如果高电平开始计数,低电平停止

定时器中断步骤
1. 设置TMOD
2. 计算TH0 TL0
3. 打开IE
4. 运行定时器 TCON

N = 定时时长/机器周期

TH.x = (8192 - N)/32; TL.X = (8192 - N)%32

5000,50000,200

方式的区别
方式2:精度高,不适合长时间,编程麻烦,影响精度。

方式3:只适用于T0,智能用于定时,使用TR1 和 TF1

T1 可以工作在0,1,2 但是不能使用中断

串行通信接口
异步传输:
不连续,不固定,可以连续可以间断,停止位后,线路保持为“1”,代表总线空闲。

同步传输:
发送方提供始终,双方保持同步,51只能分时复用
格式为数据块,包含同步、数据和校验

波特率
每秒的二进制的位数

SCON 串口控制寄存器
SM0 SM1 SM2 REN TB8 RB8 TI RI

串行口工作 多机通信控 允许接 发送数据第 接 发送 接


--
选择 制位 收位 九位 收 中断 收

TB/RB8在 SM2 == 0 时,为发送数据的奇偶标志位


SM2 == 1 RB8 == 1 是地址,RB8 == 0 是书籍信息,由用户控制

发送中断是 SBUF空了,接收中断是 SBUF 满了 ,均需要用户软件清零


SM2 == 1 接受RB8 时候,判断是 RB8是否为0,为1 才 送入,修改RI,产生中断
SM2 == 0 接受RB8 的时候,不判断,直接送入SBUF,RI = 1;产生中断
PCON 电源控制寄存器
只有最高位 SMOD = 1 时候,波特率提高一倍,否则为原值
不能按位寻址

不太关心 后四位是啥,后四位有意义

串行四种工作方式

UART 方式0
作为八位移位寄存器使用,波特率 : Fosc /12;

RXD从低位开始写入,TXD用来发送同步移位脉冲
不支持全双工

RXD 数据

TXD 移位脉冲

UART方式1
10位数据的异步通信口
RXD 数据接收引脚,TXD 数据发送引脚
一位起始,八位数据,一位停止

UART方式2、3
11位数据异步通信口
RXD数据接收引脚,TXD数据发送引脚
数据有 9 位

总结
方式1,3 的波特率要看定时器溢出率
方式0波特率:Fosc /12;
方式2波特率:2^SMOD/64 * Fosc
方式1、3波特率:2^SMOD/32 * (定时器溢出率)

T1作为波特率发生器的时候,最常用是T1工作在自动再装入的8位定时器(方式2)
使得溢出率取决于TH1中的计数值

T1 溢出率 = Fosc / {12 * [ 256 - (TH1) ]}

九章:输出设备
LED参数
允许功耗、最大正向直流电流、最大反向电压、工作环境

流水灯
数码管
静态驱动 - 直流驱动
动态驱动- 同名连在一起,分别控制

直流电机
优点

1. 调速范围广,容易平滑
2. 过载、起动、制动 转矩大
3. 易于控制、可靠性强
4. 调速能量损耗小
调速方法:

1. 改变磁通量
2. 改变电压
3. 改变转子绕阻回路电阻

步进电机
将脉冲信号转变为角位移或线位移,并以此驱动旋转的角度
转速、停止只取决于脉冲信号的频率和脉冲数

步距角
步距角 = 360/(齿数*拍数)

PWM 脉冲宽度调制
一系列占空比不同的矩形脉冲,占空比与信号的瞬时采样值成比例。

编程实现!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
生成占空比特定的PWM

十张,扩展
8255A
24条IO,分别位ABC
8条数据线,数据和控制命令传输
2条地址线
ABC对应的三个端口寄存器 PA PB PC
读写信号控制线

三种工作方式:
方式0 基本输入输出
PC分成两部分,上半口,可分别设置方向,啥都能干就是了

方式1 选通
PA、PB被设定为输入或输出口,PC分成两部分,作为控制和同步信号
PC高四位给A,为A组
PC低四位给B,为B组

方式2 双向总线
仅PA口可以工作这个方式,既可输入,也可输出
PC3~PC7用作同步控制
此时PB可以工作于方式0或方式1

控制字

系统储存器扩展
程序储存器扩展
比较方便,基本是加一篇并行接口的芯片或串行的
串行的因为比较方便,占用引脚少,所以比较好用

总线及总线信号
地址总线AB
数据总线DB
控制总线CB

系统扩展
1. 连线:数据连数据,地址连地址,控制连控制
2. 程序储存器接PSEN,数据储存期接RD和WR
3. 片选信号有效,芯片才选中工作
4. 只有一个的时候,片选可接地,否则要译码

扩展编址
1. 线选法:连线简单,地址映像不唯一,资源浪费严重
2. 译码法:对高八位译码产生扩展芯片的片选信号的译码方法
3. 分为:部分译码和全译码

十一章:外围芯片
DA 转换器:DAC 数模转换
T形,倒T形,权电阻,权电流,权电容,开关树

指标:

1. 分辨率
2. 转换精度
3. 转换时间

工作方式:直通、单缓冲、双缓冲

AD转换
指标:
1. 分辨率
2. 量化误差
3.

十二章:总线控制线、通信过程、起止应答信

You might also like