函数中temp+‘7’是什么意思,为什么能够实现显示16进制数

2019-07-15 16:23发布

请教大神门帮我解释一下:

void lcd1602_disp_hex(unsigned char dat)
{
unsigned char temp;
temp = dat / 16;
if(temp <= 9)
  lcd1602_write_byte(temp + '0', 1);
else
  lcd1602_write_byte(temp + '7', 1);
temp = dat % 16;
if(temp <= 9)
  lcd1602_write_byte(temp + '0', 1);
else
  lcd1602_write_byte(temp + '7', 1);  
}


这个函数中,temp+‘7’是什么意思,为什么能够实现显示16进制数。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
1486447613
1楼-- · 2019-07-15 20:42
自己看ASCALL的表,应该是要显示A-F
@曲终人散@
2楼-- · 2019-07-16 02:05
个人感觉应该是lcd1602_write_byte(temp + 'a', 1);
平凡平凡
3楼-- · 2019-07-16 07:33
看来你对ASCII码还不太熟悉,这是玩单片机必备的常识。
平凡平凡
4楼-- · 2019-07-16 13:27
 精彩回答 2  元偷偷看……

一周热门 更多>