久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
請(qǐng)人改成STC15W408AS能用的程序,愿用80黑幣給解決問題的人。
[打印本頁]
作者:
1123212143255
時(shí)間:
2016-10-5 11:30
標(biāo)題:
請(qǐng)人改成STC15W408AS能用的程序,愿用80黑幣給解決問題的人。
這是一個(gè)網(wǎng)上公開的程序,因只有STC15W408AS,就照樣做了一個(gè),但顯示不正確,請(qǐng)人改成STC15W408AS能用的程序,愿用80黑幣給解決問題的人。
#include<stc15f204ea.h>
//#include<STC15W408AS,H>
#include<intrins.h>
#define ADC_POWER 0x80 //ADC 電源控制位
#define ADC_FLAG 0x10 //ADC 完成標(biāo)志
#define ADC_START 0x08 //ADC 啟動(dòng)控制位
#define ADC_speed_LL 0x00 //540 時(shí)鐘
#define ADC_speed_L 0x20 //360 時(shí)鐘
#define ADC_speed_H 0x40 //180 時(shí)鐘
#define ADC_speed_HH 0x60 // 90 時(shí)鐘
typedef unsigned long uint;
void delay(unsigned int x); //函數(shù)聲明
void LCD(unsigned int LedNumVal); //函數(shù)聲明
void Delay1ms(); //函數(shù)聲明
void Delay150us(); //函數(shù)聲明
void AD_Init(); //函數(shù)聲明
uint ADC(uint m); //函數(shù)聲明
void Delay350us(); //函數(shù)聲明
void Delay20ms(); //函數(shù)聲明
unsigned char code Disp_Tab[] = {0xd7,0x14,0xcd,0x5d,0x1e,0x5b,0xdb,0x15,0xdf,0x5f,0xd7}; // 數(shù)組 0-9
unsigned char code dispbit[4]={0x07,0x0b,0x0d,0x0e}; //位選控制
/************主函數(shù)**********************/
void main()
{
uint Vcc,Int,V,Int_S, Vcc_S;
unsigned char m,M;
P3M1=0x00;
P3M0=0xff; //設(shè)置P3口強(qiáng)推挽輸出
AD_Init(); //AD初始化
Delay1ms(); //開始采樣電壓前延時(shí),電路有幾個(gè)電容充電未完成前會(huì)拉低部分元器件電壓(導(dǎo)致采樣電壓不準(zhǔn)),目測(cè)須延時(shí)1S,懶得改程序了
while(1)
{
Delay20ms();
Int_S=0;
Vcc_S=0;
m=0;
for(m;m<24;m++)
{
Delay350us(); //采樣電壓時(shí)差
Int_S += ADC(4);
Vcc_S += ADC(5);
Int = Int_S/24;
Vcc = Vcc_S/24; //采樣24次電壓求平均值
}
M=20*Int/Vcc;
if(M>16) V=19150*Int/Vcc;
else if(M>11) V=19100*Int/Vcc; //大于11V電壓轉(zhuǎn)換公式
else if(M>10) V=19150*Int/Vcc; //10V-11V
else if(M>5) V=19200*Int/Vcc; //5V-10V
else if(M>3) V=19350*Int/Vcc; //3V-5V
else if(M>1) V=19550*Int/Vcc; //1V-3V
else if(M>=0) V=20000*Int/Vcc; //0-1V 各量程精度調(diào)整
LCD(V); //電壓顯示
}
}
/*******數(shù)碼管顯示函數(shù)*************/
void LCD(unsigned int LedNumVal)
{
unsigned int LedOut[4]; //變量定義
if(LedNumVal>9999)
{
LedOut[0]=Disp_Tab[LedNumVal%100000/10000]; // 千位
LedOut[1]=Disp_Tab[LedNumVal%10000/1000]|0x20; // 百位
LedOut[2]=Disp_Tab[LedNumVal%1000/100]; // 十位
LedOut[3]=Disp_Tab[LedNumVal%100/10]; // 個(gè)位
}
if(LedNumVal<10000)
{
LedOut[0]=Disp_Tab[LedNumVal%10000/1000]|0x20; // 千位
LedOut[1]=Disp_Tab[LedNumVal%1000/100]; // 百位
LedOut[2]=Disp_Tab[LedNumVal%100/10]; // 十位
LedOut[3]=Disp_Tab[LedNumVal%10]; // 個(gè)位 if語句 實(shí)現(xiàn) 小數(shù)點(diǎn)自動(dòng)切換
}
P3=LedOut[3];
P11=0;
delay(700);
P11=1;
P3=LedOut[2];
P12=0;
delay(700);
P12=1;
P3=LedOut[1];
P10=0;
delay(700);
P10=1;
P3=LedOut[0];
P13=0;
delay(700);
P13=1;
delay(700); // 數(shù)碼管消隱
}
/***********AD初始化***************/
void AD_Init()
{
P1M1=0x30;
P1M0=0x00; //設(shè)置P1.4\P1.5高阻
ADC_RES=0x00;
P1ASF=0x30;
ADC_CONTR=ADC_POWER|ADC_speed_LL;
Delay1ms();
}
/*********電壓采樣*********/
uint ADC(uint m)
{
if(m==4)
{
ADC_CONTR &=0xf8; //清空通道
ADC_CONTR |=0x04; //更換通道
Delay150us(); //更換通道延時(shí)
}
if(m==5)
{
ADC_CONTR &=0xf8;
ADC_CONTR |=0x05;
Delay150us();
}
ADC_CONTR |=ADC_START; //開啟AD轉(zhuǎn)換
_nop_();
_nop_();
_nop_();
_nop_();
while(!(ADC_CONTR & 0x10));
ADC_CONTR &= ~ADC_FLAG;
return ADC_RES; //返回轉(zhuǎn)換結(jié)果
}
/*******************延時(shí)函數(shù)**********/
void delay(unsigned int x)
{
char j;
for(x; x> 0; x--)
for(j = 400; j > 0; j--);
}
void Delay1ms() [url=]//@12.000MHz[/url]
{
unsigned char i, j;
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
void Delay150us() [url=]//@12.000MHz[/url]
{
unsigned char i, j;
i = 2;
j = 189;
do
{
while (--j);
} while (--i);
}
void Delay350us() [url=]//@12.000MHz[/url]
{
unsigned char i;
_nop_();
i = 172;
while (--i);
}
void Delay20ms() [url=]//@12.000MHz[/url]
{
unsigned char i, j;
i = 39;
j = 230;
do
{
while (--j);
} while (--i);
}
作者:
1123212143255
時(shí)間:
2016-10-21 12:38
問題解決了,是劉海龍指導(dǎo)完成的,下載他的51黑論壇_ADC極簡電壓表,就能量電壓了,多謝了
作者:
劉海龍
時(shí)間:
2016-10-21 14:57
1123212143255 發(fā)表于 2016-10-21 12:38
問題解決了,是劉海龍指導(dǎo)完成的,下載他的51黑論壇_ADC極簡電壓表,就能量電壓了,多謝了
不用謝,共同學(xué)習(xí)共同進(jìn)步。
作者:
liangyutong
時(shí)間:
2018-11-7 17:55
ADC極簡電壓表在哪下載的。
作者:
liangyutong
時(shí)間:
2018-11-7 18:10
ADC電壓表在哪下載。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产成人精品久久
|
欧美日韩综合
|
亚洲精品视频一区
|
免费99视频
|
中文字幕不卡
|
天天操综合网站
|
亚洲一区在线免费观看
|
91久久久www播放日本观看
|
伊人久久综合
|
亚洲第一天堂
|
91精品国产综合久久精品
|
亚洲精品一
|
国产日韩av一区二区
|
毛色毛片免费看
|
精品国产乱码久久久久久丨区2区
|
成人精品视频
|
国产99久久
|
毛片99
|
日韩中文在线
|
国产日韩欧美一区二区在线播放
|
天天操夜夜操
|
久久精品中文
|
亚洲免费精品
|
国产99精品
|
亚洲综合视频
|
在线亚洲人成电影网站色www
|
国产在线观看网站
|
日韩二区三区
|
午夜欧美
|
亚洲精品中文字幕
|
黄a在线播放
|
天堂精品
|
亚洲精品欧美
|
免费小视频在线观看
|
欧美精品三区
|
99久久精品国产毛片
|
日韩伦理一区二区
|
久久成人在线视频
|
夜夜草导航
|
免费观看一级特黄欧美大片
|
日本在线免费看最新的电影
|