如何在8位AVR单片机上运行Linux

作者&投稿:戊杭 (若有异议请与网页底部的电邮联系)
AVR单片机都适合做什么项目~

一般的控制方面。AVR都能做的。有的要看你项目的要求,然后在选择合适的MCU。比如你的项目是否需要EEPROM,是否需要A/D功能。是否需要DSP功能(DSP处理AVR一般不行的,因为AVR的速度是挺快,但是要不能达到DSP所需要的速度)。系统的I/O口数量,以及系统规模(因为如果系统规模比较大的话。ROM太小的单片机做不了的。因为flash容量不够)。
楼上的朋友说错了。据我所知,目前还没有哪款AVR可以嵌入Linux操作系统的。就算是ARM7也不一定能嵌入Linux。至少ARM9以上的芯片才行。至少要芯片里面有MMU结构。还有就是他说的有点绝对了,AVR功能在8位单片机里算是比较强大的。但是绝对不能说其他单片机能做的它都能做。比如有时候他就不能代替DSP处理芯片。大部分AVR里面都没有PLL倍频的。它没有DSP处理指令。芯片里面没有MMU结构,不能嵌入Linux WinCE 甚至连uc/os-2也不能嵌入。(一般要跑操作系统的芯片都是32位的单片机,一个8位单片机一般来说跑不了操作系统的。)

AVR应该胜任的,但是一方面国内好多学校只教51,老师只懂51,另一方面可能价格贵一些,供货不够稳定吧

VR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机。可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。
  AVR已被广泛用于:
  空调控制板
  打印机控制板
  智能电表
  智能手电筒
  LED控制屏
  医疗设备
  GPS


AVR单片机定时器中断问题
如果:Fosc=4M,T0没1分频: TCNT0每一个时钟周期加1,加到256时就溢出,定时值:256*1 US T0没4分频:TCNT0每4个时钟周期加1,加到256时就溢出,定时值:256*4 US T0没8分频:TCNT0每8个时钟周期加1,加到256时就溢出,定时值:256*8 US ...如果中断全能打开了就会产生中断;就像51的定...

关于马的诗句
马诗二十三首·其四唐代李贺此马非凡马,房星本是星。向前敲瘦骨,犹自带铜声。我们都读过“一骑红尘妃子笑”、“春风得意马蹄疾”、“铁马冰河入梦来”,也喜欢白居易的诗句“乱花渐欲迷人眼,浅草才能没马蹄”,很有哲理。岑参更是说“山回路转不见君,雪上空留马行处”,生活味道多么浓厚。出塞...

电白县17624887169: avr单片机pa,pb,pc,pd四个八位数据一起输出? -
项霄诚年: 同时输出做不到.因为AVR一条指令只能处理8位数据,也就是一个口.如果你对时序有非常严格的要求,可以在四个口各挂一个锁存器(74LS373),四个锁存器的触发口挂在PE口的一根线上,如果驱动不够接三极管扩大驱动能力,在四个口都输出以后,给这四个锁存器送一个触发信号,他们四个就能做到同步输出了.

电白县17624887169: avr单片机如何与电脑通信的串口程序如何编写.望高手指点,最好给出实际的程序.
项霄诚年: #include <iom128v.h> #include <macros.h> int i; void ini_usart() { UCSR0A=0x00; UCSR0B=0x28;//发送使能,数据寄存器为空中断使能 UCSR0C=0x06;//异步模式、无奇偶校验、上升沿发送、一帧长度为8位 UBRR0H=00; UBRR0L=...

电白县17624887169: AVR单片机位操作 -
项霄诚年: 需要自己定义宏 #define BIT(x) (1<<x) 你写的那句话意思就是把B口的第number位清零 如果是置位的话就是PORTB|=BIT(number);

电白县17624887169: 在winavr环境下,如何向操作51那样对avr单片机的管脚操作? -
项霄诚年: 晕,我无知了,51下串口通讯设置好PCON、SCON和TMOD,然后直接读写SBUF就可以了,去设置引脚干嘛?AVR也是设置好相关寄存器,直接读写UDRx的,不用去关心哪个脚是txd,哪个脚是rxd的.你想用软件方式模拟硬件的工作过程?高手!winavr下操作AVR单片机单个引脚,是用宏:#include 可以使用以下宏:宏: sbi(port,bit) 作用: 端口的bit位置1 等价C语句: port |= (1 宏: cbi(port,bit) 作用: 端口的bit位清零 等价C语言: port &= ~(1

电白县17624887169: AVR如何打开外部晶振 -
项霄诚年: 要改变AVR单片机的熔丝位设置,选择外部晶体振荡器即可.具体设置方法可参考软件的说明文档.

电白县17624887169: 有谁知道AVR单片机atmega16L控制8位共阴极数码管的程序? -
项霄诚年: mega16完全就可以驱动了,没必要再加驱动,另外你的驱动也就相当于uln2003吧,给你一个可行的程序你试试#include#include #define uchar unsigned char#define uint unsigned int uchar SEG7[10]={/*0x3f,0x06, 0x5B,0x4F,0x66,0x6D...

电白县17624887169: 如何用AVR单片机产生多路信号
项霄诚年: LZ,你要求的六路信号的频率是在0.5M,1M,100Hz随时可变的吗?还是六路波的频率是始终不变的?还是六路波的频率在同个时段的频率是相同的?还是六路波的只是按照时序要求,并无什么相同点? 你可以用ATmega128来同时产生六路信号...

电白县17624887169: AVR晶振问题 -
项霄诚年: 一楼回答不全面. AVR单片机时钟有三种模式: 1、内部时钟源,可分为内部晶振和外部晶振,用的是单片机内部的振荡电路.内部晶振可以设置1M、2M、4M、8MHz晶振频率,外部可支持到16MHz(MEGA16或者MEGA16A)MEGA16L可支持最高8MHz的外部晶振(通过熔丝设置). 2、外部时钟源,靠外部振荡电路提供时钟,可以用外部同步时钟信号(如用其他单片机提供时钟)或者外部振荡器(如有源晶振)将此信号接到单片机XTAL1端口,熔丝设置为外部时钟即可(不是外部晶振). 3、设置晶振熔丝错误会导致芯片锁死,如果设置为外部晶振,直接加晶振即可解除,设置为外部时钟源,那只好提供外部时钟才能解除(有源晶振).

电白县17624887169: 8位的AVR单片机的c语言程序能直接下载到32位AVR里面使用么,会有产生什么后果啊 -
项霄诚年: 不行啊.8位的AVR有自己的指令系统,32位的AVR也有自己的指令系统,两者不是通用的.就好比51的汇编程序不能运行在AVR上一样.你把8位的AVR程序写进32位的AVR,结果就是不运行或者逻辑混乱而胡乱运行.

电白县17624887169: AVR单片机的PC口我为什么不能进行位操作? -
项霄诚年: 你应该先测一下AVR的输出是否正常,我说的是不接外部电路,或者只接发光二极管看看.因为有可能是在程序中没有定义好端口,或者74HC没有工作. 你试试看!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网