本帖最后由 zl2168 于 2017-5-21 17:48 編輯
你的程序有問題。給你一個參考程序,內有解決方法,自己去研讀。在顯示數轉換為顯示數字子程序中,滿量程A-D值FFH(255)對應UREF+(5V),顯示時需將A-D值按比例變換:255→500。變換方法為:(A-D值÷255)×500=(A-D值÷51)×100V。在變換過程中,數值會超出一字節(jié)(大于255)。因此,C51程序先將原來定義于字符型變量的A-D值轉換為整型變量,然后進行255→500的數值變換,以免出錯。匯編程序則巧妙利用變換后高8位數值最大為1(總數值≤510)的特征,避免采用二字節(jié)除法子程序,從而簡化了變換程序。
以上摘自張志良編著《80C51單片機實用教程——基于Keil C和Proteus》高等教育出版社ISBN978-7-04-044532-9.