| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Исчисление на процент от зададено напрежение и исписването http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=4959 |
Страница 1 от 1 |
| Автор: | Комбинатор [ Нед Окт 14, 2007 9:42 am ] |
| Заглавие: | Исчисление на процент от зададено напрежение и исписването |
Искам да исчисля процент от максимално напрежение на батерия и да го испиша на дисплей в ascii знаци Махимума на ADC числото е toascii=24 (при 13,9V); int toascii,percent; unsigned char Niwo_Bat[4]; percent=(toascii*100)/24; ////процента на едно число от друго; if(percent==100){ Niwo_Bat[0]='1',Niwo_Bat[1]='0',Niwo_Bat[2]='0'; } else { Niwo_Bat[0]=0x20; ////space Niwo_Bat[1]=(percent/10); //// взимам десетиците, като цифрите след десетичната запетая(ще я има ако е float) от делението се изяждат от INT ////на percent и unsigned char на Nivo_Bat Niwo_Bat[2]=percent-(Signal_Number[1]*10);////взимам и едениците като от цялото число изваждам десетиците Niwo_Bat[1]+=0x30; /// към ASCII на десетиците if(Niwo_Bat[1]=='0')Niwo_Bat[1]=0x20; ////ако имаме '0' пишем space Niwo_Bat[2]+=0x30;/// кум ASCII на едениците Niwo_Bat[3]='%'; }; Цялата дивотия се състои в това че работи, а аз не знам по добър начин за тази сметка. Как да преобразивам 65 в вид 0x36,0x35 |
|
| Автор: | ToHu [ Нед Окт 14, 2007 12:17 pm ] |
| Заглавие: | |
Е убий ме но не разбирам какво трябва да направиш, може ли да го изразиш по разбираемо. |
|
| Автор: | Ки4о [ Нед Окт 14, 2007 12:28 pm ] |
| Заглавие: | |
Преобразуваш първо числото от HEX->BCD :принерно FFFF ->65535.След това към всеки разряд добавяш Н'30' -> 0x06+0x30=0x36;0x05+0x30=0x35; и получените чиала са ти ASCII символите за ЛСД то. |
|
| Автор: | Комбинатор [ Нед Окт 14, 2007 1:34 pm ] | |||||||||
| Заглавие: | ||||||||||
Налага ми се да премеря напрежението на един акумолатор и да дам на дисплей процента на заряда и разряда (при 100%=13,9V а при 0% ==10,9V) Така е защото този който следи акумолатора да не се замисля при колко волта какво е състоянието на заряда. Получавам процентите 0x64==100%, но за да се прати на дисплей се иска "1","0","0","%" (0x31,0x30,0x30,0x25)
.....Направих си труда да погледна библиотеката на bcd.lib и се оказа доста компактна-противно на очакванията ми. |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|