Página 1 de 1
Dúvidas

Enviado:
02 Dez 2009 16:55
por btpavao
Galera,
Tô brincando com um LCD que achei aqui em casa, o modelo é WH2002A da WINDSTAR, alguém sabe me dizer se o controlador desse LCD é compatível com o HD44780? Tô usando o CY8C27443-24PXI e ele tem um módulo LCD, porém é padrão HD44780. Fiz alguns testes porém não aparece nada!
Outra dúvida é, como faço para setar apenas 1 bit em um port de saída programando em assembler? Por exemplo, no PIC temos o BSF (Sei que o PIC é RISC, e PSoC é CISC), e no PSoC só temos o MOV, e aí, como fazer???
Valeu!!!

Enviado:
15 Dez 2009 07:42
por Ricardo_Franco
Ola Senhores.
Sobre o LCD - Eu não conheço este controlador de LCD, seria interessante você arrumar algum datasheet dele para descobrir se os pinos são compativeis com o LCD Hitach .. ou arrumar um outro LCD Hitach para descobrir se o problema está no seu software, na ligação dos pinos do LCD ou o controlador realmente não é compativel com o hitach.
Sobre acesso a bit - Infelzimente o PSoC não permite acesso a bit direto do port, você deve acessar o port todo, em linguagem C eu consegui fazer acesso a bit utilizando uma diretiva do compilador (#pragma IO_Port), mas não sei como ficaria isso em assembly. Uma sugestão é trabalhar com mascara de bits, faça uma lógica AND/OR para acessar somente o bit que lhe interessa.

Enviado:
16 Dez 2009 15:00
por btpavao
Ricardo,
Obrigado pela resposta!
Referente ao LCD, comprei um com microcontrolador Hitach HD44780, e está funcionando.
Já o acesso direto ao bit, a saída é uma lógica simples com OR, como vc havia sugerido. Por exemplo
[/code]mov A, reg[PRT2DR]
or A,02h
mov reg[PRT2DR],A
Onde 02h é a máscara, o(s) bit(s) que quero ativar vão pra 1. No exemplo o bit 1 é setado e os demais permanecem como estavam.
Valeu!!![/quote]

Enviado:
18 Dez 2009 18:26
por btpavao
A nível de curiosidade...
Nesse link (
http://www.cypress.com/?id=2314) observando, conclui que no exemplo que coloquei
- Código: Selecionar todos
mov A, reg[PRT2DR]
or A,02h
mov reg[PRT2DR],A
Nem é preciso ler o port e jogar em A, pois a opreção OR tem como
variável de retorno o primeiro argumento, sendo assim o código pode ser
- Código: Selecionar todos
or reg[PRT2DR],02h
que tem o mesmo efeito