اطلاعیه

Collapse
No announcement yet.

یه مشکل با ال سی دی ساعت

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یه مشکل با ال سی دی ساعت

    سلام دوستان من به یه مشکلی برخوردم یه ساعت با atmega16 روی برد برد زدم ولی نمدونم چرا به جای ساعت و تاریخ برنامه توی خط پایین ال سی دی مربع رو نشون میده ؟ :angry:

    #2
    پاسخ : یه مشکل با ال سی دی ساعت

    اینم عکسش

    http://www.ecapic.ir/image/ECA-090729035712.jpg

    دیدگاه


      #3
      پاسخ : یه مشکل با ال سی دی ساعت

      سلام
      کو عکسش؟؟؟؟؟؟؟؟؟؟ :mrgreen: :mrgreen:
      در ضمن برنامه را هم بزارین تا اگه بلد بودم بگم مشکلش کجاست.
      فرزندم در راه است

      دیدگاه


        #4
        پاسخ : یه مشکل با ال سی دی ساعت

        روی لینکی که گذاشتم کلیک کن میبینی
        برنامه رو هم اینه ::::


        $regfile = "m16def.dat"
        $crystal = 1000000
        $lib "ds1307clock.lib"
        Config Portb = Input
        Enable Interrupts
        Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7 = _
        Pinc.0 , Rs = Pinc.4 , E = Pinc.5
        Config Lcd = 16 * 2
        Cursor Off
        Cls
        Config Sda = Portd.7
        Config Scl = Portd.6
        Const Ds1307w = &HD0
        Const Ds1307r = &HD1
        Config Clock = User
        Dim State As Byte
        Dim Weekday As Byte
        Dim Myear As Integer 'input miladi(gregorian) year
        Dim Mday As Integer 'input miladi day
        Dim Mmonth As Integer 'input miladi month
        Dim Mdayofyear As Integer
        Dim Myear_ As Integer

        Dim Jday As Integer 'Output jalali(shamsi) day
        Dim Jmonth As Integer 'Output Jalali month
        Dim Jyear As Integer 'Output Jalali year
        Dim Jdayofyear As Integer

        Dim Gnumdayofyear As Integer
        Dim Isleapyear As Bit
        Dim Isleapyearp As Bit

        Dim Iloop As Byte
        Dim Temp1 As Integer
        Dim Temp2 As Integer
        Dim Temp3 As Integer
        Dim Temp4 As Integer

        Dim Jmonth_a(12) As Byte
        Dim Mmonth_a(12) As Byte

        Mmonth_a(1) = 31
        Mmonth_a(2) = 28
        Mmonth_a(3) = 31

        Mmonth_a(4) = 30
        Mmonth_a(5) = 31
        Mmonth_a(6) = 30

        Mmonth_a(7) = 31
        Mmonth_a(8) = 31
        Mmonth_a(9) = 30

        Mmonth_a(10) = 31
        Mmonth_a(11) = 30
        Mmonth_a(12) = 31

        Gnumdayofyear = 365


        Config Porta = Input
        Porta = 255
        Do
        Gosub Getdatetime
        Debounce Pina.0 , 0 , Setting , Sub
        Myear = _year + 2000 'Sample miladi (gregorian) Year
        Mday = _day 'Sample miladi day
        Mmonth = _month


        Temp1 = Myear Mod 4
        Temp2 = Myear Mod 100
        Temp3 = Myear Mod 400
        Temp4 = Temp1 And Temp2
        If Temp4 <> 0 Or Temp3 = 0 Then
        Mmonth_a(2) = 28
        Else
        Mmonth_a(2) = 29
        End If
        Myear_ = Myear - 1
        Temp1 = Myear_ Mod 4
        Temp2 = Myear_ Mod 100
        Temp3 = Myear_ Mod 400
        Temp4 = Temp1 And Temp2
        If Temp4 <> 0 Or Temp3 = 0 Then
        Reset Isleapyearp
        Else
        Set Isleapyearp
        End If
        Temp1 = Mmonth - 1
        For Iloop = 1 To Temp1
        Mdayofyear = Mmonth_a(iloop) + Mdayofyear
        Next
        Mdayofyear = Mday + Mdayofyear
        If Mdayofyear > 79 Then
        Temp1 = Mdayofyear - 79
        Jyear = Myear - 621
        If Temp1 < 186 Then
        Temp2 = Temp1 Mod 31
        Temp3 = Temp1 / 31
        If Temp2 = 0 Then
        Jmonth = Temp3
        Jday = 31
        Else
        Jmonth = Temp3 + 1
        Jday = Temp2
        End If
        Else
        Temp2 = Temp1 - 186
        Temp3 = Temp2 Mod 30
        Temp4 = Temp2 / 30
        If Temp3 = 0 Then
        Jmonth = Temp4 + 6
        Jday = 30
        Else
        Jmonth = Temp4 + 7
        Jday = Temp3
        End If
        End If
        Else
        Jyear = Myear - 622
        If Isleapyearp = 1 Then
        Mdayofyear = Mdayofyear + 11
        Else
        Mdayofyear = Mdayofyear + 10
        End If
        Temp2 = Mdayofyear Mod 30
        Temp3 = Mdayofyear / 30
        If Temp2 = 0 Then
        Jmonth = Temp3 + 9
        Jday = 30
        Else
        Jmonth = Temp3 + 10
        Jday = Temp2
        End If
        End If


        Locate 1 , 1
        Lcd "> "
        Locate 1 , 4
        Lcd Jyear ; "/" ; Jmonth ; "/" ; Jday ; " "
        Locate 1 , 16
        Lcd "<"
        Locate 2 , 1
        Lcd "* " ; Time$ ; " *"
        Mdayofyear = 0
        Main:
        If Pinb.0 = 1 Then
        Home
        Lcd " LEFT&REAR DOOR "
        Lowerline
        Lcd " OPEN "
        Waitms 500
        Goto Main
        End If
        Home
        If Pinb.1 = 1 Then
        Home
        Lcd "RIGHT&REAR DOOR "
        Lowerline
        Lcd " OPEN "
        Waitms 500
        Goto Main
        End If
        If Pinb.2 = 1 Then
        Home
        Lcd "LEFT&FRONT DOOR "
        Lowerline
        Lcd " OPEN "
        Waitms 500
        Goto Main
        End If
        If Pinb.3 = 1 Then
        Home
        Lcd "RIGHT&FRONT DOOR "
        Lowerline
        Lcd " OPEN "
        Waitms 500
        Goto Main
        End If
        Waitms 300
        Loop
        End




        Getdatetime:
        I2cstart
        I2cwbyte Ds1307w
        I2cwbyte 0
        I2cstart
        I2cwbyte Ds1307r
        I2crbyte _sec , Ack
        I2crbyte _min , Ack
        I2crbyte _hour , Ack
        I2crbyte Weekday , Ack
        I2crbyte _day , Ack
        I2crbyte _month , Ack
        I2crbyte _year , Nack
        I2cstop
        _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
        _day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
        Weekday = Makebcd(weekday)

        Return

        Setdate:
        _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
        I2cstart
        I2cwbyte Ds1307w
        I2cwbyte 4
        I2cwbyte _day
        I2cwbyte _month
        I2cwbyte _year
        I2cwbyte Weekday
        I2cstop
        Return

        Settime:
        _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour) : Weekday = Makebcd(weekday)
        I2cstart
        I2cwbyte Ds1307w
        I2cwbyte 0
        I2cwbyte _sec
        I2cwbyte _min
        I2cwbyte _hour
        I2cwbyte Weekday
        I2cstop
        Return

        'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        Setting:
        If State = 0 Then
        State = 1
        Gosub Lcd_time
        Elseif State = 1 Then
        State = 2
        Gosub Lcd_date
        Elseif State = 2 Then
        State = 0
        End If
        Return
        'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        Lcd_date:

        Cls
        Home

        Lcd " Setting date"
        Wait 1
        Do
        Locate 2 , 5

        Lcd _year ; "/" ; _month ; "/" ; _day ; " "
        If Pina.1 = 0 Then
        Incr _day
        If _day > 31 Then
        _day = 1
        End If
        Elseif Pina.2 = 0 Then
        Incr _month
        If _month > 12 Then
        _month = 1
        End If
        Elseif Pina.3 = 0 Then
        Incr _year
        If _year > 50 Then
        _year = 9
        End If
        Elseif Pina.0 = 0 Then
        Gosub Setdate
        Cls
        Lcd " SAVE ok"
        Wait 1
        Exit Do
        End If
        Waitms 350
        Loop


        Return
        'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        Lcd_time:

        Cls
        Home

        Lcd " Setting time"
        Wait 1
        Do

        Locate 2 , 5

        Lcd _hour ; ":" ; _min ; ":" ; _sec ; " "
        If Pina.1 = 0 Then
        Incr _hour
        If _hour > 23 Then
        _hour = 0
        End If
        Elseif Pina.2 = 0 Then
        Incr _min
        If _min > 59 Then
        _min = 0
        End If
        Elseif Pina.3 = 0 Then
        Incr _sec
        If _sec > 59 Then
        _sec = 0
        End If
        Elseif Pina.0 = 0 Then
        Gosub Settime
        Cls
        Lcd " SAVE ok"
        Wait 1
        Exit Do
        End If
        Waitms 350
        Loop
        Return

        دیدگاه


          #5
          پاسخ : یه مشکل با ال سی دی ساعت

          خب شما بیا اصلا یه برنامه ساده بنویس و یه چیزی رو lcd نمایش بده
          بعد بیا این برنامه را دیباگ کن
          فرزندم در راه است

          دیدگاه


            #6
            پاسخ : یه مشکل با ال سی دی ساعت

            وقت ندارم زود باید تحویل بدم :cry2: به نظر شما مشکل از کجا می تونه باشه؟ البته اگه امتحان کنین این برنامه تو bascom جواب میده نمیده ؟

            دیدگاه


              #7
              پاسخ : یه مشکل با ال سی دی ساعت

              سلام دوست عزیز
              بی احترامی نباشه
              اما وقتی دوستمون اقای کیانی عرض می کنند که با یه برنامه ساده LCD رو امتحان کنید منظورشون مطمئن شدن ار سالم بودن و درستی اتصالات LCD و
              اگر درست نباشه وقت شما رو بیشتر میگیره . من هم همین نظر رو دارم شما باید قدم به قدم مشکلتون رو حل کنید .
              باز هم ببخشید
              در میان مردم پی دستی هستم پی گرمای نگاهی حتی در پس این همه چشم سردی غربت انسان پیداست
              در پس، این همه نور این همه رنگ چه کسی میبیند اشک آن کودک را چشم آن مردی را
              که شبانگاه، سر افکنده ز شرم و به یاد طفل اش بی صدا میگرید، می شکند
              آری این شهر من است این همان شهر شما است در پی چشمی باش که نگاه اش آبی است و پر از نم نم باران بهار

              دیدگاه


                #8
                پاسخ : یه مشکل با ال سی دی ساعت

                سلام
                دوست عزیز شما Jtag رو غیر فعال کردی؟
                پروردگارا: به من زيستني عطا کن که در لحظه مرگ بر بي ثمري لحظه اي که براي زيستن گذشته است حسرت نخورم، و مردني عطا کن که بر بيهودگيش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست ميداري

                دیدگاه


                  #9
                  پاسخ : یه مشکل با ال سی دی ساعت

                  آره ولی بازم تغییری نکر د :angry: :angry:

                  دیدگاه


                    #10
                    پاسخ : یه مشکل با ال سی دی ساعت

                    دوست عزیز مشکل رو پیدا کردم
                    در قسمت پیکر بندی ال سی دی (خط هفتم برنامه) برنامه رو اینجوری عوض کن
                    Rs = Pinc.5 , E = Pinc.4
                    پروردگارا: به من زيستني عطا کن که در لحظه مرگ بر بي ثمري لحظه اي که براي زيستن گذشته است حسرت نخورم، و مردني عطا کن که بر بيهودگيش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست ميداري

                    دیدگاه


                      #11
                      پاسخ : یه مشکل با ال سی دی ساعت

                      اقای حسنی اگه میشه فایل پروتوس رو برام میل بزنید و یه سوال کریستالی که به مدار بستین مقدارش چقدره ؟ :job:

                      دیدگاه


                        #12
                        پاسخ : یه مشکل با ال سی دی ساعت

                        کرسیتال که کریستال ساعته (32.768 کیلو هرتز)
                        چشم فایل پروتئوس رو هم میل یکنم
                        پروردگارا: به من زيستني عطا کن که در لحظه مرگ بر بي ثمري لحظه اي که براي زيستن گذشته است حسرت نخورم، و مردني عطا کن که بر بيهودگيش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست ميداري

                        دیدگاه


                          #13
                          پاسخ : یه مشکل با ال سی دی ساعت

                          :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause:

                          دیدگاه


                            #14
                            پاسخ : یه مشکل با ال سی دی ساعت

                            امروز بعد از کلی سر و کله زدن با مدار بازم نتونستم جواب بگیرم یه برنامه ساده نوشتم که یک led رو در پایه ی یک روشن کنه که بازم نشد با مولتی مترم تست کردم اصلا میکرو خروجی نداد میکرو رو عوض کردم بازم جواب نداد ال سی دی رو عوض کردم بازم جواب نداد تمامی اتصالات رو روی برد برد چک کردم بازم جواب نداد پورت خروجی رو تو برنامه اصلی عوض کرم بازم جواب نداد دیگه فکرم به جایی قد نمیده !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! :angry: :angry: :angry: :angry:

                            دیدگاه


                              #15
                              پاسخ : یه مشکل با ال سی دی ساعت

                              کسی نیست بدونه مشکل کار ما از کجاست ؟؟؟؟؟؟ :cry:

                              دیدگاه

                              لطفا صبر کنید...
                              X