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