Speaking in Canton, in the battleground state of Ohio, the 47-year-old Illinois senator said his rival did not represent change for America, adding: "That's why he's spending these last weeks calling me every name in the book.
"Because that's how you play the game in Washington. If you can't beat your opponent's ideas you distort those ideas and maybe make some up.
"If you don't have a record to run on, then you paint your opponent as someone people should run away from."
He went on: "In one week, you can put an end to the politics that would divide a nation just to win an election; that tries to pit region against region, city against town, Republican against Democrat; that asks us to fear at a time when we need hope.
"In one week, at this defining moment in history, you can give this country the change it needs."
The latest average of national polls by RealClearPolitics.com puts Mr Obama more than seven points ahead of Mr McCain with just eight days to go until the presidential election.
The 72-year-old Arizona senator said he would protect Americans' savings and retirement accounts, get the stock market rising, help keep people in their homes and "create millions of high-paying jobs".
He added: "My economic goals and policies are very clear. We need action today, even as we lay the foundation for growth tomorrow.
"This election comes down to how you want your hard earned money spent. Do you want to keep it and invest it in your future?"