امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
ماشین حساب
نویسنده پیام
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #1
ماشین حساب
سلام
من می خوام کی پد 4*4 را وصل کنم به میکرو و خروجی اش را روی lcd نمایش بدم
بعوان مثال وقتی کلید 1 زدم 1 نمایش داده شودو اگر پشت سرش 2 زدم بعد یک دو نمایش داده بشه یعنی 12 و...
وقتی c رو زدم عداد را یکی یکی پاک کند مثل ماشین حساب
میخوام عمل جمع ضرب هم انجام بدم
برنامه kypad بصورت زیر نوشتم ولی مشکلی که داره نمیدونم چطور یکبار 1 میزنمیم نمایش داده میشه دوباره 2 رو که میزنم یک پاک میشه دونمایش داده میشه
حتی میخوام جاروب kypad به صورت زیر با شد

کد php:
#include <mega32.h>
#include <delay.h>

unsigned char key

void main(void)
{
while(
1)
      { 
      do{
      
     
DDRA 0x0f;
       
PORTA 0xf0
       
delay_us(100);
       
key PINA;
        
     
       
DDRA 0xf0;
       
PORTA 0x0f
       
delay_us(100);
       
key key PINA;
     
     }while(
key==0xff);
    
     
        
       
          switch(
key)
    {
        case 
0b11101110:    
        
key=1;
        break;
        case 
0b11011110:    
        
key=2;
        break;
        case 
0b10111110:   
        
key=3;
        break;
        case 
0b01111110:    
        
key=4;
        break;
        case 
0b11101101:    
        
key=5;
        break;
        case 
0b11011101:    
        
key=6;
        break;
        case 
0b10111101:    
        
key=7;
        break;
        case 
0b01111101:   
        
key=8;
        break;
        case 
0b11101011:    
        
key=9;
        break;
        case 
0b11011011:    
        
key=10;
        break;
        case 
0b10111011:    
        
key=11;
        break;
        case 
0b01111011:    
        
key=12;
        break;
        case 
0b11100111:    
        
key=13;
        break;
        case 
0b11010111:    
        
key=14;
        break;
        case 
0b10110111:    
        
key=15;
        break;
        case 
0b01110111:    
        
key=16;
        
    }
}


"... the quieter you become the more you are able hear "
۲۵-اردیبهشت-۱۳۹۴, ۱۷:۱۶:۵۵
ارسال‌ها
پاسخ
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #2
RE: ماشین حساب
کسی از دوستان راحل شو پیدا نکرد؟؟؟
من فقط می خوام عداد را بصورت رشته روی lcd نمایش بدم

"... the quieter you become the more you are able hear "
۲۷-اردیبهشت-۱۳۹۴, ۲۰:۴۲:۵۲
ارسال‌ها
پاسخ
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #3
RE: ماشین حساب
من تو کامپایلر های همچون stdio ,BASIC که در کامپیوتر استفاده میشه
برای این که دوتا عدد یا بیشتر در کنار هم قرارگیرند انان را بصورت کارکتر جمع یا اند میکنیم ولی تو کدویژن این دو عدد بجای این که در کنار هم قرار بگیره جمع میشه
کسی هست دلیلشو بدونه و راحل ش چیه؟؟؟؟؟

"... the quieter you become the more you are able hear "
۲۷-اردیبهشت-۱۳۹۴, ۲۰:۵۵:۲۸
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #4
RE: ماشین حساب
سلام.

دلیلش اینه که اون عملگرها در واقع تابع هستن.
برای کار شما، شاید ساده ترین راه اش این باشه که عدد اول که زده شد، در متغیر a ذخیره بشه، عدددوم که زده شد، در متغیر b قرار بگیره و a*=10 بشه و a+=b بشه و رو lcd نمایش داده بشه.
با زدن دکمه ی بعدی باز در b قرار بگیرهه و a*=10 بشه و a+=b بشه و رو lcd نمایش داده بشه.
و ... به همین ترتیب برای ورودی های بعدی. درواقع اینطوری 10 گان و 100 گان و ... رو به ترتیب ایجاد می کنید و عددتون رو بزرگ می کنید.

موفق باشید.

۲۷-اردیبهشت-۱۳۹۴, ۲۳:۰۸:۲۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hosseinip
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #5
RE: ماشین حساب
سلام
بله درسته با دو متغیر a,b میشه این کارو کرد
ولی چطور تشخیص بدم عددی که زده شد عدد دوم.
(آخرین ویرایش در این ارسال: ۲۸-اردیبهشت-۱۳۹۴, ۲۲:۴۱:۴۶، توسط hosseinip.)
۲۷-اردیبهشت-۱۳۹۴, ۲۳:۳۵:۵۰
ارسال‌ها
پاسخ
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #6
RE: ماشین حساب
نمیدونم چرا جواب نمیده
کد php:
#include <mega32.h>
#include <stdio.h>
#include <alcd.h>
#include <delay.h>

unsigned char str[16], key

void main(void)
{

lcd_init(16);

while (
1)
      {

      do{ 
      
      
     
DDRA 0x0f;
       
PORTA 0xf0
       
delay_us(100);
       
key PINA;
        
     
       
DDRA 0xf0;
       
PORTA 0x0f
       
delay_us(100);
       
key key PINA;
     
     }while(
key==0xff);
    
     
        
       
       switch(
key)
    {            

        case 
0b11101110:    
        
key=1;
        break;
        case 
0b11011110:    
        
key=2;
        break;
        case 
0b10111110:   
        
key=3;
        break;
        case 
0b01111110:    
        
key=4;
        break;
        case 
0b11101101:    
        
key=5;
        break;
        case 
0b11011101:    
        
key=6;
        break;
        case 
0b10111101:    
        
key=7;
        break;
        case 
0b01111101:   
        
key=8;
        break;
        case 
0b11101011:    
        
key=9;
        break;
        case 
0b11011011:    
        
key=10;
        break;
        case 
0b10111011:    
        
key=11;
        break;
        case 
0b01111011:    
        
key=12;
        break;
        case 
0b11100111:    
        
key=13;
        break;
        case 
0b11010111:    
        
key=14;
        break;
        case 
0b10110111:    
        
key=15;
        break;
        case 
0b01110111:    
        
key=16;
        
    }  
     
lcd_clear();
     
sprintf(str,"key=%d",key);
     
lcd_gotoxy(0,0);
     
lcd_puts(str);
     
      }


"... the quieter you become the more you are able hear "
۲۹-اردیبهشت-۱۳۹۴, ۰۱:۰۶:۱۲
ارسال‌ها
پاسخ
hosseinip آفلاین
كاربر دو ستاره
**

ارسال‌ها: 107
موضوع‌ها: 27
تاریخ عضویت: مهر ۱۳۹۳

تشکرها : 105
( 40 تشکر در 15 ارسال )
ارسال: #7
RE: ماشین حساب
سلام
من چند روزی درگیر این پروژه ماشین حسابم نمیدونم چرا جواب نمیده
اگه کسی نمونه پروژه ای در این ضمیمه داره بزاره
مشکل اول قرار دادن کارکتر ها در کنار هم بدو که به نتیجه نرسید
ولی اسکن key pad جور دیگه انجام داد مشکلش حل شد
ولی از اینجا به بعدش نمیدونم چه کار کنم؟؟؟؟
این کد جدید
کد php:
#include <mega32.h>
#include <alcd.h>
#include <delay.h> 
flash char layout[16]={ '7','8','9','/',
                        
'4','5','6','*',
                        
'1','2','3','+',
                        
'C','0','=','-',
                                         };

flash char shift[16]={0XFE,0XFD,0XFB,0xF7};
                
//0x11111110,0x11111101,0x11111011,0x11110111
int r=0,column=-1,position=0;
void main(void)
{                                                 
PORTD=0Xf0;      //11110000
DDRD=0X0f;       //00001111
lcd_init(16);

while (
1)          
      { 
      
//shift dadan portd
      
for(r=0r<4r++ ){
      
PORTD=shift[r];
      
// khondane meghdare PIND.4,PIND.5,PIND.6,PIND.7 
      
if(PIND.4==0){column=0;}// manzor az column hamon stone 
      
if(PIND.5==0){column=1;}
      if(
PIND.6==0){column=2;}
      if(
PIND.7==0){column=3;}
      
//frmole mohasebeh position keypad
      // p=r*4+c
      //6=1*4+2
      
if(column != -1){position=r*4+column
      
lcd_putchar(layout[position]);
      if(
position==12)lcd_clear();
      
column = -1;
      } 
      
delay_ms(50);
      }
      
      }


"... the quieter you become the more you are able hear "
۰۱-خرداد-۱۳۹۴, ۰۰:۰۷:۳۴
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Exclamation [سوال] پروژه ماشین حساب hosseinip 11 6,501 ۲۰-اسفند-۱۳۹۳, ۲۱:۵۲:۱۶
آخرین ارسال: hosseinip
Exclamation [سوال] ماشین حساب hosseinip 1 1,655 ۲۵-بهمن-۱۳۹۳, ۰۰:۰۵:۴۳
آخرین ارسال: helma
  حساب کردن مقدار موثر با میکرو atmega16 در بسکام m.riahi 2 2,738 ۰۶-مهر-۱۳۹۳, ۰۰:۲۵:۳۸
آخرین ارسال: m.riahi
  پروژه ماشین حساب به زبان اسمبلی. akbar8 7 4,599 ۰۴-تير-۱۳۹۲, ۱۹:۱۷:۵۴
آخرین ارسال: behzady
  ماشين حساب مهندسي با بسكام(با atmega) هست؟ jansfred 18 14,064 ۲۰-بهمن-۱۳۹۱, ۰۰:۳۴:۴۸
آخرین ارسال: behzady
  تلفیق برنامه ماشین حساب با این برنامه abbasalifix 15 10,220 ۱۹-بهمن-۱۳۹۱, ۰۹:۱۷:۲۷
آخرین ارسال: behzady
  ماشین حساب amirhb 0 2,374 ۰۹-شهریور-۱۳۹۱, ۰۸:۱۴:۰۷
آخرین ارسال: amirhb
  برنامه ماشین حساب در bascom؟ fmohamadi 9 14,553 ۲۰-اردیبهشت-۱۳۹۱, ۲۲:۲۲:۱۰
آخرین ارسال: shabepaeizi
  [سوال] کمک برای ماشین حساب با دو عملگر tar 2 3,058 ۱۴-دى-۱۳۹۰, ۱۶:۱۷:۲۶
آخرین ارسال: mehran2020
  کمک برای ساخت چراغ برای کف ماشین با LED saeid000 21 25,206 ۰۳-اردیبهشت-۱۳۹۰, ۱۳:۳۴:۳۱
آخرین ارسال: ha_60

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS