Tag: 计算器

基于ATMega8的计算器使用AVRstudi

关于计算器: 基本上这个计算器用于计算环境温度下铜和铝线的电阻,使用公式R2 = R1 *(1 + alpha(T-25)) 这里R2将是输出,R1将是用户使用4×4矩阵键盘输入的值(包括十进制值,如12.5等),T是温度传感器LM35记录的摄氏度温度。 铜的α=0.0039α,铝= 0.0042 它应该如何工作: 基本上温度将由计算器记录,该计算器将给出输入T.25℃的电阻值将由用户使用键盘输入。 现在键0-9和“。” 用于输入值。 在此之后当用户按下键盘上的“+”时,它应该实现铜的公式并在LCD上显示结果,类似地,当用户按下“ – ”时,它应该实现铝的公式。 让我们暂时保留“*”“/”和“=”按钮作为备用按钮。 进展到现在: 使用我在此附件中发送给您的代码,我能够正确地获得屏幕上的温度,我能够看到R1的值(即25°C时的电阻值)现在我无法弄清楚如何使用这些获取输出的值。 请帮我解决一下这个。 🙂 谢谢和问候,Mohit Goyal #define F_CPU 1000000UL #include #include #include #include #include “lcd.h” #include “lcd.c” #include #define KB_PORT_OUT PORTB #define KB_PORT_IN PINB void port_init(void) { DDRB = 0x0f; //Key-board port, higer nibble – input, lower […]

如何解决2 + 2和2 ++ 2冲突

在较大的程序中,我给出了以下(flex / bison) 在flex中: pn [\+|\-] dig [0-9]+ exp [e|E]{dig}+ 。 。 。 “+” {printf(“+ detected\n”); return PLUS_SIGN;} {pn}?{dig}+ { printf(“digit detected – %s\n”,yytext); sscanf(yytext, “%d”, (int*)&yylval); return TYPE_INT;} 在野牛: expr: expr PLUS_SIGN expr { $$ = $1 + $3; printf(” $$=%f\n”,$$); } | TYPE_INT { $$ = (int)$1; printf(” $$=%f\n”,$$); } ; 问题是: 当我给2 […]

如何在avr中存储十进制格式的数字

我想尝试使用ATMega8中的键盘输入小数值,直到现在我只能输入整数值代码如下 switch (keyCode) { case (0xee): keyPressed=”1″; b=1; a=a*10+b; break; case (0xed): keyPressed=”4″; b=4; a=a*10+b; break; case (0xeb): k keyPressed=”7″; b=7; a=a*10+b; break; case (0xde): keyPressed=”2″; b=2; a=a*10+b; break; case (0xdd): keyPressed=”5″; b=5; a=a*10+b; break; case (0xdb): keyPressed=”8″; b=8; a=a*10+b; break; case (0xd7): keyPressed=”0″; b=0; a=a*10+b; break; case (0xbe): keyPressed=”3″; b=3; a=a*10+b; break; case (0xbd): […]