| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 【蓝桥杯】——单片机外部扩展应用和IIC总线基础 -> 正文阅读 |
|
[嵌入式]【蓝桥杯】——单片机外部扩展应用和IIC总线基础 |
目录 ? 一、单片机系统扩展(一)单片机系统扩展的概念8051单片机扩展外部存储器或I/O口采用总线分时复用方式 1、单片机系统扩展方式单片机系统扩展方式一般有片内扩充、片外串行总线扩展和片外并行总线扩展。 片内扩充:重视单片机选型,根据不同的应用,选择不同性能的单片机芯片。 片外串行总线扩展:主要为了弥补片内资源不足,一般选择串口总线扩展。 片外并行总线扩展:通过单片机的三总线实现对外部并行器件的扩展连接。 2、单片机系统总线(1)数据总线 数据总线用于在单片机与扩展的外部器件之间传输数据,是数据传输的通道,总线位数外8位。 (2)地址总线 地址总线用于单片机向外发出地址信号,选择要访问的外部扩展器件或存储单元,地址总线是单向总线,只能由单片机向外发出。 (3)控制总线 控制总线实际上市一组控制信号线,可以有单片机产生并发出,也可以有外部器件产生并传送给单片机,每个控制信号都是单向传送。 单片机扩展常用的控制信号如下: ALE:地址锁存信号,用以实现对低8位地址的锁存。 PSEN:对片外程序存储器输出的取指令信号。 RD:对片外数据存储器或端口输出的读信号。 WR:对片外数据存储器或端口输出的写信号。 (二)单片机系统的的I/O端口扩展输入/输出(I/O)端口是单片机与外部设备交换数据的桥梁。 1、I/O接口的分类I/O接口分为串行I/O接口和并行I/O接口。 串行I/O接口采用逐行串行移位的方式传输数据,适用于速度要求不高的串行设备接口。 并行I/O接口采用并行方式传输数据,可以与外设高速传输数据。 2、I/O接口的功能(1)数据传输速度匹配。 (2)输出数据锁存。 (3)输入数据三态缓冲。 (4)信号或电平变换。 3、I/O接口与端口的区别I/O接口是CPU与外界的连接电路,是CPU与外界进行数据交换的通道,外设输入原始数据或状态信号,CPU输出运算结果或发出命令等都要通过I/O接口电路。 I/O端口是CPU与外设直接通信的地址,通常是把I/O接口电路中能够被CPU直接访问的寄存器或缓冲器为端口。 4、I/O端口编址I/O端口编址有独立编址方式和统一编址方式。 5、单片机与外设间的数据传送方式单片机与外设间的数据传送方式有同步、异步和中断三种方式。 (1)同步传送方式 采用同步传送方式,要求单片机与外设的速度相差不大,以实现同步无条件的数据传送。 (2)异步传送方式 由于单片机与外设的速度相差较大时,采用异步传送方式,以查询外设的状态进行有条件的传送数据。其通用性好。 (3)中断传送方式 中断传送方式是指利用单片机本身的中断功能实现数据传送。 二、串行总线的扩展应用(一)IIC总线的基础1、IIC总线的概述IIC总线是飞利浦公司退出的芯片间串行数据传输总线,采用两线制实现全双工同步数据传送。 ? ?IIC总线有2根信号线,一根是数据线SDA,一根是时钟线SCL,且SDA和SCL均为双向信号线。 2、IIC总线的信号以及时序定义(1)总线上数据的有效性 在IIC纵向上传输数据时,时钟线(SCL)为高电平期间,数据线(SDA)必须保持稳定是逻辑电平状态。其中只有在时钟信号为低电平期间,才允许数据线上的电平发生变化。 (2)数据传输的起始位和结束位。 IIC总线在传送数据过程中有三种类型信号,分别为起始信号、结束信号和应答信号。 起始信号:在时钟线(SCL)为高电平期间,数据线(SDA)出现有高电平向低电平跳变时,启动IIC总线,开始传送数据。?在起始信号之后,必须是器件的控制字节,即设备地址,其中高4位是对应器件件的类型识别符,紧接着3位是片选信号,最后1位是读写控制位,读操作为1,写操作为0。 结束信号:在时钟线(SCL)为高电平期间,数据线(SDA)出现有低电平向高电平跳变时,停止IIC总线,结束传送数据。 应答信号:当IIC总线传输数据时,每传送一字节数据后必须跟随等待一个应答信号,即接收器在接收在接收到一字节数据后,向传送器发出特定的低电平信号,表示已收数据。 3、 IIC总线协议?IIC总线协议规定,每次传送一个字节数据,都要有一个应答信号,以确定数据传送是否被对方收到。 三、IIC总线驱动程序设计总线时序设计IIC接口的驱动成一般包括:起始信号、停止信号、产生应答、等待应答、发送数据和接收数据6个函数。 下面提供IIC总线确定程序(该程序为蓝桥杯官方提供的IIC总线驱动程序)
四、总结在蓝桥杯单片机开发与设计大赛中,官方提供了IIC总线的底层驱动代码,但是参赛选手需要了解其IIC总线的原理和其底层驱动程序相关函数的功能,才能对其涉及到的PCF8591和24C02存储器编写对应的程序,进而实现相关的功能。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:47:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |