无线通信技术报告 - 图文 下载本文

无线通信技术综合训练报告

训练四 SPI通信与LCD显示实验

一、实验内容

1.在CC2530从节点开发板上采用GPIO口软件模拟SPI接口的方式驱动DM12864M,显示汉字、字母、数字等。

2.在CC2530主节点开发板上采用硬件SPI接口的方式驱动OCM12864,显示汉字、字母、数字等。

二、实验原理

USART0 和USART1 是串行通信接口,它们能够分别运行于异步 UART 模式或者同步SPI

模式。两个USART具有同样的功能,可以设置在单独的I/O引脚。本实验学习同步通信的SPI模式,采用SPI通信方式控制LCD显示。

三、基本实验步骤(从节点)

基本实验:从节点显示不同的文字界面。

操作步骤:①连接实验设备,将USB电缆线插到PC机的USB端口上,实验板电源指示灯亮。 ②启动IAR开发环境,打开“开始”菜单->“程序”->IAR Embedded Workbench for 8051 7.60->IAR Embedded Workbench。

③创建工程,并将编写的代码添加到工程中,再进行编译和调试,确定无误后,通过下载器将程序下载到开发板上。观察现象。

四、设计性实验程序流程与分析(从节点)

实验要求:设计一个工程,下载到目标板上,LCD初始界面显示班级、姓名、学号、专业。要求按下K1时,LCD显示数据加1;按下按键SW2,LCD显示数据减1 ,规定初始值显示为 999。

设计性实验流程图如下所示:

第11页,共58页

无线通信技术综合训练报告 训练四 SPI通信与LCD显示实验

进行加1操作后液晶显示 **************** 图4.1设计性实验流程图

第12页,共58页

显示数据加一 “加一后的数据” **************** 按键1是否激活 LED1灭 进行减1操作后液晶显示 **************** 显示数据减一 “减一后的数据” **************** LED2闪烁 按键1是否激活 LED2灭 Yes Keyvalue是否等于1 No Yes Keyvalue是否等于2 液晶初始化显示 **************** 09东通信2 陈芳芳 09811202 通信工程 **************** 延时一段时间后液晶显示 **************** 初始值显示 999 **************** 显示扫描值 初始化指示灯、按键 定义一个16字节变量c=999 开始 LED1闪烁 无线通信技术综合训练报告 训练四 SPI通信与LCD显示实验

五、实验结果与分析

(一)基本实验结果:液晶初始界面显示:“CC2530基本实验 四、LCD实验”等字样,当扫描值为1时,指示灯LED1、LED2显示为“00”时液晶显示“CC2530基本实验 四、LCD实验”字样,若指示灯显示为“01”则液晶显示“江苏技术师范学院 电信学院”字样,若指示灯显示为“10”或“11”液晶显示“TI CC2530F256 LCD12864 Test”字样;当扫描值为2时,指示灯LED1、LED2显示为“00”时液晶显示“CC2530基本实验 四、LCD实验”字样,若指示灯显示为“10”则液晶显示“TI CC2530F256 LCD12864 Test”字样,若指示灯显示为“01”或“11”液晶显示“江苏技术师范学院 电信学院”字样。

结果分析:由于DM12864M可以混合显示汉字、英文字母或数字,所以只要在相应的显示程序中打印出来即可,调用while函数,函数中定义闪烁标志[0]为1说明LED1点亮,为0则LED1熄灭,闪烁标志[1]为1说明LED2闪烁,为0则LED2熄灭,并通过LED1、LED2的亮灭来显示不同的界面,当扫描值为1时,指示灯LED1、LED2显示为“00”时液晶显示“CC2530基本实验 四、LCD实验”字样,若指示灯显示为“01”则液晶显示“江苏技术师范学院 电信学院”字样,若指示灯显示为“10”或“11”液晶显示“TI CC2530F256 LCD12864 Test”字样;当扫描值为2时,指示灯LED1、LED2显示为“00”时液晶显示“CC2530基本实验 四、LCD实验”字样,若指示灯显示为“10”则液晶显示“TI CC2530F256 LCD12864 Test”字样,若指示灯显示为“01”或“11”液晶显示“江苏技术师范学院 电信学院”字样。从而实现了SPI通信与LCD显示之间的完美结合。使我们熟悉并掌握了DM12864MLCD驱动程序的编写以及应用函数调用方法。

(二)设计性实验结果:LCD初始界面显示“09东通信2 陈芳芳 09811202 通信工程”的界面,延时一段时间后,界面显示“初始值显示 999”的字样。要求按下K1时,LCD界面显示“显示数据加一 并显示加一后的数据” ;按下按键 SW2 ,LCD界面显示“显示数据减一 并显示减一后的数据”。

结果分析:设计性实验与基本实验相同,根据具体要求改变液晶显示,通过按键来控制LCD显示,类似于前面几个实验中通过按键来控制LED,只不过,此实验需加上数据计算语句,从而实现数据的增加或减少,此设计性实验实现了计数器的功能。

六、实验思考题

1.基本实验程序中“//LED1 = OFF;”语句将双斜杠去掉有何影响?问什么?

答:不去掉时,现象是“按下K1,LED1改变一下状态”,而去掉双斜杠,现象是“不闪烁时LED1灭”,因为双斜杠在这里起到注释的作用,加上双斜杠则此语句就被屏蔽掉。 2.基本实验中去除“if(GlintFlag[0] == 0) ”语句,结果怎样?

答:不去掉此语句,现象是“LED1或LED2或两个都闪,延时4000 ”,而去掉此语句,现象是“仅LED1闪或仅LED2闪,若同时闪烁,延时周期则为两者相加(4000+4000),闪烁变慢”。

3.使用DM12864M 混合显示汉字、英文字母或数字时需要注意哪些问题? 答:①汉字显示为双字节显示,应根据程序要求,不得超过取值范围。 ②注意每个汉字对应的位置,不得多于取值范围。 4.如何在OCM12864-8 上指定区域显示汉字?

答:①使用抓图工具抓取一幅图像,在图像处理软件中将其处理成像素为128*64 大小的图像,保存为.bmp 文件格式。运行字模软件ZIMO221.EXE,使用基本操作-> 打开图标工具打开上述图像文件,点击“取模方式” ,选择“C51格式”,出现如图3-4-6所示点阵代码提取界面,将点阵生成区的十六进制代码复制到LcdControl.c某个图像数组中,调用Display_Picture(uint8 *picX) 函数即可显示该图像。 ②可以在程序中加入“0~9、A~F”的调用函数。

第13页,共58页

无线通信技术综合训练报告 训练四 SPI通信与LCD显示实验

七、存在问题和解决方法

存在的问题1:液晶显示界面出现乱码。

解决方法:查看程序中显示函数中,显示汉字、英文或数字是否超出了取值范围。

存在的问题2:按键无法实现数据的加减。

解决方法:检查程序中,按键端口设置与相应的LCD显示是否一一对应,对应的端口

值对否有误。

第14页,共58页