اطلاعیه

Collapse
No announcement yet.

درخواست پروژه پتانسیومتر

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

    درخواست پروژه پتانسیومتر

    با عرض سلام خدمت دوستان محترم . اگه ممکنه منو تو انجام این پروژه راهنمایی کنید .
    با استفاده از 8051 اسمبلی و adc , یک پتانسیوتر 5k اهم سیستمی طراحی کنید که بتواند میزان نور یک لامپ dc را کنترل نماید .
    پتانیومتر عددی رو که نشون میده به نسبت اون لامپ روشن میشه . مثلا صفر خاموش و 255 روشن و بقیه اعداد به نسبت .
    ممنون

    #2
    درخواست پروژه پتانسیومتر

    خوب اگه کسی بلد نیست لاقل یه توضیح دقیق در مورد پتانسیومتر بدین خودم بنویسم . 6 تا سوال باید حل کنم این یکیشونه.

    دیدگاه


      #3
      پاسخ : درخواست پروژه پتانسیومتر

      سلام
      تا اونجا که بنده متوجه شدم شما باید با استفاده از یه آیسی ADC (مثلاً ADC0804 ) استفاده کنید و مقدار ولتاژ رو از پتانسیومتر بخونید و بعد اونو بدید به یه DAC تا یه لامپ رو روشن کنه. درسته؟
      خب حالا کاری که شما باید بکنید اینه. دیتاشیت یک مبدل آنالوگ به دیجیتال (و برعکس!) رو بخونید و اگه مشکلی تو راه اندازیشون داشتید اینجا بپرسید.

      موفق باشید

      دیدگاه


        #4
        پاسخ : درخواست پروژه پتانسیومتر

        با عرض سلام به دوست عزیزمون
        واسه اینکار شما میتوانید از پتانسیومتر دیجیتال IC AD520x استفاده کنید که از رابط SPI استفاده میکنه و config کردنش هم راحته
        دلا خو کن به تنهایی که از تنها بلا خیزد

        دیدگاه


          #5
          پاسخ : درخواست پروژه پتانسیومتر

          سلام شروع کن به برنامه نوشتن من هم کمکت می کنم ....منتها از قبل باید دقیقا سخت افزار را طراحی کن و اونو تو تاپیک قرار بده تا دقیقا برای ما هم روشن بشه چکار می خواهیم بکنیم :applause:
          ....................HELP ME GOD ...........................

          WORLD ELECTRONIC................................

          nasrolahymohsen@gmail.com......................... ...

          دیدگاه


            #6
            پاسخ : درخواست پروژه پتانسیومتر

            اینم یه پروژه نصف نیم کاره در عین حال کامل ، برید حالشو ببرید ..................................................
            :job: :eek: :nice: :nerd:
            8051
            کد:
            ; ---------------------------------------------------------------
            ;|              CONFIG PORTS            |
            ; ---------------------------------------------------------------
               CLK  BIT  P1.0
               SDIN BIT  P1.1
               CS  BIT  P1.2
            ;************************
               UP  BIT  P3.0
               MNU  BIT  P3.1
               DOWN BIT  P3.2
               DATA EQU  P0
               MOV  P0,#00
            ;************************
               SETB UP
               SETB MNU
               SETB DOWN
            if a=b
            endif
            ; ---------------------------------------------------------------
            ;|              SCAN KEY              |
            ; ---------------------------------------------------------------
            SCAN_KEY:  JB  MNU,SCAN_KEY
                  ACALL INC_MENU
                  SJMP MNU1
            ; ---------------------------------------------------------------
            ;|              MENU                |
            ; ---------------------------------------------------------------
            INC_MENU:
                  INC  R1
                  CJNE R1,#4,RETURN
                  MOV  R1,#0
            RETURN:   ACALL WAIT 
                  RET
            ; ---------------------------------------------------------------
            ;|             JUMP MENU              |
            ; --------------------------------------------------------------- 
            
            MNU1:    CJNE R1,#1,MNU2
                  SJMP CHANGE_VOL
            
            MNU2:    CJNE R1,#2,MNU3
                  SJMP CHANGE_BAS 
               
            MNU3:    CJNE R1,#3,SCAN_KEY
                  SJMP CHANGE_TRB
            
            ; ---------------------------------------------------------------
            ;|             CHECK KEY              |
            ; --------------------------------------------------------------- 
            CHANGE_VOL:
                  JNB  UP,INCV
                  JNB  DOWN,DECV
                  JNB  MNU,SCAN_KEY
                  SJMP CHANGE_VOL
            
            CHANGE_BAS:
                  JNB  UP,INCB
                  JNB  DOWN,DECB
                  JNB  MNU,SCAN_KEY
                  SJMP CHANGE_BAS
            
            CHANGE_TRB: 
                  JNB  UP,JINCT
                  JNB  DOWN,JDECT
                  JNB  MNU,SCAN_KEY
                  SJMP CHANGE_TRB
            JDECT:   LJMP DECT
            JINCT:   LJMP INCT 
            ; ---------------------------------------------------------------
            ;|            CHANGE VOLUME              |
            ; --------------------------------------------------------------- 
            INCV:
                  INC  R2
                  CJNE R2,#254,NEXTV
            NEXTV:   JNC  STOPIV
                  ACALL DELAY
                  ACALL VOL
                  SJMP CHANGE_VOL
            STOPIV:   MOV  R2,#254
                  SJMP CHANGE_VOL
            ;............................................ 
            DECV:
                  DEC  R2
                  CJNE R2,#10,PREVV
            PREVV:   JC  STOPDV
                  ACALL DELAY
                  ACALL VOL
                  SJMP CHANGE_VOL
            STOPDV:   MOV  R2,#11
                  SJMP CHANGE_VOL
            ;............................................ 
            VOL:
                  ACALL CH1
                  MOV  A,R2
                  ACALL SEND_DATA
                  ACALL SAVE   
                  ACALL CH2
                  MOV  A,R2
                  ACALL SEND_DATA
                  ACALL SAVE
                  RET
            ; ---------------------------------------------------------------
            ;|            CHANGE BASS              |
            ; ---------------------------------------------------------------
            INCB:
                  INC  R3
                  CJNE R3,#254,NEXTB
            NEXTB:   JNC  STOPIB
                  ACALL DELAY
                  ACALL BAS
                  SJMP CHANGE_BAS
            STOPIB:   MOV  R3,#254
                  SJMP CHANGE_BAS
            ;............................................ 
            DECB:
                  DEC  R3
                  CJNE R3,#10,PREVB
            PREVB:   JC  STOPDB
                  ACALL DELAY
                  ACALL BAS
                  SJMP CHANGE_BAS
            STOPDB:   MOV  R3,#11
                  LJMP CHANGE_BAS
            ;............................................ 
            BAS:   
                  ACALL CH3
                  MOV  A,R3
                  ACALL SEND_DATA
                  ACALL SAVE   
                  ACALL CH4
                  MOV  A,R3
                  ACALL SEND_DATA
                  ACALL SAVE
                  RET
            ; ---------------------------------------------------------------
            ;|             CHANGE TREBLE             |
            ; ---------------------------------------------------------------
            INCT:
                  INC  R4
                  CJNE R4,#254,NEXTT
            NEXTT:   JNC  STOPIT
                  ACALL DELAY
                  ACALL TRB
                  LJMP CHANGE_TRB
            STOPIT:   MOV  R4,#254
                  LJMP CHANGE_TRB
            ;............................................ 
            DECT:
                  DEC  R4
                  CJNE R4,#10,PREVT
            PREVT:   JC  STOPDT
                  ACALL DELAY
                  ACALL TRB
                  LJMP CHANGE_TRB
            STOPDT:   MOV  R4,#11
                  LJMP CHANGE_TRB
            
            ;............................................ 
            TRB:
                  ACALL CH5
                  MOV  A,R4
                  ACALL SEND_DATA
                  ACALL SAVE   
                  ACALL CH6
                  MOV  A,R4
                  ACALL SEND_DATA
                  ACALL SAVE
                  RET 
            ; ---------------------------------------------------------------
            ;|             SET CHANNEL              |
            ; ---------------------------------------------------------------
            CH1:  
               MOV  A,#00H
               ACALL SEND_DATA
               RET
            
            CH2:
               MOV  A,#01H
               ACALL SEND_DATA
               RET
            
            CH3:
               MOV  A,#02H
               ACALL SEND_DATA
               RET
            
            CH4:
               MOV  A,#03H
               ACALL SEND_DATA
               RET
            
            CH5:
               MOV  A,#04H
               ACALL SEND_DATA
               RET
            
            CH6:
               MOV  A,#05H
               ACALL SEND_DATA
               RET
            
            ; ---------------------------------------------------------------
            ;|             SAVE CHANGES             |
            ; ---------------------------------------------------------------
            SAVE:
               SETB CS
               MOV  A,#80H
               ACALL SEND_DATA
               CLR CS
               RET
            ; ---------------------------------------------------------------
            ;|             SEND DATA               |
            ; ---------------------------------------------------------------
            SEND_DATA: MOV  R0,#8   
                  CLR  C
            LOOP:    RLC  A   
                  MOV  SDIN,C      
                  CLR  CLK
                  NOP
                  SETB CLK
                  NOP
                  DJNZ R0,LOOP
                  CLR  A
                  RET
            
            ; ---------------------------------------------------------------
            ;|              DEALY               |
            ; ---------------------------------------------------------------
            WAIT:    MOV  20H,#255
            REP:    MOV  21H,#255
            REP1:    MOV  22H,#255
            REP2:    DJNZ 22H,REP2
            REP3:    DJNZ 21H,REP3
                  DJNZ 20H,REP 
                  RET
            
            DELAY:   MOV  23H,#20
            LOP:    MOV  24H,#255
            LOOOP:   DJNZ 24H,LOOOP
                  DJNZ 23H,LOP
                  RET
            [hr]
            AVR
            کد:
            $regfile = "m32def.dat"
            $crystal = 8000000
            Config Spi = Soft , Din = Portb.3 , Dout = Portb.1 , Clock = Portb.0 , Ss = Portb.4
            Config Portb.2 = Output
            Cs Alias Portb.2
            
            Spiinit
            
            Dim Ch1 As Byte
            Dim Ch2 As Byte
            Dim Ch3 As Byte
            Dim Ch4 As Byte
            Dim Ch5 As Byte
            Dim Ch6 As Byte
            
            Ch1 = &H00
            Ch2 = &H01
            Ch3 = &H02
            Ch4 = &H03
            Ch5 = &H04
            Ch6 = &H05
            
            
            Dim Var As Byte
            
            
            Var = 255
            
            Dim A As Byte
            A = &H80
            
            
            
            
            
            Do
            Cs = 0
            Spiout Ch1 , 1
            Spiout Var , 1
            Cs = 1
            
            Spiout A , 1
            
            Cs = 0
            Spiout Ch2 , 1
            Spiout Var , 1
            Cs = 1
            
            Spiout A , 1
            Cs = 0
            Spiout Ch3 , 1
            Spiout Var , 1
            Cs = 1
            
            Loop
            End
            دلا خو کن به تنهایی که از تنها بلا خیزد

            دیدگاه

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