教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

用按键控制LED灯的亮灭(2)

来源:网络收集 时间:2026-07-16
导读: for (index=0; index void LcdGo(unsigned char Dot) { if(Dot==1) { LCDBCTL0 |= LCDON;} else if(Dot==0) {//关闭液晶显示 LCDBCTL0 }} void main(void) { …… Init_lcd(); // LCD初始化 Backlight_Enable(); //

for (index=0; index<12; index++) {LCDMEM[index] = 0;} }

void LcdGo(unsigned char Dot) { if(Dot==1)

{ LCDBCTL0 |= LCDON;} else if(Dot==0) {//关闭液晶显示

LCDBCTL0 &= ~LCDON;}} void main(void) { ……

Init_lcd(); // LCD初始化 Backlight_Enable(); // 打开背光

LcdGo(1); // 打开液晶模块 LCD_Clear(); // 清屏 while(1)

{ for (i=0; i<6; i++) // Display \{for(j=0;j<6;j++)

{LCDMEM[j] = char_gen[i];} delay_ms(1000);}}}

比较器输入通道CB6接外部模拟信号,并引至比较器“+”输入端。内部参考电压发生器利用共享电压源产生1.5V参考电压,并引至比较器“-”输入端。利用比较器中断,当CB6输入模拟信号电压高于1.5V时,拉高P4.4引脚;当CB6输入模拟信号电压低于1.5V时,拉低P4.4引脚。调节电位器RP1,观察L6灯的状态变化 #include void main(void)

{ WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗

P4DIR |= BIT4; // 将P4.4设为输出 CBCTL0 |= CBIPEN + CBIPSEL_0; // 启用CB0,并将其引至正输入端 CBCTL1 |= CBPWRMD_1; // 正常电源模式

CBCTL2 |= CBRSEL; // 内部参考电压VREF引至负输入端

CBCTL2 |= CBRS_3+CBREFL_1; // 梯形电阻电路禁用,产生1.5V内部共享电压

CBCTL3 |= BIT6; // 启用P6.6/CB6比较器功能 __delay_cycles(75); // 延迟以待参考电压稳定 CBINT &= ~(CBIFG + CBIIFG); // 清除比较器中断标志位

CBINT |= CBIE; // 使能比较器CBIFG上升沿中断(CBIES=0) CBCTL1 |= CBON; // 打开比较器B __bis_SR_register(LPM4_bits+GIE);// 进入LPM4 }

// Comp_B中断服务程序- 反转P4.4口状态 #pragma vector=COMP_B_VECTOR __interrupt void Comp_B_ISR (void)

{CBCTL1 ^= CBIES; // 切换中断触发方式 CBINT &= ~CBIFG; // 清除中断标志位 P4OUT ^= BIT4; // 反转P4.4口状态 }

调节电位器,观察实验板上的TFT LCD显示,随着电位器的转动,LCD显示输入模拟电压的最转换结果NADC也随着相应的改变。输入模拟电压的最转换结果满足公式:NADC=4096×(Vin – VR-)/(VR+ - VR-) void main(void) { WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer Init_TS3A5017DR(); // Configure TS3A5017DR IN1 and IN2 Init_lcd(); // lcd初始化 LcdGo(1); // 打开液晶模块 LCD_Clear(); //清屏 Backlight_Enable(); P6SEL |= BIT6; // Enable A/D channel ADC12CTL0 = ADC12ON+ADC12SHT0_15+ADC12MSC ; ADC12CTL1 = ADC12SHP + ADC12CONSEQ_2 + ADC12SSEL_1; ADC12MCTL0 |= ADC12INCH_6; //change ADC12IE = ADC12IE0; // Enable ADC12IFG.0 ADC12CTL0 |= ADC12ENC; // Enable conversions ADC12CTL0 |= ADC12SC; // Start conversion _EINT(); // Enable all interrupt _BIS_SR(LPM4_bits + GIE); // Enter LPM4, Enable interrupts __no_operation(); // For debugger }

#pragma vector=ADC12_VECTOR __interrupt void ADC12ISR (void)

{results[index++] = ADC12MEM0; // Move results if(index == NumOfResult) { uint16_t i;

…… 此处隐藏:46字,全部文档内容请下载后查看。喜欢就下载吧 ……
用按键控制LED灯的亮灭(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/615678.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)