熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2017-4-7 21:53
正文摘要:我用ADC0804測(cè)量電壓,轉(zhuǎn)換的數(shù)字量是(0~255),但是在變換電壓時(shí),這個(gè)數(shù)字量不是按線性變換的,變換沒(méi)有規(guī)律,如果我把電壓設(shè)為2.5V,輸出位001,而不是177啊,這是怎么回事,我用的是郭天祥的那個(gè)程序,一模一樣 ... |
雪花太 發(fā)表于 2017-4-8 23:02 木有,只有ADC0832的程序 |
imxuheng 發(fā)表于 2017-4-8 19:21 那你有沒(méi)有一個(gè)正確的程序。能給我看哈嗎?謝謝了 |
雪花太 發(fā)表于 2017-4-8 15:14 沒(méi)有,程序似乎不行 |
這個(gè)電路有沒(méi)有錯(cuò)啊 |
1300584512 發(fā)表于 2017-4-8 09:27 這個(gè)應(yīng)該沒(méi)有,都能顯示了 |
#include<reg51.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char sbit duan=P2^0; sbit wei=P2^1; sbit wr=P3^0; sbit rd=P3^1; sbit cs=P3^2; sbit intr=P3^3; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay1ms(uint t) { uint i,j; for(i=0;i<t;i++) for(j=0;j<110;j++); } void display(uchar bai,uchar shi,uchar ge) { wei=1; P0=0x7e; wei=0; P0=0xff; duan=1; P0=table[bai]; duan=0; delay1ms(5); wei=1; P0=0x7d; wei=0; P0=0xff; duan=1; P0=table[shi]; duan=0; delay1ms(5); wei=1; P0=0x7b; wei=0; P0=0xff; duan=1; P0=table[ge]; duan=0; delay1ms(5); } void main() { uchar a,A1,A2,A3,adval; cs=0; wei=1; P0=0x7f; wei=0; while(1) { wr=1; _nop_(); wr=0; _nop_(); wr=1; while(intr); for(a=10;a>0;a--) { display(A1,A2,A3); } P1=0xff; rd=1; _nop_(); rd=0; _nop_(); adval=P1; rd=1; A1=adval/100; A2=adval%100/10; A3=adval%100%10; display(A1,A2,A3); } } |
有沒(méi)有可能數(shù)碼管的共陰和共陽(yáng)弄錯(cuò) |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
附上程序看看 |
本帖最后由 zl2168 于 2017-4-9 09:48 編輯 從數(shù)字量換算成模擬量的過(guò)程有問(wèn)題。 在顯示數(shù)轉(zhuǎn)換為顯示數(shù)字子程序中,滿(mǎn)量程A-D值FFH(255)對(duì)應(yīng)UREF+(5V),顯示時(shí)需將A-D值按比例變換:255→500。變換方法為:(A-D值÷255)×500=(A-D值÷51)×100V。在變換過(guò)程中,數(shù)值會(huì)超出一字節(jié)(大于255)。 先Proteus仿真一下,確認(rèn)有效。 實(shí)例81 ADC0808中斷方式A-D(ALE輸出CLK) ![]() ![]() 實(shí)例84 ADC0808并行A-D(虛擬CLK) ![]() ![]() 實(shí)例85 ADC0832串行A-D(TXD輸出CLK) ![]() ![]() 實(shí)例86 ADC0832串行A-D(虛擬CLK) ![]() ![]() 以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版.。書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。 |
Powered by 單片機(jī)教程網(wǎng)