单片机51实习报告之电子钟(编辑修改稿)内容摘要:

、计数器,中断系统及特殊功能寄存器。 ( 1) AT89C52单片机的结构 图 21 图 21 是 AT89S51 单片机引脚配置图 , 40 个引脚中,正电源和接地两根,外置石英振荡器的时钟线两根, 4组 8位共 32 个 I/O 口,中断口线与 P3口线复用。 引脚说明如下: ① Pin20 :接地线 ② Pin40 : 正电源接脚。 正常工作或对片内 EPROM 烧写程序时, AT89S51 可以接 ~ 范围内的直流正电源,一般取代 +5V 作为电源 使用 ③ Pin19 : 时钟 XTAL1 脚,片内振荡电路的输入端 ④ Pin18 : 时钟 XTAL2 脚,片内振荡电路的输出端 ⑤输入 /输出( I/O)引脚 : Pin39~Pin32为 ~ 入 /输出脚, Pin1~Pin8为 ~ 输入 /输出脚, Pin21~Pin28 为 ~ 输入 /输出脚,Pin10~Pin17 为 ~ 输入 /输出脚。 ⑥ Pin9 : RST 复用信号复用脚。 (当单片机通电后,时钟电路开始工作,在 RST引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。 初始化后,程序计数器 PC 指向 0000H , P0~P3 输出口全部为高电平,堆栈指针写入 07H,其他专用寄存器被清“ 0”, RST 由高电平变为低电平后,系统即从 0000H 地址开始执行程序。 ⑦ Pin30 : ALE/PROG ALE,当访问外部程序存储器时, ALE(地址锁存)的输出用于锁存地址的低字节,而访问内部程序存储器时, ALE 端将有一个 1/6时钟频率的正脉冲信号,这个信号可以识别单片机是否在工作,也可以当作一个时钟周期向外输出;还有一个特点,当访问外部程序存储器时, ALE 会跳过一个脉冲。 如果单片机是 EPROM 在编程期间, PROG 将用于输入编程脉冲。 ⑧ Pin29 : PESN,当访问外部程序存储器时,此引脚输出负脉冲选通信号, PC 3 的 16 位地址数据将出现在 P0和 P3口上,外部程序存储器则把指令数 据放到 P0口上,由 CPU 读入并执行。 ⑨ Pin31 : EA/ VPP,程序存储器的内外部选通线。 ( 2) AT89S51 单片机的内部结构 AT89S51 内部结构图 a、 中央处理器( CPU):主要由运算器和控制器构成;运算器主要包括算术与逻辑运算部件 ALU,累加器 ACC,寄存器 B, 存器 TMP1 和 TMP2,程序状态字寄存器 PSW、布尔存储器和十进制调整电路等 b、 存储器:由片内程序存储器和片外程序存储器,片内数据存储器、片外数据存储器。 c、 输入 /输出( I/O)端口:由并行 I/O端口和串行 I/O 端口 d、 定时 /计数器 e、 中断系统 4 五 、 SPI总线简介 概述 . SPI, Serial Perripheral Interface, 串行外围设备接口 , 是 Motorola 公司推出的一种同步串行接口技术 . SPI 总线在物理上是通过接在外围设备微控制器 (PICmicro) 上面的微处理控制单元 (MCU) 上叫作同步串行端口(Synchronous Serial Port) 的模块 (Module)来实现的 , 它允许 MCU 以全双工的同步串行方式 , 与各种外围设备进行高 速数据通信 . SPI 主要应用在 EEPROM, Flash, 实时时钟 (RTC), 数模转换器 (ADC), 数字信号处理器 (DSP) 以及数字信号解码器之间 . 它在芯片中只占用四根管脚 (Pin) 用来控制以及数据传输 , 节约了芯片的 pin 数目 , 同时为 PCB 在布局上节省了空间 . 正是出于这种简单易用的特性 , 现在越来越多的芯片上都集成了 SPI 技术 . 特点 ( 1) 采用主 从模式 (MasterSlave) 的控制方式 SPI 规定了两个 SPI 设备之间通信必须由主设备 (Master) 来控制次设备 (Slave). 一个 Master 设备可以通过提供 Clock 以及对 Slave 设备进行片选 (Slave Select) 来控制多个 Slave 设备 , SPI 协议还规定 Slave 设备的 Clock 由 Master 设备通过 SCK 管脚提供给 Slave 设备 , Slave 设备本身不能产生或控制 Clock, 没有 Clock 则 Slave 设备不能正常工作 . ( 2) 采用同步方式 (Synchronous)传输数据 Master 设备会根据将要 交换的数据来产生相应的时钟脉冲 (Clock Pulse), 时钟脉冲组成了时钟信号 (Clock Signal) , 时钟信号通过时钟极性 (CPOL) 和 时钟相位 (CPHA) 控制着两个 SPI 设备间何时数据交换以及何时对接收到的数据进行采样 , 来保证数据在两个设备之间是同步传输的 . ( 3) 数据交换 (Data Exchanges) SPI 设备间的数据传输之所以又被称为数据交换 , 是因为 SPI 协议规定一个 SPI 设备不能在数据通信过程中仅仅只充当一个 发送者 (Transmitter) 或者 接收者 (Receiver). 在每个 Clock 周期内 , SPI 设备都会发送并接收一个 bit 大小的数据 , 相当于该设备有一个 bit 大小的数据被交换了 . 5 一个 Slave 设备要想能够接收到 Master 发过来的控制信号 , 必须在此之前能够被 Master 设备进行访问 (Access). 所以 , Master 设备必须首先通过 SS/CS pin 对 Slave 设备进行片选 , 把想要访问的 Slave 设备选上 . 在数据传输的过程中 , 每次接收到的数据必须在下一次 数据传输之前被采样 . 如果之前接收到的数据没有被读取 , 那么这些已经接收完成的数据将有可能会被丢弃 , 导致 SPI 物理模块最终失效 . 因此 , 在程序中一般都会在 SPI 传输完数据后 , 去读取 SPI 设备里的数据 , 即使这些数据 (Dummy Data)在我们的程序里是无用的 . 工作机制 上图只是对 SPI 设备间通信的一个简单的描述 , 下面就来解释一下图中所示的几个组件 (Module): SSPBUF, Synchronous Serial Port Buffer, 泛指 SPI 设备里面的内部缓冲区 , 一般在物理上是以 FIFO 的形式 , 保存传输过程中的临时数据。 SSPSR, Synchronous Serial Port Register, 泛指 SPI 设备里面的移位寄存器 (Shift Regitser), 它的作用是根据设置好的数据位宽 (bitwidth) 把数据移入或者移出 SSPBUF。 Controller, 泛指 SPI 设备里面的控制寄存器 , 可以通过配置它们来设置 SPI 总线的传输模式 . 通常情况下 , 我们只需要对上图所描述的四个管脚 (pin) 进行编程即可控制整个 SPI 设备之间的数据通信 : 6 SCK, Serial Clock, 主要的作用是 Master 设备往 Slave 设备传输时钟信号 , 控制数据交换的时机以及速率。 SS/CS, Slave Select/Chip Select, 用于 Master 设备片选 Slave 设备 , 使被选中的 Slave 设备能够被 Master 设备所访问。 SDO/MOSI, Serial Data Output/Master Out Slave In, 在 Master 上面也被称为 TxChannel, 作为数据的出口 , 主要用于 SPI 设备发送数据。 SDI/MISO, Serial Data Input/Master In Slave Out, 在 Master 上面也被称为 RxChannel, 作为数据的入口 , 主要用于 SPI 设备接收数据。 SPI 设备在进行通信的过程中 , Master 设备和 Slave 设备之间会产生一个数据链路回环 (Data Loop), 就像上图所画的那样 , 通过 SDO 和 SDI 管脚 , SSPSR 控制数据移入移出 SSPBUF, Controller 确定 SPI 总线的通信模式 , SCK 传输时钟信号 . 六 、 74HC595简介 74HC595 是 8 位串行输入 /输出或者并行输出移位寄存器,具有高阻关断状态。 特点: ( 1)、 8 位串行输入 ( 2)、 8 位串行或并行输出 ( 3)、 存储状态寄存器,三种状态 ( 4)、 输。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。