سلام دوستان
من یک 74HC164 از نوع SMDآ رو به یک ATmega128آ وصل کردم و در خروجی 74HC164آ یک سری اپتوکوپلر گذاشتم که قرار هست یک سری رله را خاموش و روشن کند.
حالا مشکل اینجا هست که مثلا من عدد 0x01 رو به خروجی شیفت میدم و در این مرحله فقط رله شماره یک روشن می شود حالا اگر بخواهم رله همین رله رو خاموش کنم باید عدد 0x00 رو به خروجی شیفت بدم ولی اتقاقی که در عمل پیش میاد این هست که یک لحظه تمام 7 خروجی دیگر چشمک میزند و این اتفاق یعنی یک فاجعه بزرگ برای رله ها :angry: :angry: :angry: :angry: :angry: :angry:
من از دستور Shiftout در بسکام استفاده کردم. به نظر چه راهی وجود راه که سرعت این شیفت دادن رو زیاد کنم تا این اپتوکوپلرها در خروجی روشن نشوند؟
من یک 74HC164 از نوع SMDآ رو به یک ATmega128آ وصل کردم و در خروجی 74HC164آ یک سری اپتوکوپلر گذاشتم که قرار هست یک سری رله را خاموش و روشن کند.
حالا مشکل اینجا هست که مثلا من عدد 0x01 رو به خروجی شیفت میدم و در این مرحله فقط رله شماره یک روشن می شود حالا اگر بخواهم رله همین رله رو خاموش کنم باید عدد 0x00 رو به خروجی شیفت بدم ولی اتقاقی که در عمل پیش میاد این هست که یک لحظه تمام 7 خروجی دیگر چشمک میزند و این اتفاق یعنی یک فاجعه بزرگ برای رله ها :angry: :angry: :angry: :angry: :angry: :angry:
من از دستور Shiftout در بسکام استفاده کردم. به نظر چه راهی وجود راه که سرعت این شیفت دادن رو زیاد کنم تا این اپتوکوپلرها در خروجی روشن نشوند؟
کد:
Do Relay = &H01 Shiftout Data1 , Clk1 , Relay , 1 , 8 , 1 Wait 3 Relay = &H00 Shiftout Data1 , Clk1 , Relay , 1 , 8 , 1 Wait 3 Loop
دیدگاه