اطلاعیه

Collapse
No announcement yet.

خواندن فقط 4بیت

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

    خواندن فقط 4بیت

    سلام

    دوستان من 4بیت دارم و به پایه های D0-D3 متصل شده ؛ حالا پایه های D5-D7 هم برای کارای دیگه هست ؛ می خوام فقط 4بیت اول(D0-D3) رو چک کنم که بصورت ده دهی چه عددی بهم میده و با دستوراتی مثل SELECT-CASE می خوام چک کنم ، حالا چطوری می تونم این کارو انجامش بدم .

    با تشکر...
    وقتي گريبان عدم با دست خلقت مي دريد/وقتي ابد چشم تو را پيش از ازل مي آفريد/وقتي زمين ناز تو را در آسمانها مي کشيد/وقتي عطش طعم تو را با اشکهايم مي چشيد/من عاشق چشمت شدم ، نه عقل بود و نه دلي/چيزي نمي دانم از اين ديوانگي و عاقلي/يک آن شد اين عاشق شدن ، دنيا همان يک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتي که من عاشق شدم شيطان به نامم سجده کرد/آدم زميني تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشي و نه گلي/چيزي نمي دانم از اين ديوانگي و عاقلي/.

    #2
    پاسخ : خواندن فقط 4بیت

    خوب فکر کنم مقدار پورت رو کامل بخونی و مثلا با یه 0xF0 یا برعکس (بستگی به پین هایی داره که می خواهید بخونید ) 0x0F اون رو and می کنید این طوری شما فقط 4 بیتی رو دارید که می خواستید سپس اگر نیاز بود یه شیفت 4 تایی به سمت راست هم می زنید به این ترتیب شما عدد مورد نظر رو دارید .
    - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .

    دیدگاه


      #3
      پاسخ : خواندن فقط 4بیت

      نوشته اصلی توسط mania59
      خوب فکر کنم مقدار پورت رو کامل بخونی و مثلا با یه 0xF0 یا برعکس (بستگی به پین هایی داره که می خواهید بخونید ) 0x0F اون رو and می کنید این طوری شما فقط 4 بیتی رو دارید که می خواستید سپس اگر نیاز بود یه شیفت 4 تایی به سمت راست هم می زنید به این ترتیب شما عدد مورد نظر رو دارید .
      مهندس گرام امکانش هست یه مثال با بسکام بزنی؟؟؟

      پورت D از 0تا 3 رو به عنوان 4بیت ورودی دارم
      D5 به عنوان DTMFOUT که تون های شماره گیری رو تولید میکنه
      D6 , D7 به عنوان خروجی و D4 به عنوان ورودی 1بیت هست ؛ حالا می خوام از D0 تا D4 رو بخونم و باهاشون به عنوان DTMF IN شماره ی مورد نظر رو بدست بیارم .
      وقتي گريبان عدم با دست خلقت مي دريد/وقتي ابد چشم تو را پيش از ازل مي آفريد/وقتي زمين ناز تو را در آسمانها مي کشيد/وقتي عطش طعم تو را با اشکهايم مي چشيد/من عاشق چشمت شدم ، نه عقل بود و نه دلي/چيزي نمي دانم از اين ديوانگي و عاقلي/يک آن شد اين عاشق شدن ، دنيا همان يک لحظه بود/آن دم که چشمانت مرا از عمق چشمانت ربود/وقتي که من عاشق شدم شيطان به نامم سجده کرد/آدم زميني تر شد و عالم به آدم سجده کرد /بودم و چشمان تو ، نه آتشي و نه گلي/چيزي نمي دانم از اين ديوانگي و عاقلي/.

      دیدگاه


        #4
        پاسخ : خواندن فقط 4بیت

        با بسکام که نه .
        ولی با C :

        کد:
        	unsigned char Data = PORTD;
        	Data = Data & 0x0F;
        بعد از این دستور مقدار عددی Data میشه مقدار عددی گرفته شده از پین های 0 تا 3 پورت D

        - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .

        دیدگاه

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