微机原理设计报告.docx

上传人:小飞机 文档编号:1857585 上传时间:2022-12-22 格式:DOCX 页数:56 大小:1.30MB
返回 下载 相关 举报
微机原理设计报告.docx_第1页
第1页 / 共56页
微机原理设计报告.docx_第2页
第2页 / 共56页
微机原理设计报告.docx_第3页
第3页 / 共56页
微机原理设计报告.docx_第4页
第4页 / 共56页
微机原理设计报告.docx_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《微机原理设计报告.docx》由会员分享,可在线阅读,更多相关《微机原理设计报告.docx(56页珍藏版)》请在三一办公上搜索。

1、 微机原理设计报告 创新型实验设计报告题 目 基于蓝牙通信的无线控制系统 学 院 自动化学院 专 业 电气工程及其自动化 成 员 陈 旭 3012203270 吴海成 3012203292 指导教师 刘迎澍 摘 要随着现代互联网技术的发展,物联网和智能家居概念开始逐步发展。智能家居是以住宅为平台,利用综合布线技术、网络通信技术、自动控制等技术将生活有关的设施集成,构建高效的住宅设施与家庭日程管理系统,提升家居安全性、便利性,并能实现环保节能的居住环境。蓝牙技术是一种尖端的开放式无限通讯标准,蓝牙无线技术使用全球通用的频带(2.4GHz)蓝牙成本低,体积小,比802.11协议更具有移动性,并且一

2、般的手持平台(手机,PC机,Pad)均具有蓝牙功能。本系统是典型的蓝牙无线通信控制系统,包括手持设备指令的发送、处理系统的接收、处理、和功能的具现化。本文基于市场常见的蓝牙通讯模块(HC-06)和8086微机实验平台结合,利用现有的资源实现简单的基于蓝牙通信的无线控制系统的搭建。关键词:蓝牙;8086微机平台;串口通信目录第一章 绪论1.1 课程介绍1.2 题目简介第12二章 硬件结构2.1 硬件组成2.2 芯片简介2.2.1 8255芯片2.2.2 8253芯片2.2.3 8251芯片2.2.4 12864液晶显示模块2.3 蓝牙接收模块第三章 软件结构3.1 程序子模块组成3.1.1 概况

3、3.1.2 模块组成3.2 程序运行详细流程3.2.1 主程序流程图3.2.2 中断子程序流程图3.2.3 3.2.4 3.2.5 3.2.6 第四章 实验总结4.1 实验现象4.2 实验感想4.3 实验分工附录程序清单第一章 绪论1.1 课程介绍微型计算机原理及接口技术是电气工程及其自动化专业的重要基础课程,具有很强的实践性。天津大学在开展微机实践教学改革的过程中开辟了学生创新型题目,这类题目在教材知识的基础上,要求学生综合运用多学科知识,结合自学,通过团队合作来共同完成,以提升同学们的自学能力、团队精神、创新意识和动手能力,为把学生培养为卓越工程师打下良好基础。1.2 题目简介本题目是设计

4、一个基于蓝牙通信的手机对PC机的控制系统,通过将手机发送的信息编码,在PC机的程序中解码,可以实现手机发送指令,PC机执行相应功能的目的。我们利用微机开发试验箱共设计了四种功能:数码管显示输入数字、电机运动与停止、LCD屏显示英文与数字、LCD屏显示汉字报文。运行程序后,通过输入命令字可进入相应的功能中,然后根据功能可输入数字、英文、汉字的编码,即可实现相应的显示或动作。本题目的设计特色主要用两点。一、通过手机终端的智能控制是家居智能化的一个方向,目的是通过手机等终端发送指令,实现对电器设备的控制。本题目实现了手机控制PC机做出响应动作,而蓝牙的有效范围为10米,因此可以实现对一个房间内电器的

5、控制,并且可以随时连接。二、蓝牙信号的接收。由于实验箱没有可接收蓝牙信号装置,因此我们接入了一个蓝牙接收模块,并设计了模块底板,将信号以串行信号发出,再通过实验箱上的串口芯片接收,自己设计相应的通信协议和传输速率。第二章 硬件结构2.1 硬件组成本课题的硬件由PC机、微型计算机实验系统、蓝牙接收模块构成。控制信号输入部分由手机通过蓝牙发出信号,蓝牙接收模块接收,并通过8251芯片将串行信号转换成并行数据传给PC机。被控部分由实验箱上的LCD屏,数码管,直流电手机蓝牙微机实验系统PC机图2-1 硬件组成原理示意图图2-2 实物连接图2.2 芯片简介2.2.1 8255芯片一、简介:8255是可编

