#include <16F877A.h>
#fuses XT,NOWDT,PUT,NOBROWNOUT,NOLVP
#use delay(clock = 4000000)
#byte PORTA=0X05
#byte PORTC=0x07
#byte PORTB=0X06
#define A0 PIN_A0
#define A1 PIN_A1
#define A2 PIN_A2
#define A3 PIN_A3
#define A4 PIN_A4
int sec1,sec2,min1,min2,hour1,hour2;
int num1=5,num2=5,num3=5;
int counter=125;
int flag=0;
const int table[10]={0b00111111,
0b00000110,
0b01011011,
0b01001111,
0b01100110,
0b01101101,
0b01111101,
0b00000111,
0b01111111,
0b01101111};
void main()
{
PORTB=0X00;
PORTC=0X00;
set_tris_a(0xff);
set_tris_c(0x00);
set_tris_b(0x00);
set_RTCC(6);
setup_counters(RTCC_INTERNAL,RTCC_DIV_32);
enable_interrupts (INT_RTCC);
enable_interrupts (GLOBAL);
for(;
{
PORTB=table[sec1];
PORTC=0X01;
delay_ms(15);
PORTB=table[sec2];
PORTC=0x02;
delay_ms(15);
PORTB=table[min1];
PORTC=0x04;
delay_ms(15);
PORTB=table[min2];
PORTC=0x08;
delay_ms(15);
PORTB=table[hour1];
PORTC=0x10;
delay_ms(15);
PORTB=table[hour2];
PORTC=0x20;
delay_ms(15);
if(flag==1){
flag=0;
}
if(input(A4)==1)
{
disable_interrupts(INT_RTCC);
if(input(A2)==1) { --num1; }
if(num1==0){
if(++min1>9) {
min1=0;
if(++min2>5) { min2=0; }
}
num1=5;
}
if(input(A3)==1){ --num2; }
if(num2==0) {
if( ++hour1>9 )
{
hour1=0;
++hour2;
}
if( (hour2==1) & (hour1==3) ) {
hour1=1;
hour2=0;
}
num2=5;
}
if(input(A1)==1) { --num3; }
if(num3==0){
if(++sec1>9) {
sec1=0;
if(++sec2>5) { sec2=0; }
}
num3=5;
}
}
else if(input(A4)==0){
enable_interrupts(INT_RTCC);
}
}
}
#int_RTCC
void microII()
{ //void switch_time();
if(--counter>0)return;
counter=125;
flag=1;
if(++sec1>9){
sec1=0;
if(++sec2>5){
sec2=0;
if(++min1>9){
min1=0;
if(++min2>5){
min2=0;
if( ++hour1>9 )
{
hour1=0;
++hour2;
}
if( (hour2==1) & (hour1==3) ) {
sec1=0;
sec2=0;
min1=0;
min2=0;
hour1=1;
hour2=0;
}
}
}
}
}
}
---------- Post added at 10:02 ---------- Previous post was at 10:00 ----------
this is the program of clock and i don't know how to start and insert the program of stopwatch,..can you please help me for some part of the programs...please please...