i haven't try pwm but i won't have problem with that because every time i wanted to do something new with microcontroller, i'd do that. every time i read datasheets, books and use internet searches to do my job. with studying i found that if i want to use the pwm mode , i have limitations to make frequency. so i think it's better to use timer (timer1 or timer 2) and interrupts to make 0.5Hz frequency. the program does other works like measuring the battery voltage or charging the battery and when the timer interrupt happen the program goes to interrupt routine program to make a pin high or low ( 1 second high and 1 second low). i have another idea to reduce the power consumption because in LED traffic signs with solar cell, power consumption is very important, because if the weather is cloudy the solar cell can't charge the battery very well and in my province we have more rainy days in contrast with other provinces in my country. so i want the battery work for 6 nights without charging. ( this the problem that other LED traffic signs have). so my idea is that when i make a pin high to turn on the LED's for 1 second with timer and interrupts i use pwm mode too. so when the interrupts happen i make a frequency with pwm mode to turn on and off the LED's with high frequency in 1 second that the eyes can't see that. the LED's turn on and off with high frequency that eyes can't see that but i have power saving. so 1 second with high frequency LED's are on and in next 1 seconds they are off.
I made an LED traffic sign with PIC16F84 and NE555 ASTABLE with 60% duty cycle and it works for 3 nights with 12 hour working in each night and i want to improve my design by using another micro like PIC16F873A and pwm mode, because i need ADC to measuring the battery and solar cell voltages and charging the battery and i also need a circuit to turning on and off the LED's so i need a microcontroller to have all these things together and in the future i will add some sensors so i think PIC16F873A is a good choice