1.23k likes | 1.35k Vues
第 8 章 单片机多功能接口技术 8.1 实 训 概 要 通过前面的讨论和实际训练,我们已经掌握了 MCS-51 单片机的基本原理、系统扩展方法和程序设计技巧,学习了各单元电路的基本工作原理及使用。本章通过典型实例,介绍各部分功能电路在实际中的应用。. 实训内容: 电子音乐 交通信号灯控制 产品数量显示 电脑时钟 I2C 存储卡读写. 预备知识: 1 .电子音乐 ( 1 )乐曲播放原理:
E N D
第8章 单片机多功能接口技术 8.1 实 训 概 要 通过前面的讨论和实际训练,我们已经掌握了MCS-51单片机的基本原理、系统扩展方法和程序设计技巧,学习了各单元电路的基本工作原理及使用。本章通过典型实例,介绍各部分功能电路在实际中的应用。
实训内容: 电子音乐 交通信号灯控制 产品数量显示 电脑时钟 I2C存储卡读写
预备知识: 1.电子音乐 (1)乐曲播放原理: 将乐曲的音符号、节拍制作成一个乐曲表,编制一个乐曲处理程序,通过查乐曲表,用得到的定时常数去控制定时器产生相应频率的信号,即发出相应频率的声音。再控制延迟常数来控制该信号的延续时间。待时间一到,再查下一个音符。 (2)频率—定时常数表: 表8-1为频率—定时常数表。表中,数字下面带下划线的表示低音,带边框的表示高音,既不带下划线也不带边框的表示中音。
(3)节拍的确定: 确定节拍之前,首先纵览整个乐曲,将最小节拍的时间常数定为1。例如,若一首乐曲的最小节拍为1/4拍,则可以确定其时间常数为1,则1/2拍的时间常数则为2,1拍的时间常数则为4,依此类推。
2.电脑时钟 (1)资源分配 要想在LED显示器上显示时、分、秒,首先在单片机片内RAM中要设置两个缓冲区。一个是显示缓冲区,用来存放输入的起始时间;另一个是计数缓冲区,用来存放十、分、秒的十进制数值,以便计时。此外,还设置一个单元存放0.1秒的计数结果。定时器可以产生0.1秒的定时时间,再循环10次,得到1秒定时。 (2)程序设计思想 整个程序设计由主程序和多个子程序组成。
主程序的功能:主程序要对多功能接口电路8155和定时器进行初始化,同时要检验输入的时间初始值是否符合要求。符合要求,则调用显示子程序,循环显示,并等待中断;否则,停止执行,或要求重新输入。主程序的功能:主程序要对多功能接口电路8155和定时器进行初始化,同时要检验输入的时间初始值是否符合要求。符合要求,则调用显示子程序,循环显示,并等待中断;否则,停止执行,或要求重新输入。 在显示子程序实现显示时间初始值后,可以把字形显示关掉,这样不会影响以后的字形显示。 拆字子程序功能:当把时间初始值送入显示缓冲区时,实际上是把一个2位BCD码数拆开送入两个字节单元。需调用拆字子程序。 合字子程序功能:当主程序核对输入的时间初始值是否合法时,要调用合字子程序将显示缓冲区内数字合并,以便和24、60等数比较。
中断服务子程序功能: 中断服务子程序完成计时功能。每当中断一次,0.1秒单元内容加1。当其内容为10时,产生1秒定时,使秒单元内容加1,当秒单元为60时,分单元内容加1。分单元为60时,时单元内容加1。当然,秒、分、时加1时,各单元内容应分别复零。 3.I2C存储卡读写 IC卡AT24C01A的结构及引脚排列 IC卡AT24C01A的结构及引脚排列如图8-1所示。
(2)AT24C01A简介 AT24C01A存储卡,是一种不具备加密功能的EEPROM卡,AT24C为系列号,使用方法与 EPROM完全相同,存储结构简单,只有读写两种操作功能,主要用于存放一些保 密性要求不高的数据。 AT24C01A的工作频率为lMHz(5V),lMHz(2.7V),400KHz(1.8V);工作电 压为5V士l0%,根据要求最低可至1.8V;Icc电流读最大为lmA,写最大为3mA: 写/擦除次数为l00万次;数据保持100年;工作温度为0-70℃,根据要求可超过 指定工作温度;通讯协议符合ISO/IEC 7816-3同步协议,双向串行接口。
8.2 实训36 电子音乐 8.2.1 实训目的 通过本节实训,主要学习下面内容: 掌握定时/计数器的综合应用。 中断技术在实际中的应用。
8.2.2 实训要求 利用定时/计数器的发声原理使单片机发出有节奏的声音,播放出乐曲。 8.2.3实训器材 MCS-51单片机开发系统 、扬声器 8.2.4 硬件电路原理图 电子音乐实训电路如图8-2所示。
8.2.5 实训步骤 (1)按图8-2连接电路,将扬声器经功率放大器LM386与P1.0相连。 (2)理解实训程序,为每条指令加注释。 (3)将程序汇编成机器语言,送入单片机器系统中。 (4)连续执行程序,收听单片机播放的乐曲。 (5)调节乐曲的节奏,使之与原曲相符。 (6)编写并播放另一首乐曲。 8.2.6 程序流程及实训程序 实训程序流程及实训程序分别如图8-3和表8-2所示。
提示: 要实现电子音乐播放,对定时/计数器基本知识要牢固掌握。 音乐乐理方面的知识要了解,例如音调、节拍等。 功率放大器电路LM386引脚图请查阅有关资料。
8.3 实训37 交通信号灯控制 8.3.1 实训目的 通过本节实训,主要学习下面内容: 掌握多功能接口电路8255A的使用。 学习8255A的编程序方法。
8.3.2 实训要求 设计一个交通岗信号灯模拟系统。要求:当主干道绿灯亮时,支路红灯亮,且LED显示器从60秒递减,减至0时,两路黄灯亮,LED显示器从10秒递减,减至0时,主干道红灯亮,LED从30秒递减,依此循环。 8.3.3 实训器材 MCS-51单片机开发系统、8255A、74LS373、74LS47、LED显示器、发光二极管等。 8.3.4 设计思想 1.红绿灯部分: 交通信号灯实际分布示意图如图8-4所示,红绿灯部分的软件设计见表8-3所示。
红 黄 绿 绿 黄 红 主 干 道 支 路 2.时间显示部分:时间显示程序流程如图8-5所示。
开始 初始化:P1口送入初始值 BCD码-1 计数完成否? 8.3.5硬件电路原理图 实训硬件电路如图8-6所示。
8.3.6实训步骤 (1)按图8-6连接电路,接好两路交通信号灯发光二极管及时间显示器件LED七段显示器。 (2)理解实训程序,为每条指令加注释。 (3)将程序汇编成机器语言,送入单片机器系统中。 (4)连续执行程序,观察两路发光二极管的亮灭变化及相应LED显示。 (5)修改程序,调整发光二极管的时间及LED的显示时间。 8.3.7.实训程序 实训程序见表8-4所示。
提示: 程序设计时,必须考虑红绿灯的位置及其与8255的PA口接线,位置不能错误。 8255各端口地址必须与其硬件电路的连线相对应。 时间显示部分的译码驱动器一定要与LED显示器件相匹配。
8.4 实训38 产品数量显示 8.4.1 实训目的 通过本节实训,主要学习下面内容: 了解串行通信技术在生产实际中的应用。 将定时/计数器、中断控制、串行通信等知识应用在生产实际中。 8.4.2 实训要求 设计一个生产进度显示板,当生产线上完成一台合格产品时,显示板上有显示。
8.4.3.设计思想 设置两台单片机,一台作为主机,一台为从机。合格产品可以通过自动计数装置从主单片机的输入,产生一个低电平,作为主机中断请求信号。主单片机响应中断后,将片内RAM30H单元内容加1,经串行口传送给从机。从机接收数据,产生串行口中断,将接收到的数据送显示缓冲区单元79H显示。
8.4.4实训器材 MCS-51单片机开发系统2台 8.4.5硬件电路原理图 实训硬件电路如图8-7所示。