我想用STC12C5410单片机做电压表,请指点。

\u5355\u7247\u673a\u8bbe\u8ba1\u5236\u4f5c\u6570\u5b57\u7535\u538b\u8868

3\uff0e \u7cfb\u7edf\u677f\u4e0a\u786c\u4ef6\u8fde\u7ebf
a) \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684P1.0\uff0dP1.7\u4e0e\u201c\u52a8\u6001\u6570\u7801\u663e\u793a\u201d\u533a\u57df\u4e2d\u7684ABCDEFGH\u7aef\u53e3\u75288\u82af\u6392\u7ebf\u8fde\u63a5\u3002
b) \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684P2.0\uff0dP2.7\u4e0e\u201c\u52a8\u6001\u6570\u7801\u663e\u793a\u201d\u533a\u57df\u4e2d\u7684S1S2S3S4S5S6S7S8\u7aef\u53e3\u75288\u82af\u6392\u7ebf\u8fde\u63a5\u3002
c) \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684P3.0\u4e0e\u201c\u6a21\u6570\u8f6c\u6362\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684ST\u7aef\u5b50\u7528\u5bfc\u7ebf\u76f8\u8fde\u63a5\u3002
d) \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684P3.1\u4e0e\u201c\u6a21\u6570\u8f6c\u6362\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684OE\u7aef\u5b50\u7528\u5bfc\u7ebf\u76f8\u8fde\u63a5\u3002
e) \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684P3.2\u4e0e\u201c\u6a21\u6570\u8f6c\u6362\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684EOC\u7aef\u5b50\u7528\u5bfc\u7ebf\u76f8\u8fde\u63a5\u3002
f) \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684P3.3\u4e0e\u201c\u6a21\u6570\u8f6c\u6362\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684CLK\u7aef\u5b50\u7528\u5bfc\u7ebf\u76f8\u8fde\u63a5\u3002
g) \u628a\u201c\u6a21\u6570\u8f6c\u6362\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684A2A1A0\u7aef\u5b50\u7528\u5bfc\u7ebf\u8fde\u63a5\u5230\u201c\u628a\u5176\u4ed6\u5f62\u5f0f\u7684\u80fd\u8f6c\u6362\u6210\u7535\u80fd\u7684\u88c5\u7f6e\u53eb\u505a\u7535\u6e90">\u7535\u6e90\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684GND\u7aef\u5b50\u4e0a\u3002
h) \u628a\u201c\u6a21\u6570\u8f6c\u6362\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684IN0\u7aef\u5b50\u7528\u5bfc\u7ebf\u8fde\u63a5\u5230\u201c\u4e09\u8def\u53ef\u8c03\u7535\u538b">\u7535\u538b\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684VR1\u7aef\u5b50\u4e0a\u3002
i) \u628a\u201c\u5355\u7247\u673a\u7cfb\u7edf\u201d\u533a\u57df\u4e2d\u7684P0.0\uff0dP0.7\u75288\u82af\u6392\u7ebf\u8fde\u63a5\u5230\u201c\u6a21\u6570\u8f6c\u6362\u6a21\u5757\u201d\u533a\u57df\u4e2d\u7684D0D1D2D3D4D5D6D7\u7aef\u5b50\u4e0a\u3002
4\uff0e \u7a0b\u5e8f\u8bbe\u8ba1\u5185\u5bb9
i. \u7531\u4e8eADC0809\u5728\u8fdb\u884c\u8f6c\u6362\u4e3a\u76f8\u5e94\u7684\u6570\u5b87\u91cf\u7684\u7535\u8def">A/D\u8f6c\u6362\u65f6\u9700\u8981\u6709CLK\u4fe1\u53f7\uff0c\u800c\u6b64\u65f6\u7684ADC0809\u7684CLK\u662f\u63a5\u5728AT89S51\u5355\u7247\u673a\u7684P3.3\u7aef\u53e3\u4e0a\uff0c\u4e5f\u5c31\u662f\u8981\u6c42\u4eceP3.3\u8f93\u51faCLK\u4fe1\u53f7\u4f9bADC0809\u4f7f\u7528\u3002\u56e0\u6b64\u4ea7\u751fCLK\u4fe1\u53f7\u7684\u65b9\u6cd5\u5c31\u5f97\u7528\u8f6f\u4ef6\u6765\u4ea7\u751f\u4e86\u3002
ii. \u7531\u4e8eADC0809\u7684\u53c2\u8003\u7535\u538bVREF\uff1dVCC">CC\uff0c\u6240\u4ee5\u8f6c\u6362\u4e4b\u540e\u7684\u6570\u636e\u8981\u7ecf\u8fc7\u6570\u636e\u5904\u7406\uff0c\u5728\u6570\u7801\u7ba1">\u6570\u7801\u7ba1\u4e0a\u663e\u793a\u51fa\u7535\u538b\u503c\u3002\u5b9e\u9645\u663e\u793a\u7684\u7535\u538b\u503c (D/256*VREF)
5\uff0e \u6c47\u7f16\u6e90\u7a0b\u5e8f
\uff08\u7565\uff09
6\uff0e C\u8bed\u8a00\u6e90\u7a0b\u5e8f
#include
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={10,10,10,10,0,0,0,0};
unsigned char dispcount;
unsigned char getdata;
unsigned int temp;
unsigned char i;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
void main(void)
{
ST=0;
OE=0;
ET0=1;
ET1=1;
EA=1;
TMOD=0x12;
TH0=216;
TL0=216;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
TR1=1;
TR0=1;
ST=1;
ST=0;
while(1)
{
if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=getdata*235;
temp=temp/128;
i=5;
dispbuf[0]=10;
dispbuf=10;
dispbuf=10;
dispbuf=10;
dispbuf[4]=10;
dispbuf[5]=0;
dispbuf[6]=0;
dispbuf[7]=0;
while(temp/10)
{
dispbuf[i]=temp%10;
temp=temp/10;
i++;
}
dispbuf[i]=temp;
ST=1;
ST=0;
}
}
}
void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
if(dispcount==7)
{
P1=P1 | 0x80;
}
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}

