MSP430单片机实验指导书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#define RST_E P5OUT &= ~BIT2
void delay_us(uint ms)
{
uint i,j;
for(i = 0;i < ms;i ++)
for(j = 0;j < 1141;j ++);
}
void write_com(uchar com)
{
RST_RS;
RST_RW;
P4OUT = com;
七、参考程序
#include"msp430f249.h"
#define uint unsigned int
/******************** 主函数 **************************/
voiБайду номын сангаас main(void)
{
Uint I;
WDTCTL = WDTPW + WDTHOLD;
五、实验步骤
1.用Proteus设计1602液晶显示接口电路;
2. 在IARforMSP430中编写液晶显示控制程序,编译通过后,与Proteus联合调试;
六、电路设计调试及程序
1)实验电路
2)程序设计与调试
静态显示
#include"msp430f249.h"
#define uchar unsigned char
SET_E;
delay_us(5);
RST_E;
}
void write_dat(uchar dat)
{
SET_RS;
RST_RW;
P4OUT = dat;
SET_E;
delay_us(5);
RST_E;
}
void write_zfc(uchar *p)
{
while( *p != 0)
write_dat(*p ++);
2.编写程序,实现字符的静态和动态显示。显示字符为
第一行中间位置:“学号”,第二行中间位置:“姓名全拼”。(实验报告中要有显示自己名字和学号的截图)
四、实验原理
液晶显示的原理:采用的LCD显示屏都是由不同部分组成的分层结构,位于最后面的一层是由荧光物质组成的可以发射光线的背光层,背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层,液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
2.1602液晶模块内部的控制器共有11条控制指令,如表所示:
3.芯片时序表:
4. 1602LCD的时序图
4-1 LCD1602读操作时序图
4-2 LCD1602写操作时序图
5.1602LCD的一般初始化(复位)过程
(1)延时15ms。
(2)写指令38H(不检测忙信号)。
delay_us(5);
}
void Lcd_init()
{
write_com(0x38);
delay_us(5);
write_com(0x01);
delay_us(5);
write_com(0x0C);
delay_us(5);
write_com(0x06);
delay_us(5);
}
void main( void )
试验一
一、实验目的
进一步熟悉IARforMSP430编程软件和PROTEUS仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。掌握MSP430单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。掌握PROTEUS仿真软件仿真MSP430单片机过程中的注意事项。
五、程序流程图
六、实验步骤
1、运用PROTEUS仿真软件绘制电路图;
2、运用IARforMSP430编写流水灯程序,并且生成‘’.hex’’或“.d90”文件
3、将‘’.hex’’或“.d90”文件软件加载到PROTEUS仿真软件中;
4、换一种流水灯的亮灭顺序,改变延时时间的大小,多次实验,灵活使用
2.掌握LCD1602液晶模块显示西文的原理及使用方法;
3.掌握用8位数据模式驱动LCM1602液晶的C语言编程方法;
4.掌握用LCM1602液晶模块显示数字的C语言编程方法。
二、实验仪器与设备
1.微机一台 2.IARforMSP430集成开发环境 3.Proteus仿真软件
三、实验内容
1.用Proteus设计一LCD1602液晶显示接口电路。要求利用P4口接LCD1602液晶的数据端,P5.0~P5.2做LCD1602液晶的控制信号输入端。参考电路见后面。
{
WDTCTL = WDTPW + WDTHOLD;
P4DIR = 0x0ff;
P5DIR = BIT0 + BIT1 + BIT2;
Lcd_init();
write_com(0x80 + 3);
write_zfc("2018-05-03");
write_com(0x80 + 0x40 + 3);
write_zfc("T Love you !");
二、实验内容
1、运用PROTEUS仿真软件绘制LED流水灯电路;
2、运用IARforMSP430编程软件编辑led流水灯程序,并且生成 .hex或.d90文件,并且将生成的文件加载到单片机中,程序使用P1或其它端口来演示跑马灯,输出低电平驱动。
三、实验器材
电脑一台
四、实验原理及介绍
LED流水灯实际上是一个带有发光二极管的单片机最小系统,即由led灯、电阻、电容器、电源等电路和必要的软件组成的单个的单片机;如果要让接在P1或其它端口的LED灯亮起来,那么只需要将P1或其它端口的电平变为低电平就可以了。同理,将该端口电平变为高电平,LED灯就会熄灭。
#define uint unsigned int
#define SET_RS P5OUT |= BIT0
#define RST_RS P5OUT &= ~BIT0
#define SET_RW P5OUT |= BIT1
#define RST_RW P5OUT &= ~BIT1
#define SET_E P5OUT |= BIT2
while(1);
}
七、心得体会(不少于2页)
1.LCD1602采用标准的14引脚(无背光)或16引脚(带背光)接口,各引脚接口说明如表:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
P1DIR = ox0ff;
while(1)
{
PIOUT = 0x00;
For(I = 0;I < 65565;I ++);
PIOUT = 0x0ff;
For(I = 0;I < 65565;I ++);
}
}
八、心得体会(二页以上)
实验二
一、实验目的
1.掌握IARforMSP430软件与proteus软件仿真调试的方法;
(3)延时5ms。
(4)写指令38H(不检测忙信号)。
(5)延时5ms。
(6)写指令38H(不检测忙信号)。
(7)以后每次写指令、读/写数据操作均需要检测忙信号。
(8)写指令38H:显示模式设置。
(9)写指令08H:显示关闭。
(10)写指令01H:显示清屏。
(11)写指令06H:显示光标移动设置。
(12)写指令0CH:显示开及光标设置。
相关文档
最新文档