Philips 提供的固件往avr上的移植
             站在巨人的肩上,你可以看得更远
  usb固件是一个相对复杂的程序,没有人会从头开始写,Philips的网站上有keilc51的代码,我们要做的工作是把它移植到avr上。

 

选择编译器
  iccavr是目前使用最简单的avr c语言编译器,虽然它的bug比较多,编译效率也不怎么样。avr最好的编译器是iar,但icc的代码可以很容易移植到iar上。

KEIL C51向ICCAVR上的移植


读写函数
 
 mega8性价比极高,但有一个很大的缺陷--它没有并行总线!!!!!!这可能是未来mcu的趋势,所有能集成的都集成了,不需要再外扩了。msp430是这样,lpc9**也是这样。好在avr的高速,完全可以用io口模拟总线的读写时序,读写速度并不比传统51总线方式下慢,其它数据处理速度要远高于传统51。
   以下是绝对可以用的读写数据和写命令函数

中断
  mega8有两个外部中断,不幸的是,已经把它们做数据io口了,还有一个icp中断,icp中断只支持边沿中断,d12的中断通常连到电平中断,但在这里用边沿中断原理上是可行的,实际使用并无问题。


加入ad采集代码


去掉画蛇添足的位域

/**/