ATmega单片机简介完整版

ATmega单片机简介完整版
ATmega单片机简介完整版

A T m e g a单片机简介

集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

A T M E G A8单片机2006年10月24日星期二09:15P.M.

ATmega8是ATMEL公司在2002年第一季度推出的一款新型AVR高档单片机。在AVR 家族中,ATmega8是一种非常特殊的单片机,它的芯片内部集成了较大容量的存储器和丰富强大的硬件接口电路,具备AVR高档单片机MEGE系列的全部性能和特点。但由于采用了小引脚封装(为DIP28和TQFP/MLF32),所以其价格仅与低档单片机相当,再加上AVR单片机的系统内可编程特性,使得无需购买昂贵的仿真器和编程器也可进行单片机嵌入式系统的设计和开发,同时也为单片机的初学者提供了非常方便和简捷的学习开发环境。

ATmega8的这些特点,使其成为一款具有极高性能价格比的单片机,深受广大单片机用户的喜爱,在产品应用市场上极具竞争力,被很多家用电器厂商和仪器仪表行业看中,从而使ATmega8迅速进入大批量的应用领域。

ATmega系列单片机属于AVR中的高档产品,它承袭了AT90所具有的特点,并在AT90(如AT9058515、AT9058535)的基础上,增加了更多的接口功能,而且在省电性能。稳定性、抗干扰性以及灵活性方面考虑得更加周全和完善。

ATmega8是一款采用低功耗CMOS工艺生产的基于AVRRISC结构的8位单片机。AVR 单片机的核心是将32个工作寄存器和丰富的指令集联结在一起,所有的工作寄存器都与ALU(算术逻辑单元)直接相连,实现了在一个时钟周期内执行的一条指令

同时访问(读写)两个独立寄存器的操作。这种结构提高了代码效率,使得大部分指令的执行时间仅为一个时钟周期。因此,ATmega8可以达到接近1MIPS/MHz的性能,运行速度比普通CISC单片机高出10倍。

ATmega8的主要性能如下:

*高性能、低功耗的8位AVR微控制器,先进的RISC精简指令集结构130条功能强大的指令,大多数为单时钟周期指令32个8位通用工作寄存器工作在16MHz时,具有16MIPS的性能片内集成硬件乘法器(执行速度为2个时钟周期)*片内集成了较大容量的非易失性程序和数据存储器以及工作存储器8K字节的Flash程序存储器,擦写次数:>10000次支持可在线编程(ISP)、可在应用自编程(IAP)带有独立加密位的可选BOOT区,可通过BOOT区内的引导程序区(用户自己写入)来实现IAP编程。512个字节的E2PROM,擦写次数:100000次1K字节内部SRAM可编程的程序加密位*丰富强大的外部接口(Peripheral)性能

2个具有比较模式的带预分频器(SeparatePrescale)的8位定时/计数器

1个带预分频器(SeParatPrescale),具有比较和捕获模式的16位定时/计数器1个具有独立振荡器的异步实时时钟(RTC)

3个PWM通道,可实现任意<16位、相位和频率可调的PWM脉宽调制输出

8通道A/D转换(TQFP、MLF封装),6路10位A/D+2路8位A/D

6通道A/D转换(PDIP封装),4路10位A/D+2路8位A/D

1个I2C的串行接口,支持主/从、收/发四种工作方式,支持自动总线仲裁

1个可编程的串行USART接口,支持同步、异步以及多机通信自动地址识别

1个支持主/从(Master/Slave)、收/发的SPI同步串行接口

带片内RC振荡器的可编程看门狗定时器

片内模拟比较器

*特殊的微控制器性能

可控制的上电复位延时电路和可编程的欠电压检测电路

内部集成了可选择频率(l/2/4/8MHZ)、可校准的RC振荡器

外部和内部的中断源18个

五种睡眠模式:空闲模式(Idle)、ADC噪声抑制模式(ADCNoiseReduction)。省电模式(Power-save)、掉电模式(Power-down)、待命模式(Standby)

*I/O口和封装

最多23个可编程I/O口,可任意定义I/O的输入/输出方向;输出时为推挽输出,驱动能力强,可直接驱动LED等大电流负载:输入口可定义为三态输入,可以设定

带内部上拉电阻,省去外接上拉电阻

28脚PDIP封装,32脚TQFP封装和32脚MLF封装*宽工作电压

?2.7V-5.5V(ATmega8L)

4.5V-

5.5V(ATmega8)

*高运行速度

?O-8MHz(ATmega8L)

0-16MHz(ATmega8)

*低功耗

正常模式(Active):3.6mA

空闲模式(IdleMode):1.0mA

掉电模式(Power-downMode):0.5uA

个人总结的AVR的ATMEGA16L单片机程序

