ATmega16一共配置了2个8位和1个16位,共3个定时计数器,它们是8位的定时计数器T/C0、T/C2和16位的定时计数器T/C1。功能强大,但也非常复杂,不易掌握,欢迎大家讨论:
1、谈谈AVR定时器的学习方法,各定时器的优缺点及最佳使用场合
2、在使用AVR过程中,对AVR定时器的应用,欢迎贴出你的代码
3、你在使用AVR定时器过程中碰到的疑难问题,怎么解决的,或未解决的需要帮忙的
AVR定时器知识要点总结:
...
ATmega16一共配置了2个8位和1个16位,共3个定时计数器,它们是8位的定时计数器T/C0、T/C2和16位的定时计数器T/C1。功能强大,但也非常复杂,不易掌握,欢迎大家讨论:
1、谈谈AVR定时器的学习方法,各定时器的优缺点及最佳使用场合
2、在使用AVR过程中,对AVR定时器的应用,欢迎贴出你的代码
3、你在使用AVR定时器过程中碰到的疑难问题,怎么解决的,或未解决的需要帮忙的
AVR定时器知识要点总结:
...
由于AVR系列单片机采用的是内部外部RAM统一编址,ATmega128工作在非ATmega 103模式时具有4k+256B的包括寄存器文件(通用工作寄存器)、I/O寄存器、扩展I/O寄存器和内部SRAM的连续内部存储空间。所以在扩展外部RAM时,和内部SRAM地址重叠的外部RAM地址是不能直接访问的。也就是说扩展的外部RAM每64k要浪费掉内部SRAM那么大的空间(AT90系列如此)。所幸的是mega系列解决了这一缺点,专门有一个寄存器XMCRB用来解决对与内部SRAM地址空间相同地址的外部RAM访问。其低三位XMM2 、XMM1 、XMM0三位的设置,决定高位地址线PC口的哪些口线被释放为普通I/O,而不是作为高位地址。这样就可以巧妙地屏蔽高位,就ATmega128而言,要避开内部的4k+245B空间,注意到,只要所访问的地址范围大于0X1100(且MCUCR,XMCRA设置正确),那么所访问的就是外部RAM空间。所以在访问小于4k+245B的外部地址时,只要使地址大于0X10FF就可以访问了。0X1100用二进制表示为:0001,0001,0000,0000,高位地址线PC5、PC6、PC7没有使用到。在访问的时候就可设置XMCRB的XMM1、XMM0位为1,释放该三根地址线为普通I/O,将其设为输出。并且输出0;并在外部地址加上一个虚地址以使地址超过0X1100,如此设置,就可以访问外部0X0000~0X10FF空间了。超出这个空间,CPU就自动将其识别为外部相应的地址了,不用设置XMCRB寄存器(即不需释放任何总线),也不需加虚地址,按照正常外部RAM访问即可。在此约定所加的虚地址为0X2000,XMCRB寄存器设置为****,*011,所释放的地址线输出0。
...
单片机写个游戏只是突然的自我(想法)~
液晶是网上买来的,TFT 2.4寸240x320竖屏的(当然也可以横屏使用,但是看上去效果肯定不如竖屏使用),RGB565也就是65K色的~
看看效果先,相机+拍照水平不行~所以……
凑合吧:

...
老规矩,先上元件清单:可以去淘宝或者当地的电子市场:)去买需要的东东~~经过激烈的讨价还价&……和老板混熟~以后直接上进货价买下。
51最小开发板(基于AT89S51/52)
1.单片机AT89S52/51 一块
... 并行编程,最早的编程方法,功能最强大,但需要连接较多的引脚,通常需要12V~24V的高
压,以示区别,下面称为高压并行编程。
ISP(In System Programmability) 在系统编程,简称为串行下载。
IAP(In Application Programing) 在应用编程,BootLoader也是类似的意思 。
1 ISP虽然利用了SPI接口(例外:M64/M128为UASRT0接口,Tiny13等没有SPI接口)的引脚,但只
...