|
发表于 2013-6-13 12:34:30
|
显示全部楼层
- //LCD显示数字函数,5位等宽
- void LCD_write_numbers(uint8 x, uint8 y, int numbers)
- {
- uint8 nums[5]={' ', ' ', ' ', ' ', ' '};
- uint16 exp10[5]={1,10,100,1000,10000};
- uint8 n, i=1;
- if(numbers < 0)
- {
- nums[0]='-';
- numbers = -numbers;
- }
-
- if(numbers > 9999)
- {
- LCD_write_string(x, y, "#####");
- return;
- }
- else if(numbers > 999)
- n = 4;
- else if(numbers > 99)
- n = 3;
- else if(numbers > 9)
- n = 2;
- else
- n = 1;
-
- while(n)
- {
- nums[i] = (uint8)(numbers % exp10[n] / exp10[n-1]) + '0';
- i++;
- n--;
- }
- LCD_write_string(x, y, nums);
- }
复制代码 这是我写的1602用来显示5位等宽数字的代码。为了节省运算资源与时间,一般用数组来存储10的幂~不知你能理解我的意思不... |
|