2024-09-01
售卖作品
00

目录

功能
部分程序
全部的代码

功能

读取P1.4电压,显示到口袋板显示屏,电压越高亮灯越多。

部分程序

cpp
while (1) { ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start LPM0; adcvalue = ADC10MEM; //原始数据 0到1023 adtest = (float) adcvalue / 1024.0 * 3.3; dis_num_6(adtest); //显示电压 //电压最大值最小值限制 if (adcvalue <= min_YIN) adcvalue = min_YIN; if (adcvalue > max_YIN) adcvalue = max_YIN; //偏差值 adcvalue = adcvalue - min_YIN; //总体范围 temp1 = max_YIN - min_YIN; //每一段多少 duan = temp1 / 8; //控制小灯怎么点亮 if (adcvalue > duan * 7) //0就是点亮 1就是不亮 这里表示8个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 0); /* 指定1号管脚输出为0 */ PinOUT(2, 0); /* 指定0号管脚输出为0 */ PinOUT(3, 0); /* 指定1号管脚输出为0 */ PinOUT(4, 0); /* 指定0号管脚输出为0 */ PinOUT(5, 0); /* 指定1号管脚输出为0 */ PinOUT(6, 0); /* 指定0号管脚输出为0 */ PinOUT(7, 0); /* 指定1号管脚输出为0 */ } else if (adcvalue > duan * 6) //0就是点亮 1就是不亮 这里表示7个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 0); /* 指定1号管脚输出为0 */ PinOUT(2, 0); /* 指定0号管脚输出为0 */ PinOUT(3, 0); /* 指定1号管脚输出为0 */ PinOUT(4, 0); /* 指定0号管脚输出为0 */ PinOUT(5, 0); /* 指定1号管脚输出为0 */ PinOUT(6, 0); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } else if (adcvalue > duan * 5) //0就是点亮 1就是不亮 这里表示6个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 0); /* 指定1号管脚输出为0 */ PinOUT(2, 0); /* 指定0号管脚输出为0 */ PinOUT(3, 0); /* 指定1号管脚输出为0 */ PinOUT(4, 0); /* 指定0号管脚输出为0 */ PinOUT(5, 0); /* 指定1号管脚输出为0 */ PinOUT(6, 1); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } else if (adcvalue > duan * 4) //0就是点亮 1就是不亮 这里表示5个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 0); /* 指定1号管脚输出为0 */ PinOUT(2, 0); /* 指定0号管脚输出为0 */ PinOUT(3, 0); /* 指定1号管脚输出为0 */ PinOUT(4, 0); /* 指定0号管脚输出为0 */ PinOUT(5, 1); /* 指定1号管脚输出为0 */ PinOUT(6, 1); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } else if (adcvalue > duan * 3) //0就是点亮 1就是不亮 这里表示4个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 0); /* 指定1号管脚输出为0 */ PinOUT(2, 0); /* 指定0号管脚输出为0 */ PinOUT(3, 0); /* 指定1号管脚输出为0 */ PinOUT(4, 1); /* 指定0号管脚输出为0 */ PinOUT(5, 1); /* 指定1号管脚输出为0 */ PinOUT(6, 1); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } else if (adcvalue > duan * 2) //0就是点亮 1就是不亮 这里表示3个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 0); /* 指定1号管脚输出为0 */ PinOUT(2, 0); /* 指定0号管脚输出为0 */ PinOUT(3, 1); /* 指定1号管脚输出为0 */ PinOUT(4, 1); /* 指定0号管脚输出为0 */ PinOUT(5, 1); /* 指定1号管脚输出为0 */ PinOUT(6, 1); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } else if (adcvalue > duan * 1) //0就是点亮 1就是不亮 这里表示2个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 0); /* 指定1号管脚输出为0 */ PinOUT(2, 1); /* 指定0号管脚输出为0 */ PinOUT(3, 1); /* 指定1号管脚输出为0 */ PinOUT(4, 1); /* 指定0号管脚输出为0 */ PinOUT(5, 1); /* 指定1号管脚输出为0 */ PinOUT(6, 1); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } else if (adcvalue > 50) //0就是点亮 1就是不亮 这里表示1个灯全部亮 { PinOUT(0, 0); /* 指定0号管脚输出为0 */ PinOUT(1, 1); /* 指定1号管脚输出为0 */ PinOUT(2, 1); /* 指定0号管脚输出为0 */ PinOUT(3, 1); /* 指定1号管脚输出为0 */ PinOUT(4, 1); /* 指定0号管脚输出为0 */ PinOUT(5, 1); /* 指定1号管脚输出为0 */ PinOUT(6, 1); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } else //0就是点亮 1就是不亮 这里表示0个灯全部亮 { PinOUT(0, 1); /* 指定0号管脚输出为0 */ PinOUT(1, 1); /* 指定1号管脚输出为0 */ PinOUT(2, 1); /* 指定0号管脚输出为0 */ PinOUT(3, 1); /* 指定1号管脚输出为0 */ PinOUT(4, 1); /* 指定0号管脚输出为0 */ PinOUT(5, 1); /* 指定1号管脚输出为0 */ PinOUT(6, 1); /* 指定0号管脚输出为0 */ PinOUT(7, 1); /* 指定1号管脚输出为0 */ } } } // ADC10 interrupt service routine #pragma vector=ADC10_VECTOR __interrupt void ADC10_ISR(void) { LPM0_EXIT; }

全部的代码

cpp
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!