久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機里自然對數如何寫
[打印本頁]
作者:
jony1122
時間:
2024-7-21 20:47
標題:
單片機里自然對數如何寫
要計算兩路電壓的dB差,不在規格值時報警。
下面這種寫法,編譯沒有報錯,數碼管上也沒有數字顯示出來。
高手幫忙看看問題出在哪。
感謝!
//測量VR電壓\dB程序
void Voltage_VR(void)
{
P1M0=0x32;P1M1=0x09; //P1.1、P1.4、P1.5推挽(測試兩端),P1.0、P1.3為高阻
ADCA=0;ADCC=0;ADCB=0;ADCD=1;ADCE=1;//AL、BL、CL、OH,P1.5
ADKA=0;ADKB=0;//aL、bL、cL
Delay500us(); //延時等待穩定
VinA=ADC_V(0x00); //讀取第0通道,R2層電壓,1-2端
Delay500us(); //延時等待穩定
VinB=ADC_V(0x03); //讀取第0通道,R1層電壓,1-2端
// 判斷電壓,進行dB計算
dBA=(float)20*log(VinA/VCC);
dBB=(float)20*log(VinB/VCC);
dB=dBA-dBB;
if(dB>=-2.9 && VinA<=5100)
{
count=0; //計數清0
}
else if(dB<=2.9 && VinA<=5100)//else if(Vin>=4950 && Vin<=5000)
{
count=0; //計數清0
}
else //以上各分支條件都不成立,說明產品有缺陷
{
count++;
if(count>=2)//當到達10ms
{
LEDG=1; //綠燈熄
LEDR=0; //紅燈亮
alarm=1;
while(alarm & RST)//取下VR或按RST鍵退出死循環,但報錯發生在不取下VR的情況下按RST鍵復檢當前檔位
{
VR=exist_VR(0x05); //第5通道測量VR存在
if(VR>=4000)alarm=0;//判斷VR沒有裝,退出死循環
if(count2==0)//閃爍周期250ms
{
dis_buf[0]=~(table[dB%10]);
dis_buf[1]=~(table[dB/10%10]|0x80);
dis_buf[2]=~(table[25]);//'U'
dis_buf[3]=~(table[VinA/10%10]);
dis_buf[4]=~(table[VinA/100%10]);
dis_buf[5]=~(table[VinA/1000%10]|0x80);//加小數點
dis_buf[6]=~(table[25]);//'U'
dis_buf[7]=~(table[VinB/10%10]);
dis_buf[8]=~(table[VinB/100%10]);
dis_buf[9]=~(table[VinB/1000%10]|0x80);//加小數點
DisplayScan();
}
if(count2==125)
{
dis_buf[0]=~(table[16]);//不顯示
dis_buf[1]=~(table[16]);
dis_buf[2]=~(table[16]);
dis_buf[3]=~(table[16]);
dis_buf[4]=~(table[16]);
dis_buf[5]=~(table[16]);
dis_buf[6]=~(table[16]);
dis_buf[7]=~(table[16]);
dis_buf[8]=~(table[16]);
dis_buf[9]=~(table[16]);
DisplayScan();
}
Delay_ms(1);
count2=++count2%250;
}
count2=0;
}
}
LEDG=0; //綠燈亮
LEDR=1; //紅燈熄
dis_buf[0]=~(table[dB%10]);
dis_buf[1]=~(table[dB/10%10]|0x80);
dis_buf[2]=~(table[25]);//'U'
dis_buf[3]=~(table[VinA/10%10]);
dis_buf[4]=~(table[VinA/100%10]);
dis_buf[5]=~(table[VinA/1000%10]|0x80);//加小數點
dis_buf[6]=~(table[25]);//'U'
dis_buf[7]=~(table[VinB/10%10]);
dis_buf[8]=~(table[VinB/100%10]);
dis_buf[9]=~(table[VinB/1000%10]|0x80);//加小數點
DisplayScan(); //顯示電壓值
}
復制代碼
作者:
donglw
時間:
2024-7-22 11:56
普通單片機乘除運算能力較差,別說自然對數了,建議將自然對數轉化為表格形式,直接查表即可。這需要FLASH容量很大,才能確保精度!
作者:
jony1122
時間:
2024-7-27 16:19
donglw 發表于 2024-7-22 11:56
普通單片機乘除運算能力較差,別說自然對數了,建議將自然對數轉化為表格形式,直接查表即可。這需要FLASH ...
感謝提供方法。
只是本人初學,這種方法實施起來有難度。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
午夜一级视频
|
亚洲精品午夜
|
一级做a爱片性色毛片
|
亚洲天堂网在线观看
|
欧美日韩精品一区
|
国产欧美精品一区
|
免费黄色av
|
三年中文在线看免费观看
|
www四虎影院
|
国产精品久久久国产盗摄
|
国产亚洲久一区二区
|
久婷婷
|
国产性hd
|
日本在线中文
|
欧美日韩一区二区三区四区
|
亚洲第一视频网站
|
美女无遮挡网站
|
秋霞午夜鲁丝一区二区老狼
|
日韩一区二区三区在线播放
|
国产福利在线
|
久久国产精品免费视频
|
日日夜夜干
|
人人插人人爱
|
日韩一级黄色片
|
黄色片在线播放
|
成人性生活视频
|
一级片在线免费观看
|
亚洲精品久久久久久久久久久
|
97视频免费观看
|
秋霞av在线
|
蜜桃在线观看视频
|
天堂av影院
|
91亚洲视频
|
欧美精品www
|
av在线播放观看
|
美女视频一区二区
|
99热99re6国产在线播放
|
免费精品视频
|
日本伊人
|
成人激情视频网
|
日韩视频免费大全中文字幕
|