2015-11-14 28 views
0

我正在爲pic18f4550的pic組件編寫一個程序來計算通過傳感器的汽車數量,我將在LCD上顯示數值。發送到LCD的值是char類型。我的問題是,我不知道如何增加我的變量,這是通過知道它是一個字符的汽車數量。如何增加程序集pic18f4550中的字符?

+0

它是一個'char'或'char'-s? – i486

+3

'char'是C類型。 pic18的彙編語言只知道原始字節。 INCF指令可以用來遞增一個寄存器。處理進位值大於1字節是您的責任。在LCD上顯示該值必須轉換爲字符串。 – Unimportant

+0

我還是個小菜鳥。那麼如何增加寄存器的值然後轉換爲字符串? – othman

回答

0

可以用多種方法將查找表(如果有的話)轉換爲ASCII字符串(「255」,或十六進制0x32 0x35 0x35)(單值0-xff或0-255十進制)大量額外的ROM空間,並且沒有其他類型的「打印」要求)轉換爲涉及位移和掩模的有效例程。一些谷歌搜索會給你幾個選擇。

您需要做出一些決定,決定是否顯示前導零,如果數字中的位數小於3位,則需要用空格填充空格。

INCF指令將從255變爲0,這可能不是你想要的。

你確定你不會高於255嗎?如果是這樣,您需要使用16位寄存器(0-65535)或32位(0-4294967295)。