6、程并行1/0接口芯片,有3个8位并行1/0口.具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口 A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而 8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。二、与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根DOD7。 由于8255具有3个通道A、B、C,所以只要

7、两根地址线就能寻址A、B、C 口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:(1)数据总线DB:编号为DOD7,用于8255与CPU传送8位数据。(2)地址总线AB:编号为A0A1,用于选择A、B、C口与控制寄存器。(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作对,必須先向8255发片选信号选中8255芯片, 然后发读信号或写信号对8255进行读或写数据的操作。三、与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外

8、设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则 8255可同时控制24路开关。各通道的引脚编号如下:(1)A口:编号为PA0PA7,用于8255向外设输入输出8位并行数据。(2)B口:编号为PB0PB7,用于8255向外设输入输出8位并行数据。(3)C口:编号为PC0PC7,用于8255向外设输入输出8位并行数据。当8255工作于应答I/O方式时,C 口用于应答信号的通信。四、控制器8255将3个通道分为两组。即PA0PA7与PC4PC7组成A组,PB0 PB7与PC0PC3组成B组.如图7. 5所示,相应的控制器也分为A组控制器和B组控制器,各组控制的作用如下:(1) A

9、组控制器:控制A口与上C口的输入与输出。(2) B组控制器:控制B口与上C口的输入与输出。五、8255A的引脚功能说明8255A采用40引脚的双列直插式封装。40个引脚分为与外设连接的引脚和与CPU连接引脚。(1)与外设连接的引脚 8255A与外设连接的引脚共有:PA7PA0A端口数据线,双向三态。PB7PB0B端口数据线,双向三态。PC7PC0C端口数据线,双向三态。PB7PB0和PC7PC0引脚能驱动达林顿复合晶体管(在5V时输出1mA),所以B、C端口一般作为输出端口。(2)与CPU连接的引脚8255A与CPU连接的引脚,有8根数据引脚D7D0。它们全部是双向、三态引脚,用来与数据总线相

10、连接;另外,它还有6根输入控制引脚,用来接收CPU送来的地址和控制信号。这些引脚分别是:RESET输入复位信号,高电平有效。当RESET有效时,把8255A内部所有寄存器(包括控制寄存器)全部清零,端口A、B、C自动设置为输入状态,三个端口的数据线处于髙阻状态。一旦复位后,若使8255A重新工作必须进行初始化编程。CS片选信号输入端,低电平有效。当CS =0为低电平时,8255A才被选中,才能对 8255A进行读写操作。RD读命令信号,输入低电平有效。当RD =0为低电乎时CPU对8255A进行读操作,读出或状态。WR写命令信号,输入,低电平有效。WR=0为低电平时,CPU对8255A进行写操

11、作,把数据或控制字写入8255A。A1A0端口选择信号,输入。A1A0的编码输入选择端口。8255A有四个端口地址,分别为A端口、B端口、C端口和控制寄存器。选择方法见表8.5。表8.5 8255A端口寻址及基本操作向8255A输出一写操作CSRDWRA1A0操作功能01000选择A端口,对A端口写操作01001选择B端口,对B端口写操作01010选择C端口,对C端口写操作01011对控制寄存器写入控制字向8255A输出一读操作CSRDWRA1A0操作功能00100选择A端口,对A端口读操作00101选择B端口,对B端口读操作00110选择C端口,对C端口读操作00111非法操作,数据线处于高

12、阻状态1XXXX未选中,数据线处于高阻状态2.2.2 8253芯片一、简介8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的

13、。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。二、工作原理8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。1.数据总线缓冲器数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。图2-3 8253内部原理图2.读/写控制读/写控制分别连接系统的IOR和IOW,由CPU控制着访问82

14、53的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A1和A0来选择。如表所示。(1) CS片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。(2) RD、WR读/写控制命令,由CPU输入,低电平有效。RD有效时,CPU读取由A1A0所选定的通道内计数器的内容。WR有效时,CPU将计数值写入各

15、个通道的计数器中,或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作。3.计数通道02每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时, 写入的初值范围为0000H0FFFFH,最大计数值是0000H,代表65536。采用BCD码计数时,写入的初值范围为00009999,最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。当某通道用作计数器时,应将要求计数

16、的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”,OUT端将有输出,表示计数次数到。当某个通道用作定时器时,由CLK输入一定频率的时钟脉冲,根据要求定时的时间长短确定所需的计数值。计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:定时系数=需要定时的时间/时钟脉冲周期设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;计数/定时:向通道写入计数值,启动计数操作;读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,

17、计数器则继续作计数操作。计数到:当计数器减1为0时,通过引脚OUT向外输出“到”的脉冲信号。计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。4.方式选择控制字8253的初始化编程就是对其工作方式的确定。具体实现就是在8253上电后,由CPU向8253的控制寄存器写入一个控制字,就可以规定8253的工作方式、计数值的长度以及计数所用的数制等,另外根据要求将计数值写入8253的相应通道。8253的一个方式控制字只决定一个技术通道的工作模式。三、8253的通道工作方式8253中各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:

18、1.方式0:计数结束则中断工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时, OUT输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写入计数值WR#有效时,OUT仍保持低电平,然后计数器开始减“1”计数, 直到计数值为“0”,此刻OUT将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUT端输出的高电平一直维持到下次再写入计数值为止。在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数; 计数值将保持GATE有效时的数值不变, 待GATE重新有效后,减“1”计数继

19、续进行。显然,利用工作方式0既可完成计数功能, 也可完成定时功能。当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLK端输入, 由它对计数器进行减“1”计数,直到计数值为0,此刻OUT输出正跳变, 表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLK的周期计算出定时系数,预置到计数器中。从CLK,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数, 定时时间从写入计数值开始,到计数值计到“0”为止,这时OUT输出正跳变,表示定时时间到。有一点需要说明,任一通道工作在方式0情况下, 计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定

20、时功能,必须重新写入计数器的初值。2.方式1:单脉冲发生器工作方式1被称作可编程单脉冲发生器。进入这种工作方式, CPU装入计数值n后OUT输出高电平, 不管此时的GATE输入是高电平还是低电平, 都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUT输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUT输出由低电平向高电平跳变,形成输出单脉冲的后沿, 因此,由方式l所能输出单脉冲的宽度为CLK周期的n倍。如果在减“1”计数过程中, GATE由高电平跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GATE

21、的上升沿,则从初值开始重新计数, 其效果会使输出的单脉冲加宽,如教材图9-22(b)中的第2个单脉冲。这种工作方式下,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉冲。3.方式2:速率波发生器工作方式2被称作速率波发生器。进入这种工作方式, OUT输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUT保持为高电平不变; 待计数值减到“1”和“0”之间, OUT将输出宽度为一个CLK周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUT将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLK周期, 重复周期为CLK周期的n倍。如果在减“1”计数过

22、程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。4.方式3:方波发生器工作方式3被称作方波发生器。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUT输出低电平, 装入计数值后,OUT立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUT保持为高电平,若n为偶数,

23、则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUT端输出的周期为nCLK周期,占空比为1:1的方波序列; 若n为奇数, 则OUT端输出周期为nCLK周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“1”计数。如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。5.方式4:软件触发方式计数工作方式4被称作软件触发方式。进入工作方式4,OUT输

24、出高电平。 装入计数值n后, 如果GATE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUT输出宽度为一个CLK周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作, 必须重新置入计数初值n。如果在操作的过程中,GATE变为无效,则停止减“1”计数,到GATE再次有效时,重新从初值开始减“1”计数。显然,利用这种工作方式可以完成定时功能,定时时间从装入计数值n开始,则OUT输出负脉冲(表示定时时间到),其定时时间=nCLK周期。这种工作方式也可完成计数功能,它要求计数的事件以脉冲的方式从CLK输入,将计数次数作为计数初值装入后,由CLK端输入的计数脉冲进行减“1”计数,

25、直到计数值为“0”,由OUT端输出负脉冲(表示计数次数到)。 当然也可利用OUT向CPU发出中断请求。 因此工作方式4与工作方式0很相似,只是方式0在OUT端输出正阶跃信号、方式4在OUT端输出负脉冲信号。2.2.3 8251芯片一、8251A的内部结构图2-4 8251引脚图二、8251A的工作过程 (1)8251A发送数据的过程 当发送缓冲器为空时,信号TXRDY有效(或状态字的D0=1),以示发送器准备好,等待CPU送入数据。 CPU将要发送的数据写入8251A的发送缓冲器; 发送的数据进行“并串”转换; 插入起始位、奇/偶位和停止位或同步字符等,数据一位一位从TXD端串行输出。(2)8

26、251A接收数据的过程 在RXD端检测到起始位或同步字符; 开始在RXD线上采集数据; 将接收到的数据“串并”转换,并进行奇偶校验和检查错误; 将采样到的、经过变换的8位数据由接收缓冲器送入数据总线缓冲器; 信号RXRDY有效(或状态字的D1=1),以示8251A已接收到一个数据,待CPU读取。三、8251A的初始化在如前面已经强调过的,在使用可编程接口之前必须进行初始化,即在使用8251A进行数据传输前,对其进行编程,将相关方式指令字、命令指令字写入8251A。8251A初始化的具体步骤如图所示。图2-5 初始化流程图四、8251A的控制字和状态字 关于8251A的方式指令字、命令指令字和状

27、态字,应着重对字中各位符号0、1含义的理解,掌握这些字的应用。(1)方式指令字(控制字)格式 方式指令字的格式如图1-4所示:注方式指令字的B2B1=00,此时8251A工作于同步方式,而字中S2S1的设置不起作用。图2-6 251A方式指令字格式(2)命令指令字(控制字)格式 命令指令字的格式如图1-5所示: 图2-7 8251A方式指令字格式(3)状态字 8251A的状态字格式如图1-6所示: (i)状态位RXRDY、TXE、SYNDET和8251A的引脚信号RXRDY、TXE、SYNDET定义相同,电平一致; (ii)状态位TXRDY与8251A的引脚信号TXRDY定义相同,但条件不一样

28、。当发送缓冲器为空时,状态位TXRDY=1;而引脚信号TXRDY为高电平的条件是状态位TXRDY=1、命令控制字TXEN=1,且输入低电平。 (iii)采用查询方式利用8251A传送数据时,可通过对状态位RXRDY或TXRDY的测试来进行数据的传送。 图2-8 8251A的状态字格式2.2.4 12864字符型液晶屏一、管脚详解管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB

29、7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)*注释1:如在实际应用中仅使用并口通讯模式,可将PS

