tag:blogger.com,1999:blog-62872664296755753802024-02-18T23:04:10.222-08:00microcontroladores piccasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.comBlogger22125tag:blogger.com,1999:blog-6287266429675575380.post-43851701853697207882012-04-15T19:03:00.000-07:002012-04-15T19:05:35.480-07:00sensor de passagem por zero (zero cross)<p> </p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO6HJhyphenhyphenZg6C-6iJGXRd1M1EPTDK-mWXHqOtLDtRLM0qUEnFMd7BzERVaGvgRMkINycATUvLUD42gORRGFwqtIEmWqxGSKMuE89wK52dvO0A8RRUmQKGJCMcBjykmxXNtTaBv7pbmta4v84/s1600-h/bannerfans_206421%25255B6%25255D.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="bannerfans_206421" border="0" alt="bannerfans_206421" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikoKS2Wl9ashHkzOarfLgLHThKjRmoM-IwzuKjH6zOzqLzSI4gLyJTYhMdxQUl4h4uhaCjAPHnw4-b_vmx0mdkethhBDTlNjHYtyC-VL3yu-vwN_x91Ywe-mNXWduQJYeITJQu8MHxnF68/?imgmax=800" width="358" height="83"></a> <em>segue um video de um sensor de passagem por zero muito bom para quem quer fazer um dimer com microcontrolador</em></p> <p> </p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvLL4C4PyaL_2VDCgnaQuAs6tgaMN1GJGM6j2hoORy4nKOl2TwX9n92num7fhQg2oYryqRvrolJye_ht32Gkc1rEhOuXkxuIQmK6dnn87NXJI5TI6eXXr2D-pkhoLw_XI4myWn_rbOAwvq/s1600-h/1234321%25255B10%25255D.jpg"></p> <div style="padding-bottom: 0px; margin: 0px auto; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:26ce42ac-132e-44c4-8834-2a4548c8e746" class="wlWriterEditableSmartContent"><div id="59423228-a6b8-41ae-8aa0-01b85404c66b" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=2OCwB5FHkYE&feature=youtube_gdata_player" target="_new"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimchqOCEuXQtpNbTr6z8vVTBG7hQsyrCTvPrfACceGoqlDtEjdaXgE-WtDJkVIKbw3qNQGCDrx7USYJd2G6yxGhsGTcyVZeS-YIpe3YILt-0YKZ7HShBy9WZTNlY9Bes4UhWYvQks391LI/?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('59423228-a6b8-41ae-8aa0-01b85404c66b'); downlevelDiv.innerHTML = "<div><object width=\"425\" height=\"355\"><param name=\"movie\" value=\"http://www.youtube.com/v/2OCwB5FHkYE&hl=en\"><\/param><embed src=\"http://www.youtube.com/v/2OCwB5FHkYE&hl=en\" type=\"application/x-shockwave-flash\" width=\"425\" height=\"355\"><\/embed><\/object><\/div>";" alt=""></a></div></div></div></a> casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-27703315333865300892012-02-27T10:48:00.001-08:002012-02-27T10:48:44.109-08:00circuito impresso e layout receptora protocolo rc5e finalmente consegui um tempo para fazer este pcb tão esperado da placa receptora do protocolo rc5<br />
e vo deixar aqui para download<br />
<a href="http://www.crocko.com/6287CE60446043F6A83274B45E52CC49/ir_controle.asm">ir_controle.asm</a> codigo fonte em assembly<br />
<a href="http://www.crocko.com/787E9B99541D4281BBB1F36F243E7993/ir_controle.HEX">ir_controle.HEX</a> codigo para ser gravado no pic<br />
<a href="http://www.crocko.com/8CFEB616FEDC463987A7690613C6D0CA/placa_receptora01.pdf">placa receptora</a><br />
<a href="http://www.crocko.com/E84738CEF0E341469FE3A0D268056002/placa_rele0.pdf">placa de reles para acionamentos</a><br />
qualquer duvida é so entrar em contato e vamo comenta ai gente rsrsrscasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com6tag:blogger.com,1999:blog-6287266429675575380.post-4813031426707043342012-02-16T10:04:00.000-08:002012-02-16T10:07:08.991-08:00fotos da placa receptora protocolo rc5<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc1Bei68rVMp3TOcMGvpl3K35f1Heg3lXzpv5QYGzlQAy_lI4mOzGd-7KzogzlyWQttYn0ogwZx0w9UIoYD4n47Kp8p-9USBOEL4M5BkTI8cqFiH8CUupCQau-xN_xWWm78kkk2itvDEw0/s1600/Foto015.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc1Bei68rVMp3TOcMGvpl3K35f1Heg3lXzpv5QYGzlQAy_lI4mOzGd-7KzogzlyWQttYn0ogwZx0w9UIoYD4n47Kp8p-9USBOEL4M5BkTI8cqFiH8CUupCQau-xN_xWWm78kkk2itvDEw0/s320/Foto015.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglYUqcxQhyJ9kAhasOBDKHHW3GMFJwX9tMO9h6e7mqWsY-4Yhs74hLcxW1t1dhFWdukiesHBqR8FqyidrGmHHphGnxicCNSu20B4Gbo2RBaz1dERqoUO0hIyA5ch8voHo1Gfig3BPdPwgY/s1600/Foto025.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglYUqcxQhyJ9kAhasOBDKHHW3GMFJwX9tMO9h6e7mqWsY-4Yhs74hLcxW1t1dhFWdukiesHBqR8FqyidrGmHHphGnxicCNSu20B4Gbo2RBaz1dERqoUO0hIyA5ch8voHo1Gfig3BPdPwgY/s320/Foto025.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-_dMNxZG9bRCptU9Fc-RIYPTDTKX6zVU2uYnMP4k5JZIz9KKyVyIfm1PpQcIKuzHPDSljVcKDI3XMVQap1mGR49AZYuoZFaHVZ5AeQs9lkK35Axkcg6Ll2d_FEuucGJ3_Bstuv1WQjfOy/s1600/Foto029.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-_dMNxZG9bRCptU9Fc-RIYPTDTKX6zVU2uYnMP4k5JZIz9KKyVyIfm1PpQcIKuzHPDSljVcKDI3XMVQap1mGR49AZYuoZFaHVZ5AeQs9lkK35Axkcg6Ll2d_FEuucGJ3_Bstuv1WQjfOy/s320/Foto029.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2ieW7LrISE5WKvfIQ3lFqIaUUxUXRVSSKwYKNHbABzr3qtib1Ff1iTE7yLMs5GJKCORrLbKCXlG7_8R4yTmbrfngKeli_Jc66lJ6B_GC8SUFFFDRKuz-VywNaFBIlpFBrVobUXdjcNeaK/s1600/Foto030.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2ieW7LrISE5WKvfIQ3lFqIaUUxUXRVSSKwYKNHbABzr3qtib1Ff1iTE7yLMs5GJKCORrLbKCXlG7_8R4yTmbrfngKeli_Jc66lJ6B_GC8SUFFFDRKuz-VywNaFBIlpFBrVobUXdjcNeaK/s320/Foto030.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIoOwRK-qBpN8mcUGU3qjRMEPky1a3NtJGnUU1sUYJ9JVWCg-O5s3Sa3puCVo06Ewm8nUALcd0qeFO_eWTC9KkArd2NNwjI-9VGqHH90XQKH_yl5uFQ_0hkBvoR49AVTsN_s559oA8NeQO/s1600/Foto055.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIoOwRK-qBpN8mcUGU3qjRMEPky1a3NtJGnUU1sUYJ9JVWCg-O5s3Sa3puCVo06Ewm8nUALcd0qeFO_eWTC9KkArd2NNwjI-9VGqHH90XQKH_yl5uFQ_0hkBvoR49AVTsN_s559oA8NeQO/s320/Foto055.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihsS6fdxsSZRcKkqL0ewG2266WlKmCgkJTE-P99Qn_D_w8RjtQLVCqCson6fAOOf0-UkCuAlkFguQC5NIWxUJHHgBMObDMdWhNg7wafsqqehnuig1qhtWKYlCFH6DTAMRHdv1x0m7qvknm/s1600/Foto056.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihsS6fdxsSZRcKkqL0ewG2266WlKmCgkJTE-P99Qn_D_w8RjtQLVCqCson6fAOOf0-UkCuAlkFguQC5NIWxUJHHgBMObDMdWhNg7wafsqqehnuig1qhtWKYlCFH6DTAMRHdv1x0m7qvknm/s320/Foto056.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_HTQ1O8-scz4BSdy0TGKSskej8qcG2Y75g_wih9mgerkAcV_uFKILP0et214z5SY4_uXlbjkMgGiiT8dsF-JD9Y_FgMCBxP2JJH7h3un1sHv_R0aKuB_MeXGKJr3p5mrpC_xHYIvopBv-/s1600/Foto057.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_HTQ1O8-scz4BSdy0TGKSskej8qcG2Y75g_wih9mgerkAcV_uFKILP0et214z5SY4_uXlbjkMgGiiT8dsF-JD9Y_FgMCBxP2JJH7h3un1sHv_R0aKuB_MeXGKJr3p5mrpC_xHYIvopBv-/s320/Foto057.jpg" width="320" /></a></div>
em breve estarei disponibilizando o esquema eletronico destas placas para downloadcasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com1tag:blogger.com,1999:blog-6287266429675575380.post-46507280514004773472012-02-13T15:23:00.000-08:002012-02-13T15:23:51.221-08:00teclado matricialhoje iremos falar sobre teclado matricial (aqueles que é usado em telefones) item muito usado em sistemas que se desejam um dispositivo de entrada de dados e interfaces com o usuario abaixo segue um descritivo de como é estes dispositivo internamente:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiv3ybbNgdGxYFvXGPUQ8Pj2_XooCv-8oLjo89CQryZJvTbkXAfsrZLRubgCOGT6OqgG1FdVqbJC_FWrhUUphiGlK8TeJ9TXOZDJ5_29UMrYLyzqrI-64ZWgL7SJMsJZmTqrTY0GJRtEfz/s1600/teclado+interno.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiv3ybbNgdGxYFvXGPUQ8Pj2_XooCv-8oLjo89CQryZJvTbkXAfsrZLRubgCOGT6OqgG1FdVqbJC_FWrhUUphiGlK8TeJ9TXOZDJ5_29UMrYLyzqrI-64ZWgL7SJMsJZmTqrTY0GJRtEfz/s320/teclado+interno.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: -webkit-auto;">e seu aspecto fisico:</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjhRd13tpSrg5nPPvVEw7X5CBpv-3S-mrXzis9w5YbGkzT4GbcxSv2Nmuk5Xq9_gUVDMopJFcYwW5cjW_oq8G_qdJn_xerafayJ5Xqv4GtyxI0c6eo_ztmh0ByiLgGpReuInPCxEnhfQnk/s1600/teclado+fisico.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjhRd13tpSrg5nPPvVEw7X5CBpv-3S-mrXzis9w5YbGkzT4GbcxSv2Nmuk5Xq9_gUVDMopJFcYwW5cjW_oq8G_qdJn_xerafayJ5Xqv4GtyxI0c6eo_ztmh0ByiLgGpReuInPCxEnhfQnk/s320/teclado+fisico.JPG" width="290" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
este dispositivo é composto de 3 colunas e 4 linhas</div>
<div class="separator" style="clear: both; text-align: center;">
uma forma de se ler qual tecla foi precionada esta descrita no roteiro abaixo:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
roteiro</div>
<div class="separator" style="clear: both; text-align: center;">
para identificar que tecla foi utilizada usaremos</div>
<div class="separator" style="clear: both; text-align: center;">
RA0-RA1-RA2 como saida para alterar o nivel logico</div>
<div class="separator" style="clear: both; text-align: center;">
da coluna 1-2-3 e</div>
<div class="separator" style="clear: both; text-align: center;">
RB0-RB1-RB2-RB3 como entrada para ler a tecla</div>
<div class="separator" style="clear: both; text-align: center;">
primeiro colocamos todas as colunas em nivel alto</div>
<div class="separator" style="clear: both; text-align: center;">
(RA0-1-2-3)</div>
<div class="separator" style="clear: both; text-align: center;">
lembrando que devemos colocar resistores de pull-down</div>
<div class="separator" style="clear: both; text-align: center;">
no (RA0-1-2)</div>
<div class="separator" style="clear: both; text-align: center;">
depois colocamos coluna 1 em nivel baixo (0)</div>
<div class="separator" style="clear: both; text-align: center;">
e escaneamos RB0-RB1-RB2-RB3</div>
<div class="separator" style="clear: both; text-align: center;">
lembrando que devemos colocar resistores de pull-up</div>
<div class="separator" style="clear: both; text-align: center;">
nos portosRB0-RB1-RB2-RB3</div>
<div class="separator" style="clear: both; text-align: center;">
quando o sistema estiver nesta condição a entrada que estiver em nivel baixo</div>
<div class="separator" style="clear: both; text-align: center;">
sera considerado uma tecla precinada da coluna 1</div>
<div class="separator" style="clear: both; text-align: center;">
temos 4 condições possiveis</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
PRIMEIRA</div>
<div class="separator" style="clear: both; text-align: center;">
1=1</div>
<div class="separator" style="clear: both; text-align: center;">
4=0</div>
<div class="separator" style="clear: both; text-align: center;">
7=0</div>
<div class="separator" style="clear: both; text-align: center;">
#=0</div>
<div class="separator" style="clear: both; text-align: center;">
SEGUNDA</div>
<div class="separator" style="clear: both; text-align: center;">
1=0</div>
<div class="separator" style="clear: both; text-align: center;">
4=1</div>
<div class="separator" style="clear: both; text-align: center;">
7=0</div>
<div class="separator" style="clear: both; text-align: center;">
#=0</div>
<div class="separator" style="clear: both; text-align: center;">
TERCEIRA</div>
<div class="separator" style="clear: both; text-align: center;">
1=0</div>
<div class="separator" style="clear: both; text-align: center;">
4=0</div>
<div class="separator" style="clear: both; text-align: center;">
7=1</div>
<div class="separator" style="clear: both; text-align: center;">
#=0</div>
<div class="separator" style="clear: both; text-align: center;">
QUARTA</div>
<div class="separator" style="clear: both; text-align: center;">
1=0</div>
<div class="separator" style="clear: both; text-align: center;">
4=0</div>
<div class="separator" style="clear: both; text-align: center;">
7=0</div>
<div class="separator" style="clear: both; text-align: center;">
#=1</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
viram como é simples e isto se repete para as outras colunas</div>
<div class="separator" style="clear: both; text-align: center;">
abaixo tem um trecho de um codigo em assembly</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both;">
;**************************************VARREDURA C1******************************************</div>
<div class="separator" style="clear: both;">
BCF C1 ;COLUNA1 EM NIVEL BAIXO</div>
<div class="separator" style="clear: both;">
BSF C2 ;COLUNA2 EM NIVEL ALTO</div>
<div class="separator" style="clear: both;">
BSF C3 ;COLUNA3 EM NIVEL ALTO</div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L1</div>
<div class="separator" style="clear: both;">
GOTO S1 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L2</div>
<div class="separator" style="clear: both;">
GOTO S2 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L3</div>
<div class="separator" style="clear: both;">
GOTO S3 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L4</div>
<div class="separator" style="clear: both;">
GOTO S4 </div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
;**************************************VARREDURA C2******************************************</div>
<div class="separator" style="clear: both;">
BSF C1 ;COLUNA1 EM NIVEL ALTO</div>
<div class="separator" style="clear: both;">
BCF C2 ;COLUNA2 EM NIVEL BAIXO</div>
<div class="separator" style="clear: both;">
BSF C3 ;COLUNA3 EM NIVEL ALTO</div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L1</div>
<div class="separator" style="clear: both;">
GOTO S5 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L2</div>
<div class="separator" style="clear: both;">
GOTO S6 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L3</div>
<div class="separator" style="clear: both;">
GOTO S7 </div>
<div class="separator" style="clear: both;">
NOP </div>
<div class="separator" style="clear: both;">
BTFSS L4</div>
<div class="separator" style="clear: both;">
GOTO S8 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
;**************************************VARREDURA C3******************************************</div>
<div class="separator" style="clear: both;">
BSF C1 ;COLUNA1 EM NIVEL ALTO</div>
<div class="separator" style="clear: both;">
BSF C2 ;COLUNA2 EM NIVEL ALTO</div>
<div class="separator" style="clear: both;">
BCF C3 ;COLUNA3 EM NIVEL BAIXO</div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L1</div>
<div class="separator" style="clear: both;">
GOTO S9 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L2</div>
<div class="separator" style="clear: both;">
GOTO S10 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L3</div>
<div class="separator" style="clear: both;">
GOTO S11 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
BTFSS L4</div>
<div class="separator" style="clear: both;">
GOTO S12 </div>
<div class="separator" style="clear: both;">
NOP</div>
<div class="separator" style="clear: both;">
GOTO S13 </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
AGORA VAMOS FAZER UMA PERGUNTA NÃO SERIA MAIS FACIL COLOCARMOS UMA ENTRADA PARA CADA TECLA?</div>
<div class="separator" style="clear: both; text-align: center;">
vamos analisar :</div>
<div class="separator" style="clear: both; text-align: center;">
temos 12 tecla</div>
<div class="separator" style="clear: both; text-align: center;">
seria nescessario 12 entradas usando o sistema de matricial usamos </div>
<div class="separator" style="clear: both; text-align: center;">
apenas 4 bits do portb e nos resta mais 4 bits do portb para usarmos</div>
<div class="separator" style="clear: both; text-align: center;">
como entrada de sensores ou saida para acionamentos</div>
<div class="separator" style="clear: both; text-align: center;">
de cargas via rele</div>
<div class="separator" style="clear: both; text-align: center;">
bom pessoal é isso ai qualquer duvida é só comentar</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com1tag:blogger.com,1999:blog-6287266429675575380.post-88706621234547806332011-12-12T03:36:00.000-08:002011-12-13T02:54:57.682-08:00protocolo rc5 part 2agora nesta segunda parte do tutorial do protocolo rc5<br />
estou colocando o codigo em assembler é um pouco longo são 444 linhas mais fico bem intuitivo<br />
qualquer duvida e so comentar<br />
lembrando que este codigo ainda nào foi otimizado por falta de tempo mais funciona perfeitamente e não roda lento<br />
<br />
<br />
<br />
<br />
<br />
<br />
;***************************DEVICE TEC/ SISTEMAS ELETRONICOS<br />
;DATA 07/07/2011<br />
;PROGRAMADOR: DANILO S CABRAL<br />
;COMPILADOR USADO MPLAB IDE V8.63<br />
;ALGORITIMO CRIADO PARA INTERPRETAÇÃO DOS SINAIS EMITIDOS POR CONTROLE REMOTO<br />
;ULTILIZANDO O PROTOCOLO (RC5) DESENVOLVIDO PELA PHILIPS<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
;PROTOCOLO ENVIA UMA SEQUENCIA DE 14BITS COM DURAÇÃO DE 25MS<br />
;SENDO CADA BIT COM 1.77MS DE DURAÇÃO<br />
;NESTE ALGORITIMO IREMOS TRABALHAR COM A LOGICA DE SINAIS INVERTIDA<br />
;DEVIDO AO FATO QUE O SENSOR INFRAVERMELHO INVERTE OS SINAIS ISTO E QUANDO O CONTROLE<br />
;ENVIA NL1 O SENSOR RECEBE E ENIA NL0 PARA O MICROCONTROLADOR E VICE VERSA.<br />
;=======================COMPOSIÇÃO DO CODIGO RECEBIDO<br />
;BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7|BIT8|BIT9|BIT10|BIT11|BIT12|BIT13|BIT4|<br />
;STARTBIT|TOGLE| ENDEREÇO | COMANDO COMPOSTO POR 6 BITS |<br />
;| DESCARTE | SINAIS QUE SERA USADO |<br />
;| DURAÇÃO 13.6MS | DURAÇÃO DE 10.2 MS |<br />
<br />
<br />
LIST P=16F84a ;define processador<br />
RADIX DEC ;define padrão decimal<br />
INCLUDE <P16F84a.INC> ;inclue arquivo com características do 16f628<br />
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC<br />
ERRORLEVEL -302<br />
;______________________________________SEL. BANCO DE MEMORIA<br />
#DEFINE BANK0 BCF STATUS,RP0<br />
#DEFINE BANK1 BSF STATUS,RP0<br />
;______________________________________VARIAVÉIS<br />
CBLOCK 0X0C<br />
W_TEMP<br />
STATUS_TEMP<br />
ADRESS ;AQUI FICA ARMAZENADO OS 8 BITS INICIAIS <br />
COMAND ;AQUI FICA ARMAZENADO OS 6 BITS REFERENTE A TECLA DO CONTROLE<br />
GETCH ;ULTILISADA PARA LIMITAR QUANTIDADE DE BITS <br />
FLAGCIR ;VARIAVEL USADA COMO ESPELHO DA VARIAVEL COMAND<br />
STARTBIT ;AQUI FICA ARMAZENADOS OS 2 START BITS E O BIT TOOGLE<br />
FLAGTEC ;FLAG DE CONTROLE DE TECLAS APERTADA<br />
FLAGTEC1 ;FLAG DE CONTROLE DE TECLAS APERTADA<br />
TEMPO0 ;VARIAVEL USADA PARA TEMPORIZAÇÃO<br />
TEMPO1 ;VARIAVEL USADA PARA TEMPORIZAÇÃO<br />
TEMPO2 ;VARIAVEL USADA PARA TEMPORIZAÇÃO<br />
TEMPO3 ;VARIAVEL USADA PARA TEMPORIZAÇÃO<br />
<br />
ENDC<br />
<br />
;_____________________________________FLAGS CONTROL;<br />
;FLAGS DE RECEBIMENTO IR<br />
#DEFINE CONTROLE STARTBIT,0<br />
#DEFINE _1 STARTBIT,1<br />
#DEFINE _2 STARTBIT,2<br />
#DEFINE _3 STARTBIT,3<br />
#DEFINE _4 STARTBIT,4<br />
#DEFINE TOOGLE STARTBIT,5<br />
#DEFINE START2 STARTBIT,6<br />
#DEFINE START1 STARTBIT,7<br />
#DEFINE CINCO FLAGCIR,5<br />
<br />
#DEFINE ZERO FLAGCIR,0<br />
#DEFINE TC1 FLAGTEC,0<br />
#DEFINE TC2 FLAGTEC,1<br />
#DEFINE TC3 FLAGTEC,2<br />
#DEFINE TC4 FLAGTEC,3<br />
#DEFINE TC5 FLAGTEC,4<br />
#DEFINE TC6 FLAGTEC,5<br />
#DEFINE TC7 FLAGTEC,6<br />
#DEFINE TC8 FLAGTEC,7<br />
#DEFINE TC9 FLAGTEC1,0<br />
#DEFINE TC0 FLAGTEC1,1<br />
;_____________________________________CONSTANTES;<br />
;VALORES EQUIVALENTES A TECLAS ACIONADAS NO CONTROLE<br />
#DEFINE TECLA0 B'00111100'<br />
#DEFINE TECLA1 <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00111101' <br />
#DEFINE TECLA2 <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00111110'<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
#DEFINE TECLA3 <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00111111' <br />
#DEFINE TECLA4 <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00111000' <br />
#DEFINE TECLA5 <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00111001' <br />
#DEFINE TECLA6 <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00111010'<br />
#DEFINE TECLA7 <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00111011' <br />
#DEFINE TECLA8 <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00110100' <br />
#DEFINE TECLA9 <span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>B'00110101' <br />
#DEFINE STANDBY B'11110011' <br />
#DEFINE MUTE B'11110010' <br />
#DEFINE VOLUME_UP B'11101111' <br />
#DEFINE VOLUME_DO B'11101110' <br />
<br />
;_____________________________________DEFINIÇÕES<br />
#DEFINE IR PORTA,0 ;SENSOR TSOP<br />
#DEFINE OUT0 PORTA,1 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT1 PORTA,2 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT2 PORTB,0 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT3 PORTB,1 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT4 PORTB,2 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT5 PORTB,3 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT6 PORTB,4 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT7 PORTB,5 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT8 PORTB,6 ;ACIONAMENTO DO RELE<br />
#DEFINE OUT9 PORTB,7 ;ACIONAMENTO DO RELE<br />
;_____________________________________MEMORIA DE PROGRAMA<br />
ORG 0X00 ;define nicio do trecho a seguir em 000<br />
GOTO INICIO ;desvia para o inicio<br />
;_____________________________________ROTINA DE INTERRUPÇÃO<br />
ORG 0X04 <br />
<br />
RETFIE ;volta da interupção<br />
;_____________________________________SUB.ROTINAS<br />
LE_BIT<br />
BTFSC IR<br />
GOTO BIT1<br />
GOTO BIT0<br />
BIT0<br />
<br />
BCF STATUS,C <br />
RETURN<br />
BIT1<br />
<br />
BSF STATUS,C <br />
RETURN <br />
<br />
_10MS<br />
MOVLW .10<br />
MOVWF TEMPO1<br />
MOVLW .250<br />
MOVWF TEMPO0<br />
T_0<br />
NOP<br />
DECFSZ TEMPO0,F<br />
GOTO T_0<br />
NOP<br />
DECFSZ TEMPO1,F<br />
GOTO $-7<br />
RETURN<br />
_1.7MS ;ESPERA 1.725 MS<br />
MOVLW .2<br />
MOVWF TEMPO1<br />
MOVLW .213<br />
MOVWF TEMPO0<br />
T_1<br />
NOP<br />
DECFSZ TEMPO0,F<br />
GOTO T_1<br />
NOP<br />
DECFSZ TEMPO1,F<br />
GOTO $-7<br />
RETURN<br />
DELAY_MS ;ESPERA 10.813 MS <br />
MOVLW .16<br />
MOVWF TEMPO2<br />
RECARGA<br />
MOVLW .239<br />
MOVWF TEMPO3<br />
T_2<br />
NOP<br />
DECFSZ TEMPO3,F<br />
GOTO T_2<br />
DECFSZ TEMPO2,F<br />
GOTO RECARGA<br />
RETURN<br />
TIME<br />
MOVLW .14<br />
MOVWF TEMPO2<br />
RELOAD<br />
MOVLW .253<br />
MOVWF TEMPO3<br />
T_4<br />
NOP<br />
DECFSZ TEMPO3,F<br />
GOTO T_4<br />
DECFSZ TEMPO2,F<br />
GOTO RELOAD<br />
RETURN<br />
TEMPO<br />
MOVLW .255<br />
MOVWF TEMPO2<br />
TTT<br />
MOVLW .255<br />
MOVWF TEMPO3<br />
T_5<br />
NOP<br />
DECFSZ TEMPO3,F<br />
GOTO T_5<br />
DECFSZ TEMPO2,F<br />
GOTO TTT<br />
RETURN<br />
;_____________________________________INICIO DO PROGRAMA<br />
INICIO:<span class="Apple-tab-span" style="white-space: pre;"> </span>; ESTE ENDERECO E' O IMEDIATAMENTE APOS O FIM DA INTERRUPCAO<br />
<br />
<br />
BANK1 <br />
MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>B'00000001' <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>TRISA<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>B'00000000'<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>TRISB<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>B'10001000'<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>OPTION_REG<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>B'01010000'<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>INTCON<br />
BANK0 <br />
CLRF PORTA<br />
CLRF PORTB<br />
CLRF FLAGTEC<br />
CLRF FLAGTEC1<br />
<br />
<br />
;____________________________________ROT. PRINCIPAL<br />
MAIN<br />
<br />
<br />
LOOP0 <br />
MOVLW .6<br />
MOVWF GETCH<br />
CLRF COMAND <br />
<br />
LE_0 ; 10ms sem nehum pulso para<br />
CALL _10MS ; identificar START<br />
BTFSS IR ;<br />
GOTO LE_0 ;<br />
;START<br />
BTFSC IR ;//ESPERA NL=1 PARA IDENTIFICAR STARTBIT<br />
GOTO $-1 ;ESPERA NNL=1<br />
<br />
CALL DELAY_MS<br />
INICIO_COMANDO<br />
CALL LE_BIT <br />
RLF COMAND,F<br />
CALL _1.7MS<br />
DECFSZ GETCH,F<br />
GOTO INICIO_COMANDO<br />
<br />
<br />
<br />
;TECLA0<br />
MOVF COMAND,W <br />
XORLW TECLA0<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_0<br />
;TECLA1<br />
MOVF COMAND,W <br />
XORLW TECLA1<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_1<br />
;TECLA2<br />
MOVF COMAND,W <br />
XORLW TECLA2<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_2<br />
;TECLA3<br />
MOVF COMAND,W <br />
XORLW TECLA3<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_3<br />
;TECLA4<br />
MOVF COMAND,W<br />
XORLW TECLA4<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_4 <br />
;TECLA5<br />
MOVF COMAND,W<br />
XORLW TECLA5<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_5<br />
;TECLA6<br />
MOVF COMAND,W<br />
XORLW TECLA6<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_6<br />
;TECLA7<br />
MOVF COMAND,W<br />
XORLW TECLA7<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_7<br />
;TECLA8<br />
MOVF COMAND,W<br />
XORLW TECLA8<br />
BTFSS STATUS,Z<br />
GOTO $+2 <br />
GOTO C_8<br />
;TECLA9<br />
MOVF COMAND,W<br />
XORLW TECLA9<br />
BTFSS STATUS,Z<br />
GOTO MAIN <br />
GOTO C_9<br />
C_0<br />
BTFSC TC1<br />
GOTO OFFC0<br />
GOTO ONC0<br />
ONC0<br />
BSF OUT0<br />
BSF TC0<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC0<br />
BCF OUT0<br />
BCF TC0<br />
CALL TEMPO<br />
GOTO MAIN<br />
<br />
<br />
C_1<br />
BTFSC TC1<br />
GOTO OFFC1<br />
GOTO ONC1<br />
ONC1<br />
BSF OUT1<br />
BSF TC1<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC1<br />
BCF OUT1<br />
BCF TC1<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_2<br />
BTFSC TC2<br />
GOTO OFFC2<br />
GOTO ONC2<br />
ONC2<br />
BSF OUT2<br />
BSF TC2<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC2<br />
BCF OUT2<br />
BCF TC2<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_3<br />
BTFSC TC3<br />
GOTO OFFC3<br />
GOTO ONC3<br />
ONC3<br />
BSF OUT3<br />
BSF TC3<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC3<br />
BCF OUT3<br />
BCF TC3<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_4<br />
BTFSC TC4<br />
GOTO OFFC4<br />
GOTO ONC4<br />
ONC4<br />
BSF OUT4<br />
BSF TC4<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC4<br />
BCF OUT4<br />
BCF TC4<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_5<br />
BTFSC TC5<br />
GOTO OFFC5<br />
GOTO ONC5<br />
ONC5<br />
BSF OUT5<br />
BSF TC5<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC5<br />
BCF OUT5<br />
BCF TC5<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_6<br />
BTFSC TC6<br />
GOTO OFFC6<br />
GOTO ONC6<br />
ONC6<br />
BSF OUT6<br />
BSF TC6<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC6<br />
BCF OUT6<br />
BCF TC6<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_7<br />
BTFSC TC7<br />
GOTO OFFC7<br />
GOTO ONC7<br />
ONC7<br />
BSF OUT7<br />
BSF TC7<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC7<br />
BCF OUT7<br />
BCF TC7<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_8<br />
BTFSC TC8<br />
GOTO OFFC8<br />
GOTO ONC8<br />
ONC8<br />
BSF OUT8<br />
BSF TC8<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC8<br />
BCF OUT8<br />
BCF TC8<br />
CALL TEMPO<br />
GOTO MAIN<br />
C_9<br />
BTFSC TC9<br />
GOTO OFFC9<br />
GOTO ONC9<br />
ONC9<br />
BSF OUT9<br />
BSF TC9<br />
CALL TEMPO<br />
GOTO MAIN<br />
OFFC9<br />
BCF OUT9<br />
BCF TC9<br />
CALL TEMPO<br />
GOTO MAIN<br />
<br />
ERRO<br />
MOVLW B'11111111'<br />
MOVWF PORTB<br />
CALL TEMPO<br />
CLRF PORTB<br />
CALL TEMPO<br />
MOVLW B'11111111'<br />
MOVWF PORTB<br />
CALL TEMPO<br />
CLRF PORTB<br />
GOTO MAIN<br />
ENDcasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com3tag:blogger.com,1999:blog-6287266429675575380.post-58527581137696905372011-12-06T04:08:00.000-08:002011-12-06T04:08:08.028-08:00protocolo rc 5fala pessoal de pois de um tempão sem postar nada vou colocar aqui um projeto que eu fiz<br />
este projeto fala sobre o protocolo rc5 da philips o qual ultilizei para criar um sistema em que eu controlo as lampadas e as tomadas da minha casa ainda não foi finalizada a instalação definitiva pois terei que refazer toda a infra estrutura para a instalação abaixo segue uma breve explicação do protocolo<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFfmW8wFZafCbVNUWzgEv96ctox8f2amMNuAsxkrb636rFs33DlMw1zuFHhHTDRu5NTDClU-DZ0XW2OLEyq0FO97c9FCqFvOzLsfwog0KJedt5A2wF2wkvuB23WgIN92MU47lvzPOnnH-Z/s1600/protocolo+rc5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFfmW8wFZafCbVNUWzgEv96ctox8f2amMNuAsxkrb636rFs33DlMw1zuFHhHTDRu5NTDClU-DZ0XW2OLEyq0FO97c9FCqFvOzLsfwog0KJedt5A2wF2wkvuB23WgIN92MU47lvzPOnnH-Z/s640/protocolo+rc5.jpg" width="464" /></a></div><div class="separator" style="clear: both; text-align: center;">no proximo post vou colocar o codigo em asm e algumas fotos das placas por enquanto vou colocar um <iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/1kI9qZoob0g?feature=player_embedded' frameborder='0'></iframe></div><div class="separator" style="clear: both; text-align: center;">video do prototipo funcionando</div>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-89176113119259405712011-06-21T10:37:00.000-07:002011-06-21T10:37:12.819-07:00tutotial de programação part2hoje como prometido vou mostrar como seria aquela estrutura comentada na parte 1 do nosso tutorial<br />
vamos começar<br />
<br />
<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; cabeçalho do programa<br />
; neste trecho colocamos informações referente ao codigo como:<br />
; nome da empresa que escreveu o codigo - micro controlador ultilizado - nome do programador - data de ;criação<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; informações para o compilador<br />
LIST P=16F84a ;define processador<br />
RADIX DEC ;define padrão decimal<br />
INCLUDE <P16F84a.INC> ;inclue arquivo com características do 16f84a<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; configurações de gravaçào<br />
; aqui definimos nossos bits de configuração<br />
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; paginaçào de memoria<br />
; aqui criamos nomes para nossos bamcos de memorias do pic<br />
<br />
#DEFINE BANK0 BCF STATUS,RP0<br />
#DEFINE BANK1 BSF STATUS,RP0<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; variaveis<br />
; aqui criamos espaços para nossas variavei usadas no sistema<br />
cblock 0x0c<br />
<br />
W_TEMP<br />
STATUS_TEMP<br />
TEMPO0<br />
TEMPO1<br />
TEMPO2<br />
CONTROLE<br />
FLAG<br />
F1<br />
F2<br />
ENDC<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; flags de controle<br />
; aqui definimos nossos flags que nada mais é do que cada bit que temos dentro de uma determinada variavel<br />
#DEFINE ST_PR1 FLAG,0<br />
#DEFINE SE_PC1 FLAG,1<br />
#DEFINE ST_J1 FLAG,2<br />
#DEFINE ST_J2 FLAG,3<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; CONSTANTES<br />
;espaços para constantes do sisteme como o proprio nome sugere é um registro que nunca tem seu valor ;alterado<br />
T1 EQU .250 ;FILTRO TC ON E OFF<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; DEFINIÇÕES<br />
; aqui é onde iremos criar nomes para os pinos do pic<br />
#DEFINE PR1 PORTA,0<br />
#DEFINE PC1 PORTA,1<br />
#DEFINE J1 PORTA,2<br />
#DEFINE J2 PORTA,3<br />
#DEFINE ON PORTB,0<br />
#DEFINE OFF PORTB,1<br />
#DEFINE ABI PORTB,3<br />
#DEFINE SIRENE PORTB,2<br />
#DEFINE ERRO PORTB,4<br />
#DEFINE VIO PORTB,5<br />
#DEFINE AXL PORTB,6<br />
#DEFINE MONITOR PORTB,7<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; MEMORIA DE PROGRAMA<br />
; este trecho indica que apartir deste ponto se inicia o programa<br />
ORG 0X00 ;define nicio do trecho a seguir em 000<br />
GOTO INICIO ;desvia para o inicio<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; ROTINA DE INTERRUPÇÃO<br />
;é para este trecho que todas asinterrupções do programa sera direcionada<br />
ORG 0X04 <br />
RETFIE ;volta da interupção<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; SUB.ROTINAS<br />
;neste trecho fica posicionado todas as subrotinas lembrando que subrotinas são aquelas que estam fora da ;rotina principal<br />
EMERGENCIA<br />
BCF MONITOR<br />
BSF VIO<br />
NOP<br />
BSF SIRENE<br />
NOP<br />
RETURN<br />
MONITORANDO<br />
BCF AXL<br />
BSF MONITOR<br />
BSF ABI<br />
CLRF CONTROLE<br />
PR_1 <br />
BTFSC PR1<br />
INCF CONTROLE<br />
NOP<br />
PC_1<br />
BTFSC PC1<br />
INCF CONTROLE<br />
NOP<br />
J_1<br />
BTFSC J1<br />
INCF CONTROLE<br />
NOP<br />
J_2<br />
BTFSC J2<br />
INCF CONTROLE<br />
NOP<br />
<br />
RETURN<br />
ALARME_OFF<br />
BCF ABI<br />
BCF VIO<br />
BCF MONITOR<br />
BCF SIRENE<br />
BSF AXL<br />
CLRF CONTROLE<br />
RETURN<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
;_____________________________________INICIO DO PROGRAMA<br />
; ESTE ENDERECO E' O IMEDIATAMENTE APOS O FIM DA INTERRUPCAO OU QUANDO ;LIGAMOS NOSSO SISTEMA<br />
INICIO:<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
;apartir deste ponto começamos a configurar os registradores do pic <br />
<br />
<br />
BANK1 ; SELECIONA BANCO 1 PARA OPTION E TRIS <br />
MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>.15 <span class="Apple-tab-span" style="white-space: pre;"> </span> ; W = 15<br />
MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>TRISA<span class="Apple-tab-span" style="white-space: pre;"> </span> ; TRISA = FFH. PORTA TODA ENTRADA<br />
MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>.3 <span class="Apple-tab-span" style="white-space: pre;"> </span> ; W = 3<br />
MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>TRISB<span class="Apple-tab-span" style="white-space: pre;"> </span> ; TRISB = 0. PORTB TODA SAIDA<br />
MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>.129<span class="Apple-tab-span" style="white-space: pre;"> </span> ; CARREGA W COM ESTE VALOR<br />
MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>OPTION_REG<span class="Apple-tab-span" style="white-space: pre;"> </span> ; REGISTRO OPTION AJUSTA TIMER 0 CLOCK INTERNO<br />
MOVLW<span class="Apple-tab-span" style="white-space: pre;"> </span>.0<span class="Apple-tab-span" style="white-space: pre;"> </span> ; CARREGA W COM ESTE VALOR<br />
MOVWF<span class="Apple-tab-span" style="white-space: pre;"> </span>INTCON<br />
BANK0 ; VOLTO AO BANCO 0. PADRAO DO RESET<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
; ROTINA PRINCIPAL<br />
; aqui é aonde iremos criar o nosso programa para executar o que queremos<br />
MAIN<br />
<br />
CLRF PORTA<br />
CLRF PORTB<br />
CLRF FLAG<br />
CLRF F1<br />
CLRF F2<br />
CLRF STATUS<br />
TEST_ON<br />
<br />
BTFSS ON<br />
GOTO TESTE_OFF<br />
CALL MONITORANDO<br />
GOTO TESTE_CONTRO<br />
TESTE_OFF<br />
BTFSS OFF<br />
GOTO TEST_ON<br />
CALL ALARME_OFF<br />
GOTO TEST_ON<br />
TESTE_CONTRO<br />
<br />
MOVLW .4<br />
MOVWF F1<br />
XORWF CONTROLE,F1<br />
SKPZ<br />
CALL EMERGENCIA<br />
CALL MONITORANDO<br />
<br />
GOTO TEST_ON<br />
END<br />
<br />
; FIM<br />
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />
<br />
<br />
pode parecer meio confuso no começo mais a pratica leva a perfeiçào<br />
da maneira que esta colocado o programa nesta estrutura fica mito facil encontrar um trecho especifico<br />
para se fazer alguma alteraçào se nescessario<br />
bom é isso ai lembrando que este codigo que esta escrito acima é totalmente funcional<br />
e no nosso proximo tutorial teremos mais informaçòes sobre progamaçào<br />
valeu ate a proxima galera<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-41546973636638296442011-06-20T12:48:00.001-07:002011-06-20T12:50:29.672-07:00tutorial de programação part1boa tarde a todos hoje vamos falar sobre programação começando pela estrutura de programação<br />
pois com uma boa estruturação fica ate mais facil escrevermos nosso codigo.<br />
_o que é estrutura de codigo?<br />
e a forma como criamos o nosso programa <br />
criando espaços definidos pra cada funçào do nosso codigo<br />
_como assim?<br />
imagene se voce começa a escrever seu codigo diretamente pelo que ele vai executar<br />
e conforme voce vai criando percebe que vai precisar usar constantes variavei e sub rotinas sendo que voce ainda não tinha criado espaços para elas?<br />
deu pra perceber o problema ?<br />
isto pode ser ainda pior se voce colocar uma subrotina posicionada dentro da rotina principal<br />
seu codigo provavelmente ira travar e deixar voce com os cabelos em pé!!<br />
este o outros problemas são facilmente evitados atraves de uma boa estruturação alem de deixar o codigo<br />
bem legivel com aspecto profissional apesar de todos nos sermos apenas iniciantes<br />
o primeiro passo para se criar um a boa estrutura de codigo<br />
e começando pelas instruçòes que informam ao compilador com qual microcontrolador queremos trabalhar<br />
qual padrão numerico0 iremos ultilizar e as configuraçoes de gravação<br />
este é no meu ponto de vista o melhor modo de se começar um programa<br />
depois criamos nossa paginação de memoria<br />
nossa area para nossas variaveis<br />
area para as constantes<br />
area de definições (lembra dos #define)<br />
nossa area de interrupções<br />
vetor de resset<br />
sub rotinas<br />
configurações dos registradores<br />
inicialização das nossas variaveis e finalmente nossa verdadeira area de programação<br />
<br />
esta é a estruturação que tenho usados em todos os meus codigos<br />
e sempre funciono muito bem<br />
isto não quer dizer que todo mundo tem que usar o mesmo tipo que eu uso<br />
e sim tentar criar uma que seja mais facil para o entendimento.<br />
no proximo post vou colocar isto que foi citado da forma que fica no conpilador<br />
lembrando que se voce esta escrevendo um codigo em assembler esta rotina<br />
é bem eficiente<br />
belesa galera ate o proximo post aonde daremos continuidade a este tutorialcasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-29887365321110413262011-04-15T17:41:00.000-07:002011-04-15T17:41:50.120-07:00planilha de delayestou postando aqui uma planilha para calculo de perda de tempo ja que muitas vezes quem escreve soft em assembly tem que calcular valores numericos e quantidade de nop para conseguir a temporização correta, e em assembli não é tam simples como em C vamos comparar:<br />
<u style="color: red;">em assembly:</u> <u style="color: blue;">em C:</u><br />
<div style="color: red;">movlw .255 <span style="color: blue;">delay_ms(529);</span></div><div style="color: red;">movwf temp (variave p/ temporização)</div><div style="color: red;">t_1 </div><div style="color: red;">decfsz temp</div><div style="color: red;">goto t_1</div><span style="color: red;">return</span><br />
deu pra perceber a diferença (este é apenas um exemplo ficticio)<br />
este link abaixo é uma planilha do exel que eu encontrei na net não me lembro ao certo onde mais acho que <br />
foi no site do luiz bertini<br />
<a href="http://www.easy-share.com/1914721456/DELAY-CALCULO.rar">CALCULO DELAY</a>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-63807299902108913902011-04-14T08:07:00.000-07:002011-04-14T08:07:14.596-07:00microcontroladores pic desenhos praticos de aplicações<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpa0PHhtxURZo1W1ODjgmy1haPhJM8t2mKkButXs8IHDCv7mbcOaoMgaec0xX3wAFLdQWzL5bF5MBzH6fsH2PgvxlmDNl5Q_fTSCPcHmKwDTVde5qHeKzgBw_nhDy57Yu7BH1umMLdUy6o/s1600/1234e45671234534567.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpa0PHhtxURZo1W1ODjgmy1haPhJM8t2mKkButXs8IHDCv7mbcOaoMgaec0xX3wAFLdQWzL5bF5MBzH6fsH2PgvxlmDNl5Q_fTSCPcHmKwDTVde5qHeKzgBw_nhDy57Yu7BH1umMLdUy6o/s320/1234e45671234534567.JPG" width="320" /></a></div><br />
este livro conten varios exemplos de circuitos e suas aplicações ele esta escrito em espanhol<br />
mas é bem interessante e tem bastante conteudo interessante abaixo esta o link para download<br />
<a href="http://www.easy-share.com/1914694514/Jos%C3%A9%20M%C2%AA%20Angulo%20Usategui,%20Ignacio%20Angulo%20Mart%C3%ADnez%20-%20Microcontroladores%20PIC.pdf"> Microcontroladores PIC.pdf</a>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-65421689503771941922011-04-13T11:49:00.000-07:002011-04-13T11:52:39.367-07:00microcontroladores para iniciantes<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXvNG_thSrhenTadC_eYs_p07zOu8YyRRNq5GwARaCiKvcCYWawrOm68407MNYBM9MxW2TgUxXcnZe_m3ueizJsGk58sJnRWQldIuCrFJ2eI5I5HLJBETzexXj-re5F7uTx9rtkBGLG0xu/s1600/Capturardgjgiutyr.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXvNG_thSrhenTadC_eYs_p07zOu8YyRRNq5GwARaCiKvcCYWawrOm68407MNYBM9MxW2TgUxXcnZe_m3ueizJsGk58sJnRWQldIuCrFJ2eI5I5HLJBETzexXj-re5F7uTx9rtkBGLG0xu/s320/Capturardgjgiutyr.JPG" width="312" /></a><br />
<br />
<br />
arquivo com bom conteudo para quem esta iniciando com microcontroladores da familia microchip <br />
contem informações sobre:<br />
-caracteristicas dos microcontroladores<br />
-introdução do pic 16f84<br />
-set de instruçào<br />
-exemplos<br />
<br />
<br />
<br />
<a href="http://www.easy-share.com/1914673683/Microcontroladores%20PIC.pdf">Microcontroladores PIC.pdf</a>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-59969014292266584542011-04-09T09:51:00.000-07:002011-04-09T09:51:47.447-07:00pic 16f877neste post vamos falar sober o pic16f877 pois este é um micro controlador muito versatil disponivel no mercado no foramto pdip 40 pinos e qfn44.<br />
Este é formado com :<br />
-35 pinos que pode ser configurados como entrada e saida.<br />
-memoria rom de 8k.<br />
-memoria eeprom de 256bytes.<br />
-memoria ram de 368 bytes.<br />
-conversor A/D de 14 canais com 10 bits de resolução.<br />
-3 temporizadores incrementa do individualmenta . <br />
estas sào umas da varias caracteristica especias deste microcontrolador muito usado para controles<br />
industrias eu mesmo ja fiz um mini clp com ele para uso proprio ele conta com varios tipos de<br />
comunicação ,conta com um sistema de usart melhorado suportando os seguintes padrão de comunicação:<br />
-rs232<br />
-rs485<br />
-lin 2.0 e detecção autonoma de velocidade(baudrate).<br />
abaixo temos uma imagem com seus respectivos pinos:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVxopzSuqN_PBsq_PECzRqaGS3oVJFwsXBdlupg7PbqEGM4-p-OUSUnf9lZ9PqK72bFL5CI-94icRo22iV_L62zR4O7pU_auKaOxPQ23fy__UR3AcBTvRnAXwP2MFE-uQs7DcMIMyfOXJZ/s1600/Capturar98765.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVxopzSuqN_PBsq_PECzRqaGS3oVJFwsXBdlupg7PbqEGM4-p-OUSUnf9lZ9PqK72bFL5CI-94icRo22iV_L62zR4O7pU_auKaOxPQ23fy__UR3AcBTvRnAXwP2MFE-uQs7DcMIMyfOXJZ/s400/Capturar98765.JPG" width="400" /></a></div>e abaixo um link de um otimo livro do autor Antonio Sergio Sena<br />
<a href="http://www.easy-share.com/1914511994/manual_PICmicro__a.s.sena___senaeng.com.pdf">pic 16f877</a><br />
espero que ajude a todos interessado neste microcontrolador vallew galera ate a proxima qualquer duvida é so comentarcasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-24486897581832789912011-04-07T12:05:00.000-07:002011-04-08T08:05:07.941-07:00data sheet<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg23Q8YSjFdUE1Y8V4M6r1-KpLTrkt66UusvyHDtc1TMRy6xt4MIfLxjvqeymcrGdV1I_EZR7JA3oymwk6tad2FKoer0Kh8ZrdyM013oiReGPmNgj83SJzsEO7D6prEK2wO7wFdHmeh2h6O/s1600/images.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg23Q8YSjFdUE1Y8V4M6r1-KpLTrkt66UusvyHDtc1TMRy6xt4MIfLxjvqeymcrGdV1I_EZR7JA3oymwk6tad2FKoer0Kh8ZrdyM013oiReGPmNgj83SJzsEO7D6prEK2wO7wFdHmeh2h6O/s200/images.jpg" width="176" /></a></div><br />
ola a todos que utilizam o blog microcontroladores pic<br />
para pesquisa de informações agora esta disponivel uma area<br />
com varios data sheet de microcontroladores<br />
pois é muito importante termos em mãos esse manuais <br />
para consultar funções e caracteristicas desses componentes <br />
espero que seja util a todoscasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-9795960016213693162011-03-22T13:24:00.000-07:002011-04-08T08:04:28.035-07:00desbravando o pic 16f84<div class="separator" style="clear: both; text-align: center;"><a href="http://img.mercadolivre.com.br/jm/img?s=MLB&f=158482765_8335.jpg&v=E" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://img.mercadolivre.com.br/jm/img?s=MLB&f=158482765_8335.jpg&v=E" /></a></div><br />
<br />
<br />
este é um bom livro que serve de base para quem esta começando a trabalhar com microcontroladores<br />
ele tem uma otima abordagem na linguagem assembler e esplica todo o set de instrução com otimos exemplo <br />
de escrita; e uma introução ao mplab uma otima ferramenta de trabalho espero que ajude a todos que estam ingressando neste incrivel mundo<br />
<br />
<a href="http://www.easy-share.com/1914457539/Desbravando%20o%20PIC%2016F84.pdf">desbravando o pic 16f84</a>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-58247660351628838472011-03-16T11:24:00.000-07:002011-04-08T08:04:09.746-07:00proteus<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0YyCYp6Dvi6f9sv2yby6XS6qLsJIxaXactSEp9qMz0d1XxNdWOcaATLhzcOZ2PNP5YT4jt__f5YvQTCVAPK590T5hWHyAHpO4jsqCY7BSTPyTZ4CbNNgfQVKV5TkRuICaU_7u9kSx1_lZ/s1600/Capturar8.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0YyCYp6Dvi6f9sv2yby6XS6qLsJIxaXactSEp9qMz0d1XxNdWOcaATLhzcOZ2PNP5YT4jt__f5YvQTCVAPK590T5hWHyAHpO4jsqCY7BSTPyTZ4CbNNgfQVKV5TkRuICaU_7u9kSx1_lZ/s320/Capturar8.JPG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsXrHZxqn4MyoKcbuXzkWG70gbPN9kefgoSF_jlp16QJlRNdKFNd7fCMspBgbTVl3pK7hOmakK_JQxX0Bbz1g176ttc7r0DQu9nVSOdVt4k0gHSX0glFELVHsUWC9sbAaC08FXOTK_upQ4/s1600/Sem+t%25C3%25ADtuloiiiii.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsXrHZxqn4MyoKcbuXzkWG70gbPN9kefgoSF_jlp16QJlRNdKFNd7fCMspBgbTVl3pK7hOmakK_JQxX0Bbz1g176ttc7r0DQu9nVSOdVt4k0gHSX0glFELVHsUWC9sbAaC08FXOTK_upQ4/s320/Sem+t%25C3%25ADtuloiiiii.jpg" width="320" /></a></div><br />
sempre que queremos criar um novo projeto eletronicos, queremos saber se vai dar certo antes de gastarmos nossas<br />
''rupias''. <br />
Entam temos que simular todo o sistema para ajustes gerais eis entam o famoso proteus uma otima ferramenta de simulação; o legal dessa ferramenta é que ela trabalha dentro do mplab (ferramenta para desenvolvimento de projetos com microcontroladores) e isto é muito enteressante pois podemos rodar nosso codigo direto no hardweare sem sair do mplab no meu blog tem disponivel o download do proteus junto com uma apostila em<br />
portugues que encontrei na internet<br />
<a _mce_href="http://api.ning.com:80/files/qr6ya1E8gWCtcA8WYTaslIB20cmxQuutDKuB8Wriz0QnkvfWr6AAvv2Z-hjbnZmfl-i4w3ifwWyGxQFz507iunRgvxChkGSy/Capturar8.JPG" href="http://api.ning.com/files/qr6ya1E8gWCtcA8WYTaslIB20cmxQuutDKuB8Wriz0QnkvfWr6AAvv2Z-hjbnZmfl-i4w3ifwWyGxQFz507iunRgvxChkGSy/Capturar8.JPG" target="_self"><br />
</a><br />
<a _mce_href="http://controlpic.blogspot.com/" href="http://controlpic.blogspot.com/" target="_blank"></a><a href="http://www.easy-share.com/1914457736/Manual%20Proteus%20portugues.doc">manual proteus</a><br />
<a href="http://www.easy-share.com/1914457719/Proteus%207.1%20SP4%20+%20Licen%EF%BF%A7a%20www.therebels.de%20-BlackSheeP-.rar"> proteus</a>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-40897235898748602702011-03-14T10:54:00.000-07:002011-04-09T09:53:26.403-07:00controlando lcd<div class="separator" style="clear: both; text-align: center;"><a href="http://www.sparkfun.com/tutorial/AG_CIRC_LCD/circ_lcd_header_parts_big.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://www.sparkfun.com/tutorial/AG_CIRC_LCD/circ_lcd_header_parts_big.jpg" width="320" /></a></div>eu estava procurando informações sobre lcd e encontrei uma apostila bem interessante e estou colocando o endereço dela <a href="http://www.easy-share.com/1914457840/display%20lcd.pdf">display lcd.pdf</a> vale apena dar uma conferidacasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-71293382154214741302011-03-14T10:34:00.000-07:002011-04-08T08:03:47.147-07:00lcd<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4NwKU_gIb6lm0wknIETfF9FQ5imJvnoNfpxCV6xQjqjd_S0GKnY1rP_0G0txSkfLnhkQxRTgq9d2zdY7BTYCwrV6zZ73P9g57gsriRTwxGhxvN2lKgUdZVQAZeGAiVsyx9OH4KFVaKhii/s1600/Capturar123.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4NwKU_gIb6lm0wknIETfF9FQ5imJvnoNfpxCV6xQjqjd_S0GKnY1rP_0G0txSkfLnhkQxRTgq9d2zdY7BTYCwrV6zZ73P9g57gsriRTwxGhxvN2lKgUdZVQAZeGAiVsyx9OH4KFVaKhii/s320/Capturar123.JPG" width="320" /></a></div>este e um simulador de lcd nele vc pode escrever seu codigo a simular e ver se roda legal<br />
<a href="http://www.easy-share.com/1914457809/SIMULADOR_LCD.zip">SIMULADOR LCD</a> é bem interessante para quem esta começando a trabalhar com lcdcasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-30298319104623066512011-02-24T06:17:00.000-08:002011-04-08T08:03:14.220-07:00ferramenta de desenvolvimento mplab<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5qY9dWvBDBJI4gzVvYt_aJMvdD1J29zRfy1hmXnBKDbVhQFqm4Y1BROzOdupTQrG7Z9FPe2OLTvgqvQTrcDXYEChBqblxHwFLeMv2n0jIMnBiZNJ1IKTeEg_E8SbXPXmcPpLdPu9kBeiI/s1600/mplabcert.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br />
</a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNJnEs-6cLNBScdMCx4-UOTnPImOTsGtNbVwOLD6XV3Qom6t5TS-cGvZ7mGoXg5BvvkmDKikIMBLmSKxoydd5aUACnHmLjw_cSIW1rHAMruwdscZIjDOPYL9kdD9zJfmmXQJIKPvXbreTo/s1600/1234321.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNJnEs-6cLNBScdMCx4-UOTnPImOTsGtNbVwOLD6XV3Qom6t5TS-cGvZ7mGoXg5BvvkmDKikIMBLmSKxoydd5aUACnHmLjw_cSIW1rHAMruwdscZIjDOPYL9kdD9zJfmmXQJIKPvXbreTo/s320/1234321.JPG" width="319" /></a></div><br />
<br />
<br />
<br />
<br />
<br />
<br />
Quando falamos em desenvolver um programa devemos ter em mente qual ou quais<br />
ferramentas de desenvolvimento iremos usar pois existem varias como mplab ide, ccs, micro c e etc.<br />
Lembrando que geralmente a mais usada é mplab pois possui interação com outras ferramentas que é o caso<br />
do ccs compiler; a ferramenta mplab é disponivel para download gratuito com algumas restições, mas mesmo com essa restrições é uma ferramenta muito poderosa pois permite simular virtuamente codigo que criamos, e suportam muitas ferramentas de gravação e depuração como aquelas que postei na postagem anterior.<br />
Todos esses recursos são muito importante na hora da criação de um projeto pois podemos simular nossos <br />
codigos antes de gravalos no nosso microcontrolador e verificar possiveis erros durante a escrita pois quando<br />
compilamos um codigo a propria ferramenta identifica possiveis erros.<br />
Para conhecer melhor esta ferramenta segue um link para download<br />
<a href="http://www.easy-share.com/1914458220/MPLAB_IDE_v8_63.zip">MPLAB_IDE_v8_63.zip</a><span id="goog_495931902"></span><span id="goog_495931903"></span>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-19763899930689821202011-02-23T12:34:00.000-08:002011-04-14T08:18:56.228-07:00gravador de pic usb<div class="separator" style="clear: both; text-align: center;"><a href="http://img.mercadolivre.com.br/jm/img?s=MLB&f=148809346_3999.jpg&v=P" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://img.mercadolivre.com.br/jm/img?s=MLB&f=148809346_3999.jpg&v=P" /></a></div> <a href="http://produto.mercadolivre.com.br/MLB-167930571-pickit2-programador-gravador-e-debugador-pic-usb-mplab-_JM">http://produto.mercadolivre.com.br/MLB-167930571-pickit2-programador-gravador-e-debugador-pic-usb-mplab-_JM</a> <br />
Segue o link de um gravador excelente que comprei no mercado livre da equipe roMEro eletronica<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://img.mercadolivre.com.br/jm/img?s=MLB&f=151653215_776.jpg&v=O" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://img.mercadolivre.com.br/jm/img?s=MLB&f=151653215_776.jpg&v=O" width="300" /></a></div><h1>Gravador Programador Pic Combo - Pickit2+icd2-lt+soquete Zif</h1> <a href="http://produto.mercadolivre.com.br/MLB-172791720-gravador-programador-pic-combo-pickit2icd2-ltsoquete-zif-_JM">http://produto.mercadolivre.com.br/MLB-172791720-gravador-programador-pic-combo-pickit2icd2-ltsoquete-zif-_JM</a><br />
<br />
para quem tem interse de adquirir um desses kits eles estam disponiveis<br />
através dos links e para maiores informações entre em contato com o fabricante através deste email de contato da equipe roMEro eletronica.<br />
<span class="link" id="Node201-[0]"></span><a class="cmgr-link" href="http://mail.mailig.ig.com.br/mail/contacts/ui/ContactManager?js=RAW&maximize=true&hide=true&position=absolute&hl=pt-BR&emailsLink=true&sk=true&titleBar=false&border=NONE&eventCallback=ParentStub1298554352424&zx=x1le9bihid8z#" id="Node202-[0]" name="contact-email" tabindex="1">r_merola@ig.com.br</a>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-71553456241353633022011-02-21T13:51:00.000-08:002011-04-08T08:02:03.324-07:00linguagemmuitas considerações deve ser feita quando começamos um projeto com microcontroladores<br />
como:<br />
ideia inicial, aplicação,considerações de hardweare e etc.<br />
mas você já se perguntou sobre que linguagem de programação vai usar?<br />
existem varias inguagem para estes microcontrolador vou citar alguns exemplos:<br />
Assembly<br />
Basic <br />
C<br />
e outras mais.<br />
sendo estas tres as mais usadas vamos far um pouco delas: <br />
<br />
<b><i>Assembly</i>:</b> linguagem de baixo nivel muito precisa e complicada pois temos que se preocupar <br />
muito com a configuração do micro como direção dos portos de entrada e saida coniguração de bancos <br />
de memorias e muito mais coisas. mesmo assim se escrevermos um codigo limpo e de forma correta vai ser coisa linda de se ver nunca vai travar.<br />
<i><b>Basic:</b></i> é uma linguagem mais simples que o assembly e desde que bem dominada rende bons frutos.<br />
<i><b>C:</b></i> quano queremos criar um codigo mais simples o assembly é muito eficiente mais quando se trata de um<br />
codigo com funções mais complexas qualquer deslize e tudo vira uma loucura muitas vezes me perco em codigos que eu mesmo escrevo(rsrsrsr). e ai que o C se destaca simplificando muito as coisa . <br />
com isto em mente segue uma apostia de C para download espero que ajude os interessados<br />
<a href="http://www.easy-share.com/1914457904/Livro%20-%20PIC%20Programacao%20em%20C.pdf"> PIC Programacao em C</a>casa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com4tag:blogger.com,1999:blog-6287266429675575380.post-37011052345595311232011-02-21T12:11:00.000-08:002011-04-08T08:02:32.200-07:00um arquivo em pdf com algums exemplosum arquivo em pdf com algums exemplos<br />
vale apena dar uma confiridacasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0tag:blogger.com,1999:blog-6287266429675575380.post-86377026456012611992011-02-17T09:14:00.000-08:002011-02-21T11:32:23.212-08:00ola seja bem vindo a um blog destinado ao aprendizado de mcro controadores<br />
este incrive mundo da programação e desenvolvimentocasa do fuscahttp://www.blogger.com/profile/05531663439787477416noreply@blogger.com0