ATMAGE 16 的C语言程序

ATMAGE 16 的C语言程序 (1) 一、PB0 口的PB0.1 LED 发光管闪烁的程序: (3) 二、PA0、PB0、PC0口的LED 发光管闪烁的程序: (5) 三、I/O口的输入与输出 (6) 四、跑马灯 (8) 五、数码管计数显示设计 (10) 六、控制直流电机正反转 (16) 七、单片机的定时器(T/C0)应用 (20) AVR原理图 (24)

一、PB0 口的PB0.1 LED 发光管闪烁的程序: #include int main( void ) { unsigned char i, j, k,led=0; DDRB=0xFF; /* all outputs */ while (1) { if(led) PORTB|=0X01; /* |使最后一位为1 */

else PORTB&=0XFE; /*&最后一位为0 */ led=!led; //延时 for (i=0; i<255; i++) for(j=0; j<255;j++) k++; } } /////////////////////////////////////////////////////////////// #include int main( void ) { unsigned char i, j, k,led=0; DDRB=0xFF; /* all outputs */ while (1) { if(led) PORTB=0Xfe; else PORTB=0Xff; led=!led; for (i=0; i<255; i++) //延时 for(j=0; j<255;j++) k++; } }

ATmega128在开发应用中应注意的问题

ATmega128在开发应用中应注意的问题 摘要: ATmega128是一种与51系列不同的单片机,本文应用ICCAVR和pony prog2000作为主要开发工具,通过分析其在开发过程中特殊的开发方法,从而达到更好地掌握和使用ATmega128的目的。 关键词: ATmega128 单片机 ATmega128是AVR系列中功能最强的单片机,具有如下主要特点: (1)先进的RISC精简指令集结构:ATmega128具有133条功能强大的指令,大部分指令在单时钟周期内执行;有32b×8个通用工作寄存器;片内带有执行时间为2个时钟周期的硬件乘法器。 (2)非易失性程序和数据存储器:ATmega128具有128KB在线可重复编程Flash、4KB的E2PROM以及4KB内部SRAM。在其BOOT区具有独立的加密位,可通过片内的引导程序实现在系统编程,写操作时真正可读。 (3)具有JTAG接口:通过JTAG接口对Flash、E2PROM熔丝位和加密位编程。 (4)增强的硬件功能:ATmega128具有2个带预分频器和一种比较模式的8位定时/计数器;2个扩充的带预分频器和比较模式、捕获模式的16位定时/计数器;独立振荡器的实时计数器;2通道8位PWM;6通道2~16位精度PWM;8通道10位A/D转换;输出比较调节器;8个单端通道;7个微分通道;2个增益为1x、10x或200x的微分通道;二线(I2C)串行接口;2路可编程串行UART接口;主/从SPI串行接口;带内部振荡器的可编程看门狗定时器等。 (5)独有的特点:上电复位和可编程的低电压检测;内部可校准的RC振荡器;5种睡眠模式,即空闲模式、ADC噪声抑制模式、省电模式、掉电模式、待命模式和扩展待命模式;可通过软件选择时钟频率;通过1个熔丝选定ATmega103兼容模式;全局上拉禁止。 笔者通过使用ATmega128单片机,总结出在使用ATmega128过程中应注意的问题,希望能给即将使用该单片机的读者提供有用的信息。 1 ATmega128的开发工具及其应注意问题 随着用户对编译器的要求越来越高,开发商也在不断地提高编译器对用户的方便程度。目前的大趋势是从用汇编语言开发单片机发展到用C语言开发。笔者在对开发ATmega128编译器的选择时,考虑到时间上的局限以及开发的方便性等问题,最终选择了ImageCraft的ICCAVR工具。 ICCAVR是一种使用符合ANSI标准的C语言开发微控制器程序的工具。它集合了编译器和工程管理器的集成工作环境(IDE),可以编译生成INTEL HEX格式文件。 ICCAVR和人们通常所用的编译器的使用的方法大同小异,故本文不再详述。本文主要对使用中应当注意的问题作一介绍。 (1)该编译器在设置中有一项“Return Stack Size”,默认值为16,但在程序量很大而且子函数较多的情况下,该默认值就不适合了,编译时会出错。碰到这种情况建议将该选项的值改大。 (2)在经过一段时间的使用后,发现该编译器对C语言的编译效率不是很理想。但设置当中有一编译优化选择项“Enable Code Compression”,使用它在一定情况下可以减少程序所占的空间。不过当程序在“default”编译优化选择的情况下所占的程序空间达到95%以上时,使用“Enable Code Compression”编译就会出错。所以笔者认为,虽然ATmega128具有128KB的程序空间,但在使用过程中也应当考虑到数据结构方面的问题。 应用ICCAVR生成hex文件以后,下一步就是将hex文件烧录到ATmega128中去。笔者选用的软件是PonyProg2000。这是一款操作简单但功能强大的烧录软件,它支持包括AVR、PIC