30、B接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。二、控制器接口信号说明(1)RS,R/W的配合选择决定控制界面的4种模式:RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据(2)E信号E状态执行动作结果高低I/O缓冲DR配合/W进行写数据或指令高DRI/O缓冲配合R进行读数据或指令低/低高无动作 忙标志:BF BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据. 利

31、用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态. 字型产生ROM(CGROM) 字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。 显示数据RAM(DDRAM)模块内部显示数据RAM提供642个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别

32、是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140D75F),GB(A1A0-F7FFH)。 字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能, 可以提供四组1616点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可

33、和CGROM中的定义一样地通过DDRAM显示在屏幕中。 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6DB0中。 光标/闪烁控制电路此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。3、指令说明模块控制芯片提供两套控制命令,基本指令和扩充指令如下:指令表1:(RE=0:基本指令)指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0 清除显示0000000001

34、将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001X设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容/home设定显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位I/D=1;AC自增,若光标显示允许,则光标自动右移1位I/D=0;AC自减,SH=1;移动显示打开,若I/D=1;整屏左移一位,0右移一位游标或显示移位控制000001S/CR/LXX设

35、定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM 地址设定DDRAM地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM (DDRAM/

36、CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)指令表2:(RE=1:扩充指令)指令指 令 码功 能RSR/WD7D6D5D4D3D2D1D0 待命模式0000000001进入待命模式,执行其他指令都棵终止待命模式卷动地址开关开启000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM和CGRAM地址 反白 选择00000001R1R0选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R000,第一次设定为反白显示,再次设定变回正常 睡眠 模式0000001SLXXSL=0:进入睡眠模

