should be easy with a PIC12F1822 @32mhz or reduce the samples to suit,

my idea would be something like this


simple halfwave sin lu table [50 points per cycle]


15,47,77,106,134,160,183,204,221,235,246,252,255,2 54,250,241,229,213,194,172,147,121,92,62,31


set ccp to say 32khz carrier or whatever [make sure 10 bit resolution is viable]

cycle through the table every 400uS
set pulse width(10 bit) to 512+ lu value
next half
cycle through the table every 400uS
set pulse width(10 bit) to 512 - lu value

rinse repeat


for 60 hz cycle every 330 uS


at the o/p filter out carrier