My American business associates used to ask this all the time when they came up to our Toronto office and I was working with them.
The short answer is yes, most Canadian businesses that visitors would patronize (stores, hotels, attractions, restaurants, bars, and so on) take American currency. However, while many such places accept it, they do not have to give you the correct or current exchange rate, or indeed any rate at all if they do not want to. (A few of my associates found this out the hard way when they tried to pay off a bar tab with US currency only to be told that the bar offered no exchange rate and would only take their American currency at par.)
Your best approach with currency is to trade American dollars for Canadian at a bank or foreign exchange. The best exchange rate will be at a bank–foreign exchange booths are usually slightly more expensive than a bank, but still offer a much better rate than you might find in some places.
The best approach of all though is to use a common credit card: Visa, Amex, MC, and the like. (I don’t think Canadian merchants accept Discover, though some might.) Purchases made in Canada are billed to your account at the rate for the day they are posted.
I don’t know about ATMs, though I would assume they would follow the lead of the credit cards and use the daily rate.