37、式SL=1:脱离睡眠模式 扩充 功能 设定00001CLXREG0CL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作G=1/0:绘图开关设定绘图RAM地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0设定绘图RAM先设定垂直(列)地址AC6AC5AC0再设定水平(行)地址AC3AC2AC1AC0将以上16位地址连续写入即可备注;当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一

38、个指令确实执行完成。2.2 蓝牙收发模块2.2.1 概述BLK-MD-BC04-B蓝牙模块是深圳市博陆科电子科技有限公司专为智能无线数据传输而打造,采用英国 CSR 公司 BlueCore4-Ext 芯片,遵循V2.1+EDR蓝牙规范。本模块支持 UART,USB,SPI,PCM,SPDIF 等接口,并支持SPP蓝牙串口协议,具有成本低、体积小、功耗低、收发灵敏性高等优点,只需配备少许的外围元件就能实现其强大功能。2.2.2 特点蓝牙 V2.1+EDR 蓝牙 Class 2内置 PCB 射频天线内置 8Mbit Flash 支持 SPI 编程接口支持 UART,USB,SPI,PCM 等接口3

39、.3V 电源通过 REACH、ROHS 认证2.2.3 应用领域该模块主要用于短距离的数据无线传输领域。可以方便的和 PC 机的蓝牙设备相连,也可以两个模块之间的数据互通。避免繁琐的线缆连接,能直接替代串口线。 蓝牙无线数据传输; 工业遥控、遥测; POS 系统,无线键盘、鼠标; 交通,井下定位、报警; 自动化数据采集系统; 无线数据传输;银行系统; 无线数据采集; 楼宇自动化、安防、机房设备无线监控、门禁系统; 智能家居、工业控制; 汽车检测设备; 电视台的互动节目表决设备; 政府路灯节能设备 无线 LED 显示屏系统 2.2.4 功能框图图2-8 蓝牙模块功能框图2.2.5 应用电路图图2