松翰MCU选型表

SN8F2250/2270 Series USB Type Part No. Program Memory RAM (8bit) Stack IO ADC DAC Timer PWM Buzzer SIO LCD Interrupt Int Ext Package Other Features SN8F22511B10K-Flash 512 8 8 - - 4 - 1 - 7/1 SSOP16 Full speed USB2.0,Support Control/3 Interrupt SN8F2251B10K-Flash 512 8 8 - - 4 - 1 - 7/0 QFN16 Full speed USB2.0,Support Control/3 Interrupt SN8F22521B10K-Flash 512 8 12 - - 4 2 1 - 7/2 SOP20/SSOP20 Full speed USB2.0,Support Control/3 Interrupt SN8F22531B10K-Flash 512 8 16 - - 4 2 1 - 7/2 QFN24 Full speed USB2.0,Support Control/3 Interrupt SN8F2253B10K-Flash 512 8 16 - - 4 2 1 - 7/2 SOP24 Full speed USB2.0,Support Control/3 Interrupt SN8F2255B10K-Flash 512 8 24 - - 4 2 1 - 7/2 LQFP32 Full speed USB2.0,Support Control/3 Interrupt SN8F2271B5K-Flash 192 8 10 - - 2 - 1 - 5/1 QFN16 Low speed USB2.0,Support Control/2 Interrupt SN8F22721B5K-Flash 192 8 14 - - 2 1 1 - 5/2 DIP20/SOP20/SSOP20 Low speed USB2.0,Support Control/2 Interrupt SN8F2280 Series USB Type Part No. Program Memory RAM (8bit) Stack IO ADC DAC Timer PWM Buzzer SIO LCD Interrupt Int Ext Package Other Features

ATMega16单片机外部中断的使用

ATMega16单片机外部中断的使用[日期:2010-09-24 ] [来源:本站原创作者:佚名] [字体:大中小] (投递新闻) // Crystal: 7.3728Mhz ,功能:学习外部中断0的程序 #include #include #define LED_COM PORTA ^= (1 << PA6) // void port_init(void) { PORTA = 0x40; DDRA = 0x40; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x04; DDRD = 0x00; } #pragma interrupt_handler int0_isr:2 void int0_isr(void)

LED_COM; } //call this routine to initialize all peripherals void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts port_init(); MCUCR = 0x00; GICR = 0x40; TIMSK = 0x00; //timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized } void main() { init_devices(); while(1)

ATMEGA128--AVR教程

AVR教程(1):AVR单片机介绍 作者:微雪电子文章来源:https://www.360docs.net/doc/7d16015791.html, 点击数: 478 更新时间:2008-4-1 23:58:21 AVR,它来源于:1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。 AVR单片机特点 每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,AVR 8-bit MCU最大的特点是:●哈佛结构,具备1MIPS / MHz的高速运行处理能力; ●超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采用单一ACC 进行处理造成的瓶颈现象; ●快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH非常大,特别适用于使用高级语言进行开发; ●作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力; ●片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠; ●大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comp arator,WDT等; ●大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。 ●性价比高。 开发AVR单片机,需要哪些编译器、调试器? 软件名称类型简介官方网址 AVR Studio IDE、汇编编 译器 ATMEL AVR Studio集成开发环境(IDE),可使用 汇编语言进行开发(使用其它语言需第三方软件协 助),集软硬件仿真、调试、下载编程于一体。ATMEL 官方及市面上通用的AVR开发工具都支持AVRStudio。 https://www.360docs.net/doc/7d16015791.html, GCCAVR (WinAVR) C编译器 GCC是Linux的唯一开发语言。GCC的编译器优化 程度可以说是目前世界上民用软件中做的最好的,另 外,它有一个非常大优点是,免费!在国外,使用它 的人几乎是最多的。但,相对而言,它的缺点是,使 https://www.360docs.net/doc/7d16015791.html,

应广单片机选型表-2014

