|
本帖最后由 zl2168 于 2017-3-27 15:01 編輯
樓上不完整解答。AD轉(zhuǎn)換后的是數(shù)字量:0~255,而不是模擬量1V。因此,有數(shù)字量轉(zhuǎn)換為模擬量的運(yùn)算及其編程。
在顯示數(shù)轉(zhuǎn)換為顯示數(shù)字子程序中,滿量程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)。因此,C51程序先將原來(lái)定義于字符型變量的A-D值轉(zhuǎn)換為整型變量,然后進(jìn)行255→500的數(shù)值變換,以免出錯(cuò)。匯編程序則巧妙利用變換后高8位數(shù)值最大為1(總數(shù)值≤510)的特征,避免采用二字節(jié)除法子程序,從而簡(jiǎn)化了變換程序。
以上摘自張志良編著《80C51單片機(jī)實(shí)用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學(xué)習(xí)51單片機(jī)原理,程序(c和匯編)語(yǔ)句條條有注解,便于閱讀理解,便于自學(xué)。
|
|