- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六液晶显75
一、 实验目的
学习定时器的原理及操作;
学习利用定时器产生PWM波形的方法;
学习点阵LCD液晶显示的原理及操作。
二、 实验设备
装有CCSV5.2的计算机一台。
MSP-EXP430F5529 开发板、Mini?USB 接口线。
三、实验原理
(_)定时器TBO
MSP430单片机的定时器资源非常丰富,包括看门狗定时器(WDT)、定时器A(Timer_A). 定时器B仃imer_B)和实时时钟(RTC)等。这些模块除了具有定时功能外,述各口具有一些特殊 的用途,在应用小应根据需要选择合适的定时器模块。本实验中利用TB0.4输出PWM信号,
图6.1定时器B结构框图
26位定时器B(Timer_B)和Timer_A —样,是MSP430单片机的重要资源。Timer_B往往 比Timer_A功能更强大一些,MSP430F5529单片机的Timer_B定时器具有7个捕获/比较寄 存器,有捕获/比较、PWM输出、时间间隔定时等功能,同时具有丰富的中断能力。
在本实验中,利用TBO输出PWM波,调节背光亮度,以下为TBO初始化函数:
void Dogsl02x6_backlightlnit(void) {
CS_BACKLT_DIR |= BACKLT; CS_BACKLT_OUT |= BACKLT;
CS_BACKLT_SEL |= BACKLT; TB0CCTL4 = 0UTM0D_7; TB0CCR4 = TBOCCRO ? 1;
TBOCCRO = 50;
TBOCTL = TBSSEI__1 + MC_1;
//P7.6设为输出//P7.6输出拉高//P7.6设为定时器功能//PWM复位/置位//PWM周期// ACLK,增计数模式由初始化函数可知,P7.6引脚作为定时器输出,TBO工作在增计数下输出模式
//P7.6设为输出
//P7.6输出拉高
//P7.6设为定时器功能
//PWM复位/置位
//PWM周期
// ACLK,增计数模式
Output Mode 4: ToggleI Output Mode 5: ResetEQUO EQU1 EQUOTBIFG TBIFGEQU1EQUOTBIFGInterrupt Events由下图可知,在定时器输出模式7下,输出PWM的占空比为:TB0CCIR4/TBOCCR0o因 此,在实验屮,只需调节TB0CCR4的数值就可调节PWM输出的占空比,进而调节LCD背光 的亮度。
Output Mode 4: Toggle
I Output Mode 5: Reset
EQUO EQU1 EQUO
TBIFG TBIFG
EQU1
EQUO
TBIFG
Interrupt Events
图6.2定时器输出的PWM波形
在实验中,利用Dogsl02x6_setBacklight()函数对背光值进行设置:在该函数中brightness 的取值范围为0?12,能够获得的占空比如下所示:
brightness 取值
0
1
2
3
4
5
6
占空比
12/50
15/50
18/50
21/50
24/50
27/50
30/50
brightness 取值
7
8
9
10
11
12
一
占空比
33/50
36/50
39/50
42/50
45/50
48/50
一
void Dogsl02x6_setBacklight(uint8_t brightness)
}
(二)12位模数转换器ADC12
ADC12模块为一个高效的12位模数转换器,在前面的实验中已经对其组成和工作原理 作了相关介绍,在此只介绍本实验相关的内容。
在本实验小利用ADC12进行齿轮电位计的采样,以下函数为ADC12的设置:
void Wheel_init(void)
WHEEL_PORT_DIR |= WHEEL_ENABLE;
WHEEL_PORT_OUT | = WHEEL_ENABLE; // P8.0 引脚输出高电平
//利用采样定时器//利用A5通道作为输入//使能转换// P6.5
//利用采样定时器
//利用A5通道作为输入
//使能转换
// P6.5选择ADC功能
ADC12CTL1 = ADC12SHP;
ADC12MCTL0 = ADC12INCH_5;
ADC12CTL0 |= ADC12ENC;
ADC PORT SEL | = ADC INPUT A5;
}
在实验中利用Wheel_getValue()S数,进行ADC釆样。在该函数中,给出开始釆样信号 后,程序会进入低功耗模式0, CPU会关断,等待采样完成后置位采样屮断标志位,唤醒CPU, 之后进入采样中断服务程序,读取采样转换值。
uintl6_t Wheel_getValue(void)
{
A
文档评论(0)