Series 系列型号 FPPA 核心数 OTP ROM (K Word) RAM (Byte) ADC (bit*ch) I/O LCD (bit*ch) PWM INT Special Functions Package Re. PMS150-S081160-6--1-SOP82501C,12C509 PMC150-S081160-6--1-SOP8131,513 PMC153-S141164-12--2- SOP14153,2511,16C505 PMC156-S161164-14?VDD*4-2- SOP16156 PMC156-S181164-16?VDD*4-2- SOP1816C56 PMC251-S082160-6--1-SOP8153+ PMC251-D082160-6--1-DIP82511+ PMC251-S14 2160-12--2- SOP14 PMC251-D142160-12--2-DIP14 PMC271-S0821648*26?VDD*2-2-SOP816C71 PMC271-S1421648*512?VDD*4-2-SOP14 PMC271-S1621648*614?VDD*4-2-SOP16 PMC271-S1821648*716?VDD*4-2- SOP18 P201CS082158-69*321-SOP8EM78P152 P201CD082158-69*321-DIP8SN8P2501 P201CS142158-129*422- SOP148P53 P201CD142158-129*422- DIP14 EM78P163N P201CS162158-149*422- SOP16 P201CD162158-149*422-DIP16 PMC131-S081 1.58812*46-218*8加乘器SOP82711+ PMC131-S141 1.58812*912-448*8加乘器 SOP1671AS+ PMC131-S161 1.58812*1114-648*8加乘器 SOP16712+ PMC232-S14 2216012*61213*312- SOP1478P259 PMC232-S162216012*71413*422- SOP162712+ PMC232-S20 2216012*91813*422- SOP20 PMC234-S202420812*101821*432- SOP2078P346 PMC234-S242420812*102221*432- SOP242712+ PMC234-S28 2420812*102621*432- SOP28 P232CS142220012*612-12- SOP14EM78P259 P232CD142220012*612-12- DIP14SN8P2711/22 P232CS202220012*1018-22- SOP20HT46R064/65 P232CD202220012*1018-22- DIP20 HT46R46/47 P234CSS202420012*101816*422- SSOP20EM78P418 P234CS202420012*101816*422- SOP20EM78P346 P234CS242420012*102216*432- SOP24HT46R066/67 P234CK242420012*102216*432- SKDIP24 P221CS1821648*41611*4-2- SOP18EM78P156/159、SH69P20 P221CD1821648*41611*4-2- SOP18SN8P2602B/C、HT48R05/06 ① 产品名称说明: P232CS14 P = PADAUK 2 = FPPA Count 3 = Series 2 = ROM size(K word) C = Program Memory Type(C=OTP/F=FLASH/R=MASK) S = Package Type 14 = Pin Count ② PMC为P的升级版,引入单一FPPA运作模式,降低功耗,工作电压更宽,内部基准电压更准。但P系列比PMC系列多了一个硬件比较器。 P201C、PDK22、P211C、P221C、P232C、P234C全系列将于2015年停产,请优先选择PMC系列芯片。 ③ 全系列都带16位定时器,含PWM功能的芯片另带8位定时器并可产生PWM波形。 ④ 含A/D功能的芯片,晶圆上均有1个通道为内置Band-gap参考电压生成器,可用于绝对电压的测量。 ⑤ PMC系列通常为金线封装,高抗干扰(High EFT),工作温度(-40℃ ~ 85℃)。 ⑥ PMS系列通常为合金线封装,请勿使用于AC阻容降压供电,强电源纹波,或高EFT要求的应用场景,工作温度(0℃ ~ 70℃)。 ⑦

松翰单片机问答集_IO口

松翰单片机问答集——IO口 Q322001. 当SONIX MCU的I/O口作OPEN DRAIN输出时,外接上拉电阻的供电电压比IC电源电压高,是否允许? Ans: 我们IC 的open drain 是属于pseudo open drain, 外接上拉电阻的电压要小于等于MCU 的VDD, 主要目的是应用在多个output 并接bus 上(例如I2C), 或者是电压比VDD低的接口电压电平的转换。用户可以通过外接三极管来解决这个问题。 Q322002. 低功耗I/O口应如何设置? Ans: 正确设定I/O口状态,可以避免I/O口的漏电流: 1.对空闲口的设置,空闲口一般设定为输入上拉或输出低电平。 2.对ADC I/O通道,应用P4CON的设定,可以避免I/O口的漏电流。 3.对于不同的外部硬件电路,考虑I/O的状态设置,设定不当,会有漏电流,特别注意上拉电阻的正确设定,若I/O 口外接低点平,又将pull-up enable会造成漏电,例如:VDD=5V 会有约5V / 100K = 50uA 漏电。 Q322003. SONIX MCU的I/O上拉电阻是多少? Ans: 此点在芯片的规格书中(电气特性章节)有所描述。 Vdd=3V时,上拉电阻典型值为200K欧姆。 Vdd=5V时,上拉电阻典型值为100K欧姆。 Q322004. 独立按键与MCU如何连接能有效避免I/O口损伤? Ans: 在产品开发时,按键是最常见的功能,由于考虑到成本等因素,很多客户都是将按键的两端分别与MCU和GND 相连,这种做法在大部分情况下是没有问题的。但是,当该产品的工作环境比较差时,比如静电、电源噪声等,此时若按键被按下,则相当于将MCU的一个I/O口直接与GND相连,此时就很可能会有瞬间大电流或高电压甚至负压灌入I/O口,造成I/O损坏。 减少这种问题的防范措施是:根据实际电路的需要,在按键与MCU的I/O之间串接100ohm ~ 1Kohm电阻,可有效避免上述问题带来的损伤。 Q322005. I/O外接下拉电阻,没有外接信号时芯片为何读不到低电平? Ans: SONIX MCU的普通I/O口内建上拉电阻,其等效阻值大概是100 Kohm@5V、200 Kohm@3V。如果客户在程序中将某I/O的上拉电阻使能,同时又在该I/O的外围接有下拉电阻,在没有信号输入的情况下,相当于内置上拉电阻与外接下拉电阻串联分压,所以会导致I/O口读不到低电平。例如,在VDD=5V的情况下,内置上

