angelomary
Newbie level 2
Hello all:
am working in my final year project, i decide to use a pic16877a ,output to a buzzers & 8*8 Dot matrix, i try to implement my design using a protous simulator but there is no output while figure indicate there is a input so is my code wrong anyone know plz , my code listed below
program locator2
void main()
{char oldstate1 = 0;
char oldstate2 = 0;
char oldstate3 = 0;
char oldstate4 = 0;
char i=0;
trisa=0b00001111;
trisb=0x00;
trisc=0x00;
trisd=0x00;
trise=0b000;
porte=0;
portc=0;
portb=0;
do {
if (Button(&PORTA, 0, 1, 1)) // detect logical one on RA0 pin
oldstate1 = 1;
if (oldstate1 && Button(&PORTA, 0, 1, 0)) // detect one-to-zero transition on RA0 pin
{
porte.f0 = ~ porte.f0; // negates value on RE0
oldstate1 = 0;
}
} while(1); // endless loop
do {
if (Button(&PORTA, 1, 1, 1)) // detect logical one on RA1 pin
oldstate2 = 1;
if (oldstate2 && Button(&PORTA, 1, 1, 0)) // detect one-to-zero transition on RA1 pin
{porte.f1 = ~ porte.f1; // negates value on RE0
oldstate2 = 0;
}
} while(1); // endless loop
do {
if (Button(&porta, 2, 1, 1)) // detect logical one on RA2 pin
oldstate3 = 1;
if (oldstate3 && Button(&porta, 2, 1, 0)) // detect one-to-zero transition on RA2 pin
{
if(i=0) {
portc=0b11001100;
portb=0b01010110 ;
i=i+1;
}
if(i=1) {
portc=0b01001100;
portb=0b01011110;
i=i+1;
}
if(i=2) {
portc=0b00001100;
portb=0b11011110;
i=i+1;
}
if(i=3) {
portc=0b01100100;
portb=0b11010110;
i=i+1;
}
if(i=4) {
portc=0b01011100;
portb=0b11000110;
i=0;
}
oldstate3 = 0;
}
}while(1); // endless loop
do {
if (Button(&PORTA, 3, 1, 1)) // detect logical one on RA3 pin
oldstate4 = 1;
if (oldstate4 && Button(&PORTA, 3, 1, 0)) // detect one-to-zero transition on RA3 pin
{ if(i=0) {
portc=0b01001100;
portb=0b11100111;
i=i+1;
}
if(i=1) {
portc=0b01010100;
portb=0b11110110;
i=i+1;
}
if(i=2) {
portc=0b01101101;
portb=0b11010100;
i=i+1;
}
if(i=3) {
portc=0b01011100;
portb=0b11011010;
i=i+1;
}
if(i=4) {
portc=0b01101110;
portb=0b10010110;
i=0;
}
oldstate4 = 0;
}
}while(1); // endless loop
}
Added after 4 minutes:
also here is my circuit
am working in my final year project, i decide to use a pic16877a ,output to a buzzers & 8*8 Dot matrix, i try to implement my design using a protous simulator but there is no output while figure indicate there is a input so is my code wrong anyone know plz , my code listed below
program locator2
void main()
{char oldstate1 = 0;
char oldstate2 = 0;
char oldstate3 = 0;
char oldstate4 = 0;
char i=0;
trisa=0b00001111;
trisb=0x00;
trisc=0x00;
trisd=0x00;
trise=0b000;
porte=0;
portc=0;
portb=0;
do {
if (Button(&PORTA, 0, 1, 1)) // detect logical one on RA0 pin
oldstate1 = 1;
if (oldstate1 && Button(&PORTA, 0, 1, 0)) // detect one-to-zero transition on RA0 pin
{
porte.f0 = ~ porte.f0; // negates value on RE0
oldstate1 = 0;
}
} while(1); // endless loop
do {
if (Button(&PORTA, 1, 1, 1)) // detect logical one on RA1 pin
oldstate2 = 1;
if (oldstate2 && Button(&PORTA, 1, 1, 0)) // detect one-to-zero transition on RA1 pin
{porte.f1 = ~ porte.f1; // negates value on RE0
oldstate2 = 0;
}
} while(1); // endless loop
do {
if (Button(&porta, 2, 1, 1)) // detect logical one on RA2 pin
oldstate3 = 1;
if (oldstate3 && Button(&porta, 2, 1, 0)) // detect one-to-zero transition on RA2 pin
{
if(i=0) {
portc=0b11001100;
portb=0b01010110 ;
i=i+1;
}
if(i=1) {
portc=0b01001100;
portb=0b01011110;
i=i+1;
}
if(i=2) {
portc=0b00001100;
portb=0b11011110;
i=i+1;
}
if(i=3) {
portc=0b01100100;
portb=0b11010110;
i=i+1;
}
if(i=4) {
portc=0b01011100;
portb=0b11000110;
i=0;
}
oldstate3 = 0;
}
}while(1); // endless loop
do {
if (Button(&PORTA, 3, 1, 1)) // detect logical one on RA3 pin
oldstate4 = 1;
if (oldstate4 && Button(&PORTA, 3, 1, 0)) // detect one-to-zero transition on RA3 pin
{ if(i=0) {
portc=0b01001100;
portb=0b11100111;
i=i+1;
}
if(i=1) {
portc=0b01010100;
portb=0b11110110;
i=i+1;
}
if(i=2) {
portc=0b01101101;
portb=0b11010100;
i=i+1;
}
if(i=3) {
portc=0b01011100;
portb=0b11011010;
i=i+1;
}
if(i=4) {
portc=0b01101110;
portb=0b10010110;
i=0;
}
oldstate4 = 0;
}
}while(1); // endless loop
}
Added after 4 minutes:
also here is my circuit