本帖最后由 zl2168 于 2017-3-27 15:01 編輯
樓上不完整解答。AD轉換后的是數(shù)字量:0~255,而不是模擬量1V。因此,有數(shù)字量轉換為模擬量的運算及其編程。
在顯示數(shù)轉換為顯示數(shù)字子程序中,滿量程A-D值FFH(255)對應UREF+(5V),顯示時需將A-D值按比例變換:255→500。變換方法為:(A-D值÷255)×500=(A-D值÷51)×100V。在變換過程中,數(shù)值會超出一字節(jié)(大于255)。因此,C51程序先將原來定義于字符型變量的A-D值轉換為整型變量,然后進行255→500的數(shù)值變換,以免出錯。匯編程序則巧妙利用變換后高8位數(shù)值最大為1(總數(shù)值≤510)的特征,避免采用二字節(jié)除法子程序,從而簡化了變換程序。
以上摘自張志良編著《80C51單片機實用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學習51單片機原理,程序(c和匯編)語句條條有注解,便于閱讀理解,便于自學。
|