ATMEGA16单片机实验

实验一软件和硬件的认识 一、实验目的: 1、掌握硬件原理。 2、初步掌握实验板的使用方法。 3、熟悉软件工作界面。 二、实验仪器:ATmage16实验板一块 PC机一台 三、实验内容及步骤: 1、插上电源,按下开关。观察批示灯是否点亮。 电源(可输入7~12V) ATmega16管脚图

2、由原理可知I/O口的批示灯为低电平亮,在实验板上取地与I/O口相接,观察是否点亮。 I/O口LED显示与接口 3、打开编程界面,点击各栏,认识各栏的用途。 A VRICC IDE 软件的工作界面 4、输入以下程序: #include int main(void) { DDRA = 0xff;/* all outputs */ DDRB = 0xff;/* all outputs */ DDRC = 0xff; /*all outputs */ DDRD = 0xff; /*all outputs */

PORTA = 0x00; /* 输出低电平*/ PORTB = 0x00; /* 输出低电平*/ PORTC = 0x00; /* 输出低电平*/ PORTD = 0x00; /* 输出低电平*/ while(1); } 观察I/O口的灯是否被点亮。 实验二I/O口的输入与输出 一、实验目的: 1、了解IO口的结构; 2、熟悉IO口的特性; 3、掌握IO口的控制。 二、实验仪器:ATmage16实验板一块 PC机一台 三、实验原理: 作为通用数字I/O 使用时,A VR 所有的I/O 端口都具有真正的读-修改-写功能。这意味着用SBI 或CBI 指令改变某些管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻) 时不会改变其他管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻)。输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。所有的端口引脚都具有与电压无关的上拉电阻。并有保护二极管与VCC 和地相连,如Figure23 所示。在控制I/O时,分别由方向寄存器DDRX与数据寄存器PORTX控制I/O的状态,如下表。 Figure 23. I/O 引脚等效原理图

Atmega128开发板使用说明书

Atmega128开发板使用说明书 概要介绍 Atmega128开发板上硬件资源丰富,接口齐全,基本上涵盖了Atmega128单片机所能涉及到的所有功能,可以满足单片机开发工程师和电子爱好者的开发实验的需求,或者高校电子、计算机专业学生的学习实验的需要。 按照正规产品的要求设计,不纯粹是实验样品,器件选型、原理图、PCB设计的时候都充分考虑了可靠稳定性。 Atmega128的IO口资源丰富,板上所以接口都是独立使用的,不需要任何跳线进行设置, IO口外围扩展使用了2片锁存器74HC574,既可以使实验变得更加简单方便,又能让实验者掌握更多的单片机设计知识。 提供配套软件源代码,学习板的每个实验都有与其相对应的软件代码,是版主从多年的工作经验中提取出来的,并经过优化,具有较高的参考价值。 编程简单,学习板编程不需要专用烧录器,利用计算机的并口即可进行编程,速度快、操作简单。

1.产品清单 Atmega128开发板的配件清单如下,当您第一次拿到产品的时候,请参照下图认真核对包装内配件是否齐全,以及各配件是否完好无损。 请按照下图安装122*32 LCD,lCD的一脚对准122*32 LCD插座的一脚,切记不要插反

2.硬件布局说明 步 进 电 机 接 口 直 流 电 机 接 口 数 字 温 度 传 感 器 SD 卡 插 座 光 敏 电 阻 ADC 输 入 电 位 器 NTC 热 敏 电 阻 JTAG 接 口 继 电 器 接 口 9V电源输入接口 DAC输出接口 RS485接口 RS232接口 红 外 发 射 管 ISP 编 程 接 口 LCD 对 比 度 调 节 电 位 器 122 * 32 点 阵 LCD 接 口 16 * 2 字 符 LCD 接 口 红 外 接 收 管 433M 射 频 模 块 接 口 3 * 4 矩阵键盘

新茂SyncMOS单片机型号选型列表