40、-9 应用电路图2.2.6 主从设置及其他配置状态指示 LED:PIO(1)用于指示蓝牙模块所处状态,LED 灯闪烁方式与蓝牙模块状态对应见下表:模式LED 显示模块状态从模式均匀快速闪烁(200ms-on,200ms-off)等待配对长亮建立连接第三章 软件结构3.1 程序子模块组成3.1.1 设计思路1、基本功能通过输入命令字可进入相应的功能中:、数码管显示输入数字、电机运动与停止、LCD屏显示英文与数字、LCD屏显示汉字报文。在各个功能可输入数字、英文、汉字的编码,即可实现相应的显示或动作。2、设计过程在本创新课程设计中根据复杂程序设计思想模块化程序设计,首先分析和确定程序设计的总体目标

41、;然后将总体目标划分为若干模块,具体的对每个功舵的实现进行设计。裎序设计的思路按以下顺序进行:分析与确定程序总体设计目标.蓝牙接收部分的选择.蓝牙接收电路的设计、焊接与调试.定义毎个模块的具体任务编写源程序并进行调试。程序调试过程中现将各个模块进行调试,然后和进行整体调试。完成实舱报告。3.1.2 程序模块组成 主程序主程序首先是对各个芯片及外设的初始化,然后根据串口中断中收到的数据判断命令字,根据命令字进入相应的程序块中执行相应动作。主程序实际是一个死循环,当进入主程序后判断命令字,只有输入正确命令字才进入相应的程序块中。再程序块中执行相应功能时,如果再有命令字输入就会再次跳到命令字判断程序

42、。 显示实现子程序对LCD的操作主要有两个方面:(1)在使用之前要先对其进行初始化。这次实验均是对各文字显示,因此只涉及对基本显示的命令设置,包括开显示和游标复位。在写入命令字时根据操作要求将对应控制为置位、复位。(2)写显示操作。在对LCD初始化之后,就能写要显示的数据了,数据是通过串口接收到的。写入数据时先使能液晶屏,再将D/I位置位表示写入为数据,然后将读写位复位,字符型数据可直接写入数据口,在写入汉字时要将数据第八位写1,并连续写入两个数据才能显示出一个汉字。 串口复位及初始化子程序串口复位及初始化主要是根据8251芯片工作方式控制字及命令控制字对8251写入控制字。由于初始化编程必须

43、在系统复位以后,因此需要首先进行复位操作。8251的复位操作是将8251的命令控制字响应位写1实现的。系统复位后,就可以对8251进行工作方式的设置,通过写入工作方式控制字,将工作方式设置为1停止位、无校验位、波特率因子为16,最后使能串口发送和接收即可完成初始化编程。 串口接收子程序在串口接收程序中,首先重新写入控制字,允许接收,以使波特率误差校正。然后不断的读状态控制寄存器,检测是否接收完成。接收完成后即可读出数据寄存器中的数据,并在PC机屏幕显示R以表示接收完成。 各功能程序块1、数码管显示数码管显示比较容易,就是将接收到的字符码转换为十进制数,然后查找数码管码表得到编码,进行显示即可。如果接收到新的命令字,返回程序命令判断部分。2、电机动作当接收到电机动作指令时,进入电机动作程序块,将电机控制端置位,电机即可运转。在此期间对于非命令字,不予理睬,如果接收到新的命令字,返回程序命令判断部分。3、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号