\u6211\u535a\u5ba2\u4e0a\u6709\u4e00\u4e2a\u7528\u6211\u7528C\u8bed\u8a00\u5199\u7684,\u5e0c\u671b\u5bf9\u4f60\u6709\u5e2e\u52a9.

假设你已经取到A/D的电压检测值。
如果你是用keilC写程序的话,在程序开头
#include <stdlib.h>
#include <stdio.h>
然后用这个函数
OutPut(double volt)
{
unsigned char xdata temp[20];
sprintf(temp,"%f",volt); //这个函数将volt用字符串形式输出到temp字符数组中。
这里插入显示temp字符串的程序,因为不知道你LED硬件情况,请自行添加。
}

STC的这个AD会随电源的电压飘的~不太好用的~那么多小数位等于没有~别看STC的那个数据……数据档里都说了会飘……

用外置的ADC,加隔离……或者用AVR系列……

菜菜,你检测这个电压用来做什么?做LowVoltageDetect吗?如果你从VDD处输入外部电压来检测,原理是说得过去,但是要显示3位电压值,还没有进行隔离,很危险的。God bless you and your MCU.

  • stc12c5410鍗曠墖鏈哄摢涓叕鍙哥敓浜х殑
    绛旓細瀹忔櫠骞舵湭鍏竷.鐜板湪鐖嗗嚭浜嗗畠鐨勭敓浜у巶.鎵浠ュ鏋滆澶ф壒閲忕殑STC,鍙互鐩存帴缁曡繃瀹忔櫠鎵緈egawin瀹氳揣(鎹姣斿畯鏅剁殑杩樹究瀹,鐢熶骇鍘傚槢).浣嗗彟澶,鐜板湪涓撲笟璁哄潧涓婂緢澶氬伐绋嬪笀鍙嶆槧STC鍗曠墖鏈鸿繍琛屼袱骞村悗,澶ч潰绉嚭鐜扮▼搴忚嚜鍔ㄤ涪澶辩殑鎯呭喌.濡傛灉鏄鐢ㄥ湪瀹夊叏绯绘暟瑕佹眰杈冮珮鐨勫伐鎺у満鍚,杩欐槸寰堝嵄闄╃殑.寤鸿瑕佷笁鎬濆啀涔....
  • stc12c5410ad鍗曠墖鏈虹浉鍏抽棶棰
    绛旓細1銆5410ad鐨勬湁浜涚鑴氱敤涓嶄笂锛屽彲浠ユ偓绌虹殑锛屼粈涔堢數闃讳篃涓嶇敤鎺 2銆佸鏋滀笉瑕佹眰鏅舵尟棰戠巼寰堢簿纭殑璇濓紝灏变笉鐢ㄥ鎺ユ櫠鎸簡锛屽唴閮ㄦ湁RC鏃堕挓鐢佃矾锛屽彲浠ョ渷鎺夊閮ㄦ櫠鎸殑锛屽湪涓嬭浇绋嬪簭鏃舵湁涓夐」锛岄夊唴閮≧C鐢佃矾灏辫銆3銆佸閮ㄥ浣嶇數璺篃鍙互鐪佹帀鐨勶紝鍐呴儴涔熸湁鐨勶紝濡傛灉涓嶉渶瑕佸湪澶栭儴鍔犳墜鍔ㄥ浣嶆寜閿紝灏辩渷鎺夊閮ㄥ浣嶇數璺紝...
  • 璋佷細鐢⊿TC鍗曠墖鏈虹殑PWM杈撳嚭!!!鎬!!!
    绛旓細鎴戠敤杩STC12C5410AD浣滀负PWM杈撳嚭鐨勶紝鐩存帴鎸夌収鏂囨。閰嶇疆鐩稿簲鐨勫瘎瀛樺櫒灏卞彲浠ヤ簡鍟娿傝緭鍑哄彛鏄浐瀹氱殑pin锛屽湪鎵嬪唽涓婃爣鏄庝负PWMx鐨勫氨鏄紝x涓虹浉搴旂殑PWM鐨勯氶亾锛屾垜鐢ㄧ殑閭d釜鏈4閫氶亾锛屼篃灏辨槸pwm0,pwm1,pwm2,pwm3
  • STC12C5410AD鍗曠墖鏈轰覆琛岄氫俊闂,璇烽珮鎵嬪府蹇
    绛旓細鍗曠墖鏈 STC12C5410AD锛屽唴閮ㄦ櫠鎸鐜囦笉绋冲畾, 涓茶閫氫俊娉㈢壒鐜囦篃浼氫笉绋冲畾, 鎺ユ敹绔殑鎺ユ敹鏁版嵁灏变細鍙戠敓閿欒銆傚綋鐒跺湪娓╁害涓嶅彉鐨勬儏鍐典笅锛屽苟鐭ラ亾鍗曠墖鏈虹殑棰戠巼锛屾尝鐗圭巼璁剧疆姝g‘锛岄氫俊灏辫兘姝e父銆備笅杞界▼搴忚兘姝e父鏄洜涓 鐢ㄤ簡 鑷姩璋冩暣娉㈢壒鐜 鐨勬柟娉曪紙鍦ㄨ蒋浠朵笂绋嶅井澶嶆潅涓浜涳級銆
  • stc89c52鍙互鐢╯tc12c5410浠f浛涔?
    绛旓細涓嶅彲浠ワ紝绠¤剼涓嶅悓锛89C52鏄40鑴氱殑锛12c5410鏄28鑴氱殑锛屼笉鑳界洿鎺ユ浛鎹紝浣嗘槸濡傛灉鏄慨鏀圭▼搴忥紝灏卞彲浠ワ紝閮芥槸51鐨勬牳锛屾寚浠ゅ吋瀹
  • stc12c5410AD浠涔堢數璺豢鐪熻蒋浠堕噷闈㈡湁,鎴栬呮湁浠涔鍗曠墖鏈哄彲浠ユ浛鎹㈠畠鐒 ...
    绛旓細stc12c5410AD鍗曠墖鏈猴紝娌℃湁鍙互浠f浛鐨勶紝鏇翠豢鐪熶笉浜嗙殑锛宲roteus閲岀殑鍗曠墖鏈洪兘娌℃湁PWM杈撳嚭鍔熻兘鐨勩傚嵆瑕侀変釜鍗曠墖鏈猴紝涓轰粈涔堥潪瑕佷豢鐪熷憿锛屼拱瀹炵墿鍗曠墖鏈虹剨鎺ョ數璺澘锛屽畬鍏ㄦ槸鐪熺殑涓滆タ锛屾潵鍐欑▼搴忓拰娴嬭瘯锛屽氨鎼炲畾浜嗐
  • STC鍗曠墖鏈鸿В瀵哠TC鍗曠墖鏈哄瀷鍙锋浛鎹
    绛旓細瀵逛簬鍚屼竴绯诲垪鐨勯泦鎴愮數璺紝濡傛灉瀛樺偍鍖哄ぇ灏忕浉鍚岋紝鐞嗚涓婃槸鍙互浜掓崲浣跨敤鐨勩傜劧鑰岋紝濡傛灉浜у搧涓寘鍚暟妯¤浆鎹㈠姛鑳斤紝杩欑鏇挎崲灏遍渶瑕佺壒鍒暀鎰忋傚湪鏌愪簺鎯呭喌涓嬶紝鎴戜滑鍙兘鏃犳硶鑾峰彇鍒板師鍨嬪彿鐨勬牱鐗囷紝杩欐椂鍙兘浼氭彁渚涙浛浠e瀷鍙枫傝繖绉嶆儏鍐典笅鐨勬浛鎹㈤渶浜嬪厛鍚戝巶瀹跺挩璇紝纭繚鍏跺吋瀹规э紝瀹㈡埛鍦ㄦ祴璇曟椂鍙互鏀惧績杩涜銆備緥濡傦紝STC12C5410AD...
  • 鍏充簬STC12C5410AD鍗曠墖鏈,EEPROM鍒板簳鑳戒笉鑳界敤
    绛旓細鎬庝箞涓嶈兘鐢ㄥ憖锛屽彧涓嶈繃涓嶈兘鎸夊瓧鑺傛摝闄わ紝蹇呴』鎸夋墖鍖烘摝闄わ紝娉ㄦ剰鍏堕鍦板潃涓嶆槸0x00锛屾槸0x2000 杩欐槸瀹樼綉涓婄粰鍑虹殑鎿嶄綔鏂规硶锛屾垜灏嗗叾鍒舵垚婧愭枃浠跺拰澶存枃浠讹細include<STC12C54.H> define uchar unsigned char define uint unsigned int //鎿﹂櫎鐗囧唴EEPROM鐨勪竴涓墖鍖 void eepromEraseSector (uint address){ uc...
  • STC12C5410AD鍗曠墖鏈洪噰闆嗛棶棰
    绛旓細鍒╃敤瀹氭椂鍣ㄧ殑闂ㄦ帶浣岹ATE娴嬮噺姝h剦鍐插搴︼紝鑴夊啿鐢盜NT寮曡剼杈撳叆锛岄棬鎺т綅GATE=1锛屽畾鏃惰鏁板櫒T鐨勫惎鍔ㄥ彈鍒板閮ㄤ腑鏂璉NT寮曡剼鐨勬帶鍒躲傚綋GATE=1鏃禩R=1鏃讹紝鍙湁INT寮曡剼涓洪珮鐢靛钩鏃讹紝T鎵嶈鍏佽璁℃暟銆傚埄鐢℅ATE鐨勮繖涓姛鑳藉彲浠ユ祴閲廔NT寮曡剼涓婃鑴夊啿鐨勫搴︺傝鏄庝竴涓嬶細鍏充簬TR銆乀銆両NT鍙槸娉涙硾鑰岃皥锛岀湅浣犱娇鐢ㄥ摢涓涓暒 鏈...
  • STC12C5410AD鍗曠墖鏈哄鎺ユ櫠鎸27M鍙互鍚
    绛旓細STC12C5410AD鍗曠墖鏈哄彲浠ュ鎺ユ櫠鎸27M,鏈楂樺彲浠ユ帴35M鐨勶紝浣嗘槸鍦ㄩ鐜囨瘮杈冮珮鐨勬椂鍊欐渶濂戒娇鐢ㄦ湁婧愭櫠鎸
  • 扩展阅读:sc100钢管参数 ... 我想接加工单 ... 我想放单怎样去找商家 ... 就不能让我一个人呆着吗 ... 我想和你唱歌曲单 ... stc15系列中文资料 ... sc100钢管外径多少sc ... stc芯片官网 ... 我想p一个立案回执单 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网