有关avr单片机的问题
多上网搜一搜资料吧,多逛一逛论坛,想学AVR可以从Arduino由浅入深的学习。
学习单片机大概要了解的课程:
数学——高中数学应该足够了(当然没人会嫌弃自己的数学知识多),基本的加减乘除、与或非运算(包括逻辑运算与算术运算)、进制转换(这个很重要,单片机里面是免不了与二进制、十六进制打交道的)。
计算机——编程语言(C或者C++,嵌入式编程C语言用的最多)、计算机组成原理
电子——数字电子技术、模拟电子技术、电路。(这几门课程学的越精细越好)
有了上述基础的东西之后可以学单片机了,当然这并不是说在你学单片机之前就必须精通上述所有的科目(这也是不可能的),知识之间是没有固定的界限的,科目与科目之间很多东西是可以互相印证的。上述提到的课程中直接体现在单片机上的,也最明显的应该是编程语言(主要是C语言)和电子技术了,其他的那些科目会在潜移默化中对你理解单片机产生影响(尤其是计算机组成原理)。
和学习其他东西一样,反复的复习和琢磨对于学习单片机是必要的,保持浓厚的兴趣不怕挫折也是其中的诀窍。
最直接有效的学习方法是要有一块开发板然后努力实践,对于开发板可以自己动手做或者去T宝买一块,不断的用开发板上面的例子印证自己学的理论知识。
掌握的基本技能
1.学会使用EDA工具绘制PCB板。个人认为国内最常用的PCB制图软件是AltiumDesigner(前身是PROTEL),此外还有PADS、Cadence、Eagle、KiCAD等。特别要提及的是Eagle和KiCAD软件,Eagle以其廉价性和易用性(相对而言)在开源界使用的很多,KiCAD则本身就是一个开源的软件。
2.能依照芯片的手册独立完成驱动的编写。达到这一点需要长期的坚持练习。
3.具备阅读其他人代码的能力,多阅读多思考对初学者来说是很有帮助的。多涉及开源的项目会很大程度上提高这一能力。
4.独立完成项目。
另外,英语能力也是很重要的一项。当你无障碍阅读英文资料的时候,你将发现另外一片广阔的天地。(可笑我迟悟了,至今也没有这个水平)
回答过很多问题,这是打字最多的一次了,主要因为有感于你的迷茫,毕竟都是从一无所知学起的。祝你好运!
还有一点,提问题最好不要像这次这么笼统,一般很难会有人对这样的问题感兴趣的。可以从你学习中遇到的困难问起,详细一点,具体怎么做的,想要得到什么结果,遇到的问题是什么样的?在我发帖寻求帮助的时候有好多次当我仔细的把问题描述清楚以后我自己都能得出答案。而我也相信一点,问问题的人越仔细(注意:仔细≠啰嗦),回答问题的人也会越有热情。
只是工作电压和晶振频率不同,你可以选择合适的型号
工作电压
– 2.7 - 5.5V (ATmega8L)
– 4.5 - 5.5V (ATmega8)
· 速度等级
– 0 - 8 MHz (ATmega8L)
– 0 - 16 MHz (ATmega8)
若将A的引脚设置为DDRA=0x00,PORTA=0xff,是启动了单片机IO内部的上拉电阻,相当于普通的51单片机P0口接了个上拉电阻一样,这时候,IO引脚上是明确的高电平。
而DDRA=0x00,PORTA=0x00,是关闭了单片机内部的上拉电阻,相当于普通51单片机的P0口悬空,没有接上拉电阻,这个时候,其实你用万用表量,IO引脚上是没有电压存在的,但是不是低电平,是高阻态,相当于断路,这与低电平是两码事,而这个时候,你读PINA的值,如果在高干扰环境下,数值是不确定的,因为IO容易受到干扰。
一般来说,我们用来检测按键的时候,要将A的引脚设置为DDRA=0x00,PORTA=0xff,即内部启动个上拉电阻。
如果我们是用AD功能,是不启动上拉电阻的。
区别是引脚电平不同,也就是都是输入状态时,一种情况用万用表测量是高电平另一种是低电平
有关avr单片机的问题
而DDRA=0x00,PORTA=0x00,是关闭了单片机内部的上拉电阻,相当于普通51单片机的P0口悬空,没有接上拉电阻,这个时候,其实你用万用表量,IO引脚上是没有电压存在的,但是不是低电平,是高阻态,相当于断路,这与低电平是两码事,而这个时候,你读PINA的值,如果在高干扰环境下,数值是不确定的,因...
关于AVR单片机的一点问题
如果要用AT128的话,建议你还是稍微学下单片机,特别是要懂得AVR那些寄存器的配置,如果你懂了配置,那么程序上就容易多了,因为使用AVR内部的AD就只是对寄存器进行配置,然后就直接调用一些函数就可以了,液晶屏的话用TFT彩屏吧
AVR单片机简单问题
include<avr\/signal.h> include<avr\/interrupt.h> \/*宏INTERRUPT 的用法与SIGNAL 类似,区别在于 SIGNAL 执行时全局中断触发位被清除、其他中断被禁止 INTERRUPT 执行时全局中断触发位被置位、其他中断可嵌套执另外avr-libc 提供两个API 函数用于置位和清零全局中断触发位,它们是经常用到的。分别...
有关avr单片机问题
多上网搜一搜资料吧,多逛一逛论坛,想学AVR可以从Arduino由浅入深的学习。学习单片机大概要了解的课程:数学——高中数学应该足够了(当然没人会嫌弃自己的数学知识多),基本的加减乘除、与或非运算(包括逻辑运算与算术运算)、进制转换(这个很重要,单片机里面是免不了与二进制、十六进制打交道的)。
关于AVR单片机锁死的问题,单片机高手来,我悬赏十分的,谢谢大家了_百度...
SLISP不会把单片机锁死,可能是你在设置时钟源选项时把内部RC、外部RC和外部晶振的选项弄错了,最有可能是你设置成了使用外部RC震荡电路,你可以自己做一个RC震荡的最小系统来重写单片机试试。
请教有关AVR单片机AREF引脚的问题: 是否只要一路AD输入口在用,AREF一...
AD转换不管使用几路都必须接基准电压,否则没有办法实现AD转换,有些芯片可以使用电源作为基准电压。有些芯片需要从固定引脚输入基准电压。 具体情况看手册。所以针对你的问题,如果电源不能作为基准电压,都必须用AREF做参考电压。
请教AVR单片机一个熔丝的问题
其实买回来的可以不进行熔丝位设置就可以用,但 一般都要进行设置,只有这样才能发挥芯片的最大用场
单片机延时问题20问
10、AVR单片机延时1微秒的程序为何能实现?程序实现延时依赖于单片机的指令执行周期,通过软件延时函数,结合指令执行时间计算,实现微秒级别的延时。11、PIC单片机延时函数为何产生10ms延时?延时时间由循环执行指令的次数决定,结合单片机晶振频率,计算出的延时时间应与实际相符。如果计算结果与预期不符,可能与...
AVR单片机ldi赋值问题
右移3位,就是00001000 ~取反,1<<2是00000100,取反后变成11111011 -就是负数-(1<<5)就是-32.0<<2实际还是等于0 10000\/256实际就是求10000这个数字的高8位,100000=0x2710,所以这里是向R29赋值0x27 取数字10000的低8位,就是0x10.
AVR单片机解密AVR单片机防止解密方法
针对AVR单片机的解密问题,原厂采取了一系列预防措施。首先,他们改变了芯片的封装脚位布局,使得解密者难以识别。其次,通过修改芯片型号标识,将HTXXXX改写为MDTXXXX,将PICXXX混淆为ATXXXX,混淆标识以增加破解难度。此外,采用四层板设计,增加线路复杂性,故意增加线路走线,使解密工作变得更为困难。为了...
李管欣美: 你理解的错了,第二个DDRx才是定义端口是输出还是输入,DDRx=0表示输入,为1表示输出 PORTx表示要输入或输出的值.具体说明如下: AVR端口是真正的双向端口,不像51伪双向.这也是AVR的一项优势,只是操作时大家注意DDRn就...
果洛藏族自治州17125581318: AVR单片机引脚电平问题 - ?
李管欣美: avr单片机的io口复位后的初始状态全部为输入工作方式,内部上拉电阻无效,因此外部引脚呈现三态高祖输入状态.单片机上电后就像手动档汽车发动以后的空挡状态,初始化引脚状态就像你挂倒档或前进挡,汽车正在前进或者正在倒退,就相当于你的程序大循环.比喻不知恰当否,呵呵. 你的单片机工作时是输入还是输出肯定要规定一种状态吧,所以程序一开始初始化时每次都要写DDR(方向寄存器),PORT(数据寄存器),只在开始设定一次.读引脚状态时读PIN(输入引脚寄存器).
果洛藏族自治州17125581318: AVR单片机型号问题 - ?
李管欣美: AtXmega和AVR32以此类推,其ROM分别为2K、8K和16K.此外Attiny25/,比如Atmega8/AT90S系列是8位的AVR单片机. AtXmega系列是16位的AVR单片机 AVR32就是32位的AVR单片机AVR单片机的ROM容量可以从型号上看出.但是需要小心,Atmega48/Atmega/16/32/,但是AT90S系列现在都不再使用了、4K和8K;88/168的ROM不是48K;64/128的单片机,其ROM分别为8K、16K、32K、64K和128K;45/85也是这样、88K和168K,这三种单片机的配置和Atmega8相似,实际ROM容量分别为4K
果洛藏族自治州17125581318: AVR单片机的缺点有哪些? - ?
李管欣美: 缺点:指令系统复杂,位操作不方便.AVR单片机技术体现了单片机集多种器件(包括FLASH程序存储器、看门狗、EEPROM、同/异步串行口、TWI、SPI、A/D模数转换器、定时器/计数器等)和多种功能(增强可靠性的复位系统、降低功耗...
果洛藏族自治州17125581318: AVR单片机的注意问题有哪些呢? ?
李管欣美: [6]作输入时:1通常要使能内部上拉电阻,悬空(高阻态)将会很容易受干扰
果洛藏族自治州17125581318: avr单片机和51的区别 - ?
李管欣美: ①AVR单片机(ATmega16)的时钟源(晶振、内部RC 等)可以不经过分频直接提供给CPU使用,而51的CPU主频等于晶振的12分频,ATmega16外部提供16M的晶振,所以AVR单片机的运行速度比51单片机的运行速度要快得多,并且AVR单...
果洛藏族自治州17125581318: AVR单片机有哪些特点及优点 - ?
李管欣美: 相对于传统C51来说还是挺不错的,但是就现在来说各大公司层出不穷的各类芯片来说优势并不明显,意法的Stm32性能强大(毕竟32位)、性价比也很不错,Ti的430有名的抗干扰能力强(16位),Silicon的低功耗(目前我知道功耗低做的比较好的),这么看来AVR单片机的优势没那么明显,总和来看也还算可以,avr最近几年没听过有什么重大突破(可能是我见识比较少吧),市场占有率也不是很大.太突出的优点我也不知道.唉~AVR有些没落了.硬要说的话——抗干扰性~...........(编不下去了),并不是黑~,毕竟早些年也用过~
果洛藏族自治州17125581318: AVR单片机与51系列单片机相比有哪些优点? - ?
李管欣美: AVR单片机的特点 1、速度快 AVR单片机在单一时钟周期内执行功能强大的指令,每MHz可实现阶段MIPS的处理能力,是具有最高MIPS/mW能力的确良8位单片机. AVR单片机采用了大型快速存取寄存器文件和快速单周期指令.其快速存取...
果洛藏族自治州17125581318: 51单片机与AVR单片机区别 - ?
李管欣美: 简单的说,CPU构架不同,虽然都是8位的,但指令集不同,AVR是用RISC的,哈佛结构的总线;51是用CISC,冯诺衣曼结构的总线.跟AVR比,51是老掉牙的东西,内部资源少,速度慢,但学习简单,是用的最多最精典的单片机.AVR是后来才出来的,工艺上远超过51,内部资源丰富,速度快. 并不是必需得学,但学了最好,学了51再学AVR就快很多了,因为是同一个东西,就像学了一种编程语言一样,学了一门其它的就简单了,因为思路是一样的,只是格式写法不同而以. 单片机的品种多的跟米一样,看你用在什么上,我知道的常用的有AVR,51,PIC等.
果洛藏族自治州17125581318: AVR单片机的特性是什么? ?
李管欣美: AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(ReducedInstructionSetCPU)精简指令集高速8位单片机 请采纳我的答案.