疯狂单片机

一个普普通通的单片机、嵌入式学习个人博客站

AVR定时器0、1

ATmega16一共配置了2个8位和1个16位,共3个定时计数器,它们是8位的定时计数器T/C0、T/C2和16位的定时计数器T/C1。功能强大,但也非常复杂,不易掌握,欢迎大家讨论:
1、谈谈AVR定时器的学习方法,各定时器的优缺点及最佳使用场合
2、在使用AVR过程中,对AVR定时器的应用,欢迎贴出你的代码
3、你在使用AVR定时器过程中碰到的疑难问题,怎么解决的,或未解决的需要帮忙的


AVR定时器知识要点总结:
...

AVR单片机Atmega128外扩RAM

    由于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。

...

Atmega128串口UART0/1测试代码

#include<avr/io.h>
#define fosc 7372800UL //晶振7.3728MHZ
#define baud 9600//波特率
#define com0


void uart0_init(void)
{
     UCSR0B = 0x00; //disable while setting baud rate
     UCSR0A = 0x00;
...

触摸屏实现2440的LCD背光控制(续)

        上次的文章中提到有未解决的问题,就是当背光关闭后,点击触摸屏可以打开背光,可是程序也跟着运行了,就是运行的Qt程序默认发生了鼠标点击事件,如果正好点在按钮等地方,那就糗大了……想达到的效果应该像平时用的全触摸的手机一样一样的……轻轻一点,屏幕亮起,别的都不发

第五课:常用单片机芯片简介

        STC单片机

        STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强.

        PIC单片机:

...

第四课:单片机学习

单片机学习  

        目前,很多人对汇编语言并不认可。可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。不过初学者可以不了解单片机的汇编语言,但一定要了解单片机具体性能和特点,不然在单片机领域是比较致命的。如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者因为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC++什么的单片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在台式PC上写程序毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。还有就是在单片机编程中C语言虽然编程方便,便于人们阅读,但是在执行效率上是要比汇编语言低10%到20%,所以用什么语言编写程序是要看具体用在什么场合下。总的来说做单片机编程要灵活使用汇编语言与C语言,让单片机的强大功能以最高是效率展示给用户。

...

分页:«12»

Powered By Z-Blog 1.8 Arwen Build 90619 and Theme By BokeZhuti.cn

Copyright 2009-2010 www.mculover.com All Rights Reserved. 京ICP备09098861号
站长:莫旭冬 联系邮箱:moxudong@yeah.net