SyncMOS MCU Selection Guide V e r. K 2012/1 SM59RXX 系列 (RISC 1T/2T) Part No. VCC Speed FLASH RAM Size I/O Pin Package EEPROM SPI IIC UART ISP&ICP WDT Power Down Wake-Up OPA PCA PWM ADC EEI&KBI RTC&MDU IRC ICE Function SM59R02A1 3.0/5 25MHZ 8KByte 256+1KB 36/40/44 P/J/Q/V Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI 16bit 4ch 10/16bit 8ch10bit 8ch KBI MDU Yes Dual DPTR SM59R03A1 3.0/5 25MHZ 12KByte 256+1KB 36/40/44 P/J/Q/V Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI 16bit 4ch 10/16bit 8ch10bit 8ch KBI MDU Yes Dual DPTR SM59R04A1 3.0/5 25MHZ 16KByte 256+1KB 36/40/44 P/J/Q/V Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI 16bit 4ch 10/16bit 8ch10bit 8ch KBI MDU Yes Dual DPTR SM59R04A2 3.0/5 25MHZ 16KByte 256+1KB 36/40/44 P/J/Q/V Yes Yes Yes X2 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI 16bit 4ch 10/16bit 8ch10bit 8ch KBI MDU Yes Yes Dual DPTR SM59R08/16A2 3.0/5 25MHZ 32/64KB 256+2KB 48 W/U Yes Yes Yes X2 ISP/ICP Yes(2)Reset/INT/ KBI 16bit 4ch 12/16bit 4ch10bit 8ch EEI MDU Yes Yes Dual DPTR SM59R05A3 3.0/5 25MHZ 20KByte 256+2KB 38/42/46 P/J/Q/V Yes Yes Yes X2 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI 16bit 4ch 10/16bit 8ch10bit 8ch KBI MDU Yes Yes Dual DPTR SM59R09A3 3.0/5 25MHZ 36KByte 256+2KB 38/42/46 P/J/Q/V Yes Yes Yes X2 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI 16bit 4ch 10/16bit 8ch10bit 8ch KBI MDU Yes Yes Dual DPTR SM59R16A3 3.0/5 25MHZ 64KByte 256+2KB 38/42/46 P/J/Q/V Yes Yes Yes X2 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI 16bit 4ch 10/16bit 8ch10bit 8ch KBI MDU Yes Yes Dual DPTR SM59R05A5 3.0/5 25MHZ 20KByte 256+2KB 38/42/46 P/J/Q/V Yes Yes Yes X2 ISP/ICP Yes RST/INT/ WDT/ KBI/ LVI/ RTC Yes 16bit 4ch 10/16bit 8ch10bit 8ch KBI RTC/MDU Yes Yes Dual DPTR SM59R09A5 3.0/5 25MHZ 36KByte 256+2KB 38/42/46 P/J/Q/V Yes Yes Yes X2 ISP/ICP Yes RST/INT/ WDT/ KBI/ LVI/ RTC Yes 16bit 4ch 10/16bit 8ch10bit 8ch KBI RTC/MDU Yes Yes Dual DPTR SM59R16A5 3.0/5 25MHZ 64KByte 256+2KB 38/42/46 P/J/Q/V Yes Yes Yes X2 ISP/ICP Yes RST/INT/WDT/KBI/LVI/RTC Yes 16bit 4ch 10/16bit 8ch10bit 8ch KBI RTC/MDU Yes Yes Dual DPTR SM59R05G6 2.7~5.5 25MHZ 20KByte 256+1KB 38/42/46 P/J/Q/V Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ LVI 16bit 4ch 10/16bit Yes Yes Dual DPTR SM59R09G6 2.7~5.5 25MHZ 36KByte 256+1KB 38/42/46 P/J/Q/V Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ LVI 16bit 4ch 10/16bit Yes Yes Dual DPTR SM59R16G6 2.7~5.5 25MHZ 64KByte 256+1KB 38/42/46 P/J/Q/V Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ LVI 16bit 4ch 10/16bit Yes Yes Dual DPTR SM59R02G1 2.7~5.5 25MHZ 8KByte 256Byte 38/42 P/J/Q/V Yes X1 ISP Yes RST/ INT/ WDT/ LVR 16bit 4ch 16bit Yes Dual DPTR SM39RXX 系列 (RISC 1T~8T , Low Pin Count) Part No. VCC Speed FLASH RAM Size I/O Pin Package EEPROM SPI IIC UART ISP&ICP WDT Power Down Wake-Up OPA PCA PWM ADC KBI IRC ICE Function SM39R02G1 2.7~5.5 25MHZ 2KByte 256Byte 12 N(14)/O Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ LVI Yes Yes Dual DPTR SM39R04G1 2.7~5.5 25MHZ 4KByte 256Byte 8/12 N(14)/O/M Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ LVI Yes Yes Dual DPTR SM39R2051 2.7~5.5 25MHZ 2KByte 256Byte 18 20(N/S) Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ LVI Yes Yes Dual DPTR/ SM39R4051 2.7~5.5 25MHZ 4KByte 256Byte 18 20(N/S) Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ LVI Yes Yes Dual DPTR/ SM39R08A2 2.7~5.5 25MHZ 8KByte 256Byte 18~26 N/S/K/G Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI Yes 16bit 2ch 10/16bit 8ch10bit 4-ch KBI Yes Yes Dual DPTR SM39R12A2 2.7~5.5 25MHZ 12KByte 256Byte 18~26 N/S/K/G Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI Yes 16bit 2ch 10/16bit 8ch10bit 4-ch KBI Yes Yes Dual DPTR SM39R16A2 2.7~5.5 25MHZ 16KByte 256Byte 18~26 N/S/K/G Yes Yes Yes X1 ISP/ICP Yes RST/ INT/ WDT/ KBI/ LVI Yes 16bit 2ch 10/16bit 8ch10bit 4-ch KBI Yes Yes Dual DPTR SM59XX 系列 (12T) Part No. VCC Speed FLASH RAM Size I/O Pin Package TWSI UART ISP WDT Power Down Wake-Up SPWM PWM ADC RTC Function SM5964A 3.3/5 25/40MHZ 64KByte 256+768 Byte(1)32/36P/J/Q Yes X1 ISP Reset/ INT 2-ch (5,8)bit VESA DDC/CI SM5964 5 40MHZ 64kByte 256+768 Byte 32/36 P/J/Q X1 ISP Yes(2)Reset 5-ch (5,8)-bit SM59264 5 40MHZ 64+64KB(D) 256+768 Byte(1)32/36 P/J/Q Yes X1 ISP Yes Reset 4-ch (5,8)-bit VESA DDC/CI SM59128 5 40MHZ 128KByte 256+768 Byte(1)32/36 P/J/Q Yes X1 ISP Yes Reset 4-ch (5,8)-bit VESA DDC/CI SM79XX 系列 (12T) Part No. VCC Speed FLASH RAM Size I/O Pin Package UART WDT Power Down Wake-Up SPWM PWM ADC RTC Function SM79108 3.3/5 40MHZ 8KByte 256Byte 32/36 P/J/Q X1 Yes Reset 1-ch (5,8)-bit 1-ch (5,8)bit 4-ch 8bit LCDD 4X14 SM79164 3.3/5 25/40MHZ 64KByte 256+3840B(1) 32/36 P/J/Q X1 Yes Reset 8-ch (5,8)bit SM89XX 系列 (12T) Part No. VCC Speed FLASH RAM Size I/O Pin Package UART WDT Power Down Wake-Up SPWM PWM ADC RTC Function SM894051 3.3/5 25MHZ 4KByte 128Byte 15 20(P/S)X1 Yes(2) Reset LED Drive sink 20mA SM8951A/52A 3.3/5 40MHZ 4/8KByte 256Byte 32/36 P/J/Q X1 Yes(2) Reset SM8954A/58A/516A 3.3/5 40MHZ 16/32/64KB 256+768 Byte(1) 32/36 P/J/Q X1 Yes Reset 5-ch (5,8)-bit SM89516 3.3/5 25MHZ 64KByte 256+768 Byte 32/36 P/J/Q X1 Yes(2) Reset SM89S16R1 3.3/5 40MHZ 64KByte 256+768 Byte(1) 32/36 P/J/Q X1 Reset/ RTC/ INT 2-ch (5,8)bit 4-ch 6bit RTC (1): Expanding RAM is default disable (2): WDT Clock is from External X’tal WDT Clock is from Internal X’tal define 250KHz (without (2) ) IIC =TWSI =Two-Wire Series Interface EX_INT=External Interrupt Wake-Up ADC = Analog and Digital Converter (類比數位轉換器) KBI=Keyboard Interface=EEI (擴充外部中斷) RTC = Real Time Clock (時鐘裝置) MDU=Multiplication-Division unit (硬件乘除法器) PCA=Programmable Counter Array (16bit Timer 2) =capture 、compare 、clock out 、16bit PWM SM59R16A5ihhkL yymmv (yy: year ,mm: month ,v: version) i: process ( L: 3.3V C: 5V W:2.7~5.5 ) hh: Max Speed (Before SM59RxxG6) or Pin Count (After SM39R & SM59RxxG6) k: package type { J:44(PLCC) M:10(MSOP-118mil) N:14/20/24/28(PDIP-300mil) O:14(SOP-150mil) {P:40(PDIP) Q:44(QFP) U:64(LQFP) V:48(LQFP) W:64(TQFP) S:20/24/28(SOP-300mil)} {K:24/28(Skinny PDIP-300mil) G:20(SSOP-150mil } L:PB Free {No text is Non-PB Free, "P" is PB Free} SZ恒信宇电子有限公司 http://wenku.baidu.com/view/44b3d4d250e2524de5187eb0.html 技术信息咨询:1091944079@Q Q.COM

松翰MCU选型表

SN8F2250/2270 Series USB Type Part No. Program Memory RAM (8bit) Stack IO ADC DAC Timer PWM Buzzer SIO LCD Interrupt Int Ext Package Other Features SN8F22511B10K-Flash 512 8 8 - - 4 - 1 - 7/1 SSOP16 Full speed USB2.0,Support Control/3 Interrupt SN8F2251B10K-Flash 512 8 8 - - 4 - 1 - 7/0 QFN16 Full speed USB2.0,Support Control/3 Interrupt SN8F22521B10K-Flash 512 8 12 - - 4 2 1 - 7/2 SOP20/SSOP20 Full speed USB2.0,Support Control/3 Interrupt SN8F22531B10K-Flash 512 8 16 - - 4 2 1 - 7/2 QFN24 Full speed USB2.0,Support Control/3 Interrupt SN8F2253B10K-Flash 512 8 16 - - 4 2 1 - 7/2 SOP24 Full speed USB2.0,Support Control/3 Interrupt SN8F2255B10K-Flash 512 8 24 - - 4 2 1 - 7/2 LQFP32 Full speed USB2.0,Support Control/3 Interrupt SN8F2271B5K-Flash 192 8 10 - - 2 - 1 - 5/1 QFN16 Low speed USB2.0,Support Control/2 Interrupt SN8F22721B5K-Flash 192 8 14 - - 2 1 1 - 5/2 DIP20/SOP20/SSOP20 Low speed USB2.0,Support Control/2 Interrupt SN8F2280 Series USB Type Part No. Program Memory RAM (8bit) Stack IO ADC DAC Timer PWM Buzzer SIO LCD Interrupt Int Ext Package Other Features 1 / 11

应广单片机读写24C02程序代码

应广单片机读写24C02程序代码 #include "extern.h" #include "main.h" //*************************************************** //*************************************************** //??ò?I2C?ó?ú I2C_SDA equ pb.2 I2C_SCL equ pb.0 I2C_SDA_DIR equ pbc.2 I2C_SCL_DIR equ pbc.0 I2C_LONG_DLY equ 50 I2C_SHORT_DLY equ 20 I2C_SDA_HIGH equ set1 I2C_SDA I2C_SDA_LOW equ set0 I2C_SDA I2C_SCL_HIGH equ set1 I2C_SCL I2C_SCL_LOW equ set0 I2C_SCL I2C_SDA_OUTPUT equ set1 I2C_SDA_DIR I2C_SDA_INPUT equ set0 I2C_SDA_DIR I2C_SCL_OUTPUT equ set1 I2C_SCL_DIR I2C_SCL_INPUT equ set0 I2C_SCL_DIR //??ò?I2C??á? uchar i2c_rw_addr; //?áD?μ??? uchar i2c_rw_byte; //?áD?êy?Y uchar i2c_rw_cmd; //?áD?μ????tμ??? uchar i2c_rw_temp; //?áD??y?ì?D????á? uchar i2c_rw_cnt; //?áD??y?ì?D????á? //---------------------------- //?úéúSTARTD?o? //---------------------------- i2c_start: I2C_SDA_OUTPUT

atmega16单片机C语言程序

#include //AVR单片机相关库 flash unsigned int t[9] = {0,956,865,759,716,638,568,506,470}; flash unsigned char d[9] = {0,105,116,132,140,157,176,198,209}; #define Max_note 32 flash unsigned char music[Max_note] = {5,2,8,2,5,2,4,2,3,2,2,2,1,4,1,2,1,2,2,2,3,2,3,2,1,2,3,2,4,2,5,8}; unsigned char note_n; unsigned int int_n; bit play_on; // External Interrupt 1 service routine interrupt [EXT_INT1] void ext_int1_isr(void) { if (!play_on) { TCCR1B = 0x09; } } // Timer 1 output compare A interrupt service routine interrupt [TIM1_COMPA] void timer1_compa_isr(void) { if (!play_on) { note_n = 0; int_n = 1; play_on = 1; } else { if (--int_n == 0) { TCCR1B = 0x08; if (note_n Max_note) { OCR1A = t[music[note_n]]; int_n = d[music[note_n]]; note_n++; int_n = int_n * music[note_n]; note_n++; TCCR1B = 0x09; } else play_on = 0; }

相关文档
最新文档