<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>8051 hexapod problem</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/18406/8051-hexapod-problem</link><description> hi. i have several problems with my project(hexapod walker).one is when the code jumps into an ISR when an interrupt occurs for the front sensor,it wont back in the main program.it will only jump into the ISR after that when the interrrupt pin is enabled</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: 8051 hexapod problem</title><link>https://community.arm.com/thread/122673?ContentTypeID=1</link><pubDate>Fri, 28 Jan 2005 09:50:32 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:22f7227e-d0da-42e6-82eb-a246db213fdf</guid><dc:creator>brendan lawlman</dc:creator><description>&lt;p&gt;i forced the timer overflow at the end of the ISR. the problem was it was jumping back into the delay and waiting. not thats solved. i need a way of keeping track of the motors position.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8051 hexapod problem</title><link>https://community.arm.com/thread/111278?ContentTypeID=1</link><pubDate>Fri, 28 Jan 2005 07:57:27 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:868ed275-1954-425a-9a2f-a9668b48ff03</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;you call delay from both main and ISR.  Just visualize that the interrupt happen while delay is executed from main&lt;br /&gt;
&lt;br /&gt;
Erik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8051 hexapod problem</title><link>https://community.arm.com/thread/84494?ContentTypeID=1</link><pubDate>Fri, 28 Jan 2005 05:35:48 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:2057b4bf-ab9a-412b-a78a-c83447ce0668</guid><dc:creator>brendan lawlman</dc:creator><description>&lt;p&gt;o.k sorry. im doing my code in ASM.&lt;br /&gt;
this is Part of the code:&lt;br /&gt;
&lt;br /&gt;
ORG 0&lt;br /&gt;
USING 0&lt;br /&gt;
JMP main&lt;br /&gt;
ORG 0013H&lt;br /&gt;
JMP external1ISR&lt;br /&gt;
main:&lt;br /&gt;
		MOV TMOD,#10H&lt;br /&gt;
		CLR F0				        SETB EX1&lt;br /&gt;
		SETB IT1&lt;br /&gt;
		SETB EA&lt;br /&gt;
foward:         CLR P1.0&lt;br /&gt;
		CALL delay&lt;br /&gt;
		JNB F0,skip1&lt;br /&gt;
		JMP main&lt;br /&gt;
skip1:		SETB P1.0&lt;br /&gt;
                   *&lt;br /&gt;
                   *&lt;br /&gt;
                   *&lt;br /&gt;
               BUSY WAITING DELAY&lt;br /&gt;
                   *&lt;br /&gt;
                   *&lt;br /&gt;
external1ISR:   ;reverse and turn code&lt;br /&gt;
                CLR P1.3&lt;br /&gt;
		CALL delay&lt;br /&gt;
		SETB P1.3&lt;br /&gt;
		SETB F0&lt;br /&gt;
		RETI&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ok in the main program the hex is walking forward. whats happening now is that. when it jumps into the ISR,it will not jump into the main program when the ISR is complete. it keeps jumping into the ISR every time u apply a negitive edge to P3.3(external interrupt)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8051 hexapod problem</title><link>https://community.arm.com/thread/73024?ContentTypeID=1</link><pubDate>Thu, 27 Jan 2005 20:55:48 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8d086175-10c5-458b-9758-bc2da54ea457</guid><dc:creator>Neil Kurzman</dc:creator><description>&lt;p&gt;(1) a Hexapod is a 6 legged walking robot by Lynxmotion.&lt;br /&gt;
&lt;br /&gt;
(2) Your question is not clear. If the ISR is in C it returns at the end of the function.  If ASM when you issue a RETI.  If you need to use a flag  use a bit variable. Set it in the interupt. read it in main.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 8051 hexapod problem</title><link>https://community.arm.com/thread/43510?ContentTypeID=1</link><pubDate>Thu, 27 Jan 2005 12:54:49 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c0406ff3-f9b6-4841-9672-aff8600b27d3</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;&lt;i&gt; 1)(hexapod walker)  2)when the code jumps into an ISR when an interrupt occurs for the front sensor,it wont back in the main program. 3)it will only jump into the ISR after that when the interrrupt pin is enabled. 4)another problem does anyone know what F0 does.general purpose flag????&lt;/i&gt;&lt;br /&gt;
1) what is a &amp;quot;hexapod walker&amp;quot;&lt;br /&gt;
2) assembler or C, either way show ISR code&lt;br /&gt;
3) as it is supposed to&lt;br /&gt;
4) can be used by anyone (would not dare assume the C compiler does not use it)&lt;br /&gt;
&lt;br /&gt;
Erik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>