Newbie в 89C51 прекъсват интерфейс помощ нужда!

G

Guest

Guest
Аз m проектиране на автоматична врата използване AT89C51 и аз m изправена пред сериозен проблем, че мога да го решим.

I m 2 външни прекъсват използва за ограничаване на вратата.В нормален режим, трябва първо да минете граница сила прекъсват 0 ПИН на ниско ниво и вратата е затворена.Ако сензор открива лицето идва, тя ще се отвори и второто преминаване на граница се променя състоянието си, прекъсва 1 се появиха и прекъсване на ПИН-1 е най-ниско ниво, мотора се прекрати (прекъсване на 1 ПИН винаги е на ниско ниво и само да се промени състоянието си висока, когато сензор осъзнаят, че човек е извън вратата (на вратата се затваря)

Възнамерявам да довереник 2 прекъсне спада край прекъсват задвижване.Но има нещо не е наред с това.Моята програма не може да стартира правилно!(прекъсва 0 / прекъсне 1 остава ниско ниво след падане край възникнат! нищо лошо с това?

Трябва ти съвет да завърши проекта си!

Благодарности!

 
Изглежда твърде сложна.Просто нека администратора чете статус на сензори "(включително врата положение и хора откриване) с помощта на външни прекъсва.следва да се задейства процес на двигателя.Той е на крайните държавна машина.

 
Interrupts се използват най-вече, когато искате да се реагира бързо на външни събития.Можете да имате до опциите в молбата Ви.Или ще са избирателните на пристанищата (INT0, INT1) периодично или да използвате прекъсвам.Polling могат да бъдат използвани от периодично получава прекъсване от таймер, или просто в изборния цикъл в SW.Колкото по-късно е случаят, когато се основната програма, няма нищо общо с изключение гледат сензори и да действа по съответния начин.Виждам, че вашата кандидатура може да се направи с най-новите и най-проста случай.Разбира се, ако искате да научите обработка на прекъсвания можете да направите това, но в този случай трябва да се определи по-ясно какво означава с ДиоЦитат:

прекъсват 0 / прекъсне 1 остава ниско ниво след падане край възникнат
 
Здрасти,

Добавете малко допълнителен хардуер и ще спестите ценно време.

Добавете допълнителни FFS да настигнат и удържане на външните събития, а след това прочетете тази FFS периодично със съответните рутинни в основната линия и да предприеме действия в друга approprate рутина.

89C51 прекъсват система не е толкова бърз и добър, тъй като някои по-нови архитектури (ARM).

Използвайте избирателните с някои допълнителни хардуерни вместо чист прекъсват Driven софтуерни решения.

 
Също така след Ур прекъсват рутинни код.

 
U може да открие p1.0 и p1.1 състояние, които не използват прекъсват
Това може да бъде по-лесно

 

Welcome to EDABoard.com

Sponsor

Back
Top