AVR��Ƭ�C(j��)һЩ�W(xu��)��(x��)�Pӛ
�������Լ��ڌW(xu��)��(x��)AVR��Ƭ�C(j��)�r(sh��)�ČW(xu��)��(x��)��(j��ng)�(y��n)�����������o�����һ���W(xu��)��(x��)��
1�� AVR��Ƭ�C(j��)����RISC�ܘ�(g��u)��8051��Ƭ�C(j��)����CISC�ܘ�(g��u)��ǰ���ٶȞ���ߵ�2~4��������ˮ������ָ����
2�� AVR��Ƭ�C(j��)��32��(g��)ͨ�üĴ���(��ַ��RAM�^(q��)��$0000�_ʼ��$001F)��������6��(g��)(���6��(g��))�ϲ���3��(g��)16λ��X,Y,Z�Ĵ������Á���ŵ�ַָᘣ�Z�Ĵ���߀���Ԍ�ַ����惦����
3�� ����Y(ji��)��(g��u)��131�l�C(j��)��ָ�
4�� ���t�_�C(j��)���ܡ�
5�� ��(n��i)���Ԏ�RC��ʎ�������ṩ1/2/4/8MHZ�Ĺ����r(sh��)���
6�� FLASH+EEPROM+SRAM+SPI+USART+TWI+PWM+RTC+10λADC+ģ�M���^��+JTAG��
7�� �ї�ָ��������L��51��Ƭ�C(j��)�������L��
8�� ����惦�����ց��L��,�����͌�����퓞��λ��
9�� ��(f��)λ�r(sh��)�����е�I/O��̎�ڛ]����������ݔ���B(t��i)(����)��
10�� �]���Д���(y��u)�ȼ����ƼĴ��������Д��������ĵ�ַ�Q����(y��u)�ȼ�(��ַԽ�ͣ���(y��u)�ȼ�Խ��)��
11�� PORTB |= (1<<2)D2��1��PORTB&= ~(1<<6)D6������
12�� FLASH�փɶΣ�����(d��o)�����(BootProgram Section)+��(y��ng)�ó����(Application Program Section)��BPS�п���ʹ��SPMָ�(sh��)�F(xi��n)IAP������
13�� �Д�������λ��FLASH����惦������ǰ����
14�� I/O���g���B�m(x��)��64��(g��)I/O�Ĵ������g���ڔ�(sh��)��(j��)�惦�����g��ӳ���ַ��$0020~$005F���L��I/O�Ĵ����ăɷN��ʽ��IN,OUTָ��+��SRAM�L��ָ����
15�� �Ϊ�(d��)��AVcc���ڽoPORTA��ADC��AREF��
16�� 13λ�ij���Ӌ(j��)��(sh��)��PC�����ÝM��16KB�Č�ַ��
17�� AVR��Ƭ��(n��i)SRAM���L����Ҫ2��(g��)�r(sh��)�������
19�� ��B(t��i)�Ĵ���SREG��
I��ȫ���Д�ʹ��λ����1��CPU����푑�(y��ng)�Д�;��0��CPU��ֹ푑�(y��ng)�Д�����0�r(sh��)���Ϊ�(d��)���Д��|�l(f��)���Ƶ�ֵ���ֲ�׃�������Д�푑�(y��ng)����I��Ӳ����0(�ք�(d��ng)��1��(sh��)�F(xi��n)�Д�Ƕ��)����RETI��1��푑�(y��ng)�����Д���
T��λ��(f��)�ƴ惦��BLD,BST�����Ԍ�ͨ�üĴ����M�е��κ�һλ��(f��)�Ƶ�T�������^��Ҳ������
H�����M(j��n)λ��(bi��o)־λ������BCD���\(y��n)����
S����̖��(bi��o)־λ��S=N⊕V����������c��(�����N�ı�ʾ�Ͳ����_��!)����S���������_�ı�ʾӋ(j��)��Y(ji��)���ķ�̖��
V��2���a(b��)�a�����(bi��o)־λ������r(sh��)��Nȡ�����������ĽY(ji��)����̖��
N��ؓ(f��)��(sh��)��(bi��o)־λ��ֱ��ȡ���\(y��n)��Y(ji��)�������λ��
Z����ֵ��(bi��o)־λ���\(y��n)��Y(ji��)����0����1��
C���M(j��n)/��λ��(bi��o)־��
20�� MCUCSR���Բ鿴��(f��)λԭ����
21�� ��늙z�y(BOD)��(f��)λ
22�� ��FLASH��$0000H��ŵ���һ�lJMP����RJMPָ�����Á����D(zhu��n)����ʽ���a�����$0002H~0028H(ᘌ��Д�������һ��(g��)�ֵ�������Д�������ɂ�(g��)��$0002H~0050H)��ŵ����Д�������,20��(g��)�Д��<���ϵ�һ��(g��)��(f��)λ�Д���21��(g��)>���������_ʼ��$002AH��
23�� Ӳ���_�l(f��)���ߣ�ܛ��ģ�M����������(sh��)�r(sh��)�ڰ������(ICE)����(sh��)�r(sh��)��Ƭ������(JTAG)��
24�� ÿ�MI/O����������(g��)�Ĵ����Á����������Ġ�B(t��i)��������ƼĴ���DDRx(Data Direction Register)����(sh��)��(j��)�Ĵ���PORTn��ݔ�����_�Ĵ���PINx��
25�� DDRx=1��I/O��̎������ݔ��������ʽ��PORTn��1ݔ��20mA�������0���{20mA�����DDRx = 0��I/O��̎��ݔ�빤����ʽ����PINx�е��ƽ�x�뵽DB��(PORTn�Á��O(sh��)���Ƿ�ʹ�Ã�(n��i)�����������1��ʹ����0�鲻ʹ��)��SFIOR����һλPUD��PUD=1ȫ��I/O�������oЧ��PUD =0������ȡ�Q��PORTn���O(sh��)����
26�� ʹ��I/O�ڕr(sh��)��һ��Ҫ������I/O������������DDRx���_��I/O����ݔ��߀��ݔ��������(j��)��(sh��)�H��r��ݔ��r(sh��)��Ҫ����������߀������(��������Ĭ�J(r��n)ݔ���Ǹ��ƽ����������Ĭ�J(r��n)ݔ���ǵ��ƽ)��
27�� I/O��ݔ�뷽ʽ�r(sh��)����(y��ng)ԓ�xȡ����PINx��ֵ��
28�� ݔ���ڲ�����
PORTA |= (1 <
PORTA &= ~(1<< PORTAx) // λ�õ�
PORTA ^= (1 <
ݔ��ڲ�����
PINA & (1<< PORTAx) // λ�xȡ
29�� ������(g��)�ⲿ�Д�(INT0,INT1,INT2)������INT2ֻ֧��߅���|�l(f��)
30�� �M���Д��l����AVRӲ���Ԅ�(d��ng)������(y��ng)���Д���(bi��o)־λ��1��������Ӳ���Ԅ�(d��ng)���(�H���ڲ����Д��д˹��ܣ���(d��ng)ȻҲ�����ք�(d��ng)ܛ�����������ķ����nj�1)��Ӳ��Ҳͬ�r(sh��)�Ԅ�(d��ng)���I��(bi��o)־λ(ȱʡ�����M(j��n)���Д�Ƕ�ף�SEI��I��1��ʹ���Д�Ƕ����)��
31�� �˳��Д��AVR����Ҫ�و�(zh��)��һ�lָ������ȥ푑�(y��ng)������������Д���
32�� �Д�푑�(y��ng)������Ҫ4��(g��)CK�����_ʼ�\(y��n)���Д��������е����D(zhu��n)ָ��(��I�����Д���(bi��o)־λ������PC���Д���������PC)������Ҫ�����_ʼ�\(y��n)���Ñ��Ĵ��a��������Ҫ6~7��(g��)CK���Д��RETIҲ��Ҫ4��(g��)CK(����PC����SREG�е�I��1)��
33�� ��ʹ���Д����Sλ֮ǰ������Ȍ�����(y��ng)�Д�Դ���Д���(bi��o)־λ��������˷�ֹ��ʹ�ܕr(sh��)�������R�a(ch��n)��һ��“����”���Д���
34�� INT0,INT1֧���ķN��ʽ���Д��|�l(f��)�����������½����������ƽ׃�������ƽ(�����Д���(bi��o)־λ�����ƽ����Ӱ�INTF0��INTF1��ֵ(���֞�0))��INT2ֻ֧�֮����������غ��½����|�l(f��)(����������MCU����)��
35�� �Д��ʼ�����E�������Д��|�l(f��)���(MCUCR,MCUCSR)��ʹ�܌���(y��ng)���Д�(GICR)���������(y��ng)���Д���(bi��o)־λ(GIFR)��ʹ��ȫ���Д�(asm(“SEI”))��AVR STUDIO6�е��Д�������SIGNAL(xx){��(x���Д�����̖)����ISR(xx){����
36�� T/C0��T/C2�ɮa(ch��n)��PWM���l�ʰl(f��)�������ⲿ�¼�Ӌ(j��)��(sh��)��(�HT/C0)��10λ�r(sh��)��A(y��)���l��������ͱ��^ƥ���Д�Դ�����S��32.768kHz���w���骚(d��)����Ӌ(j��)��(sh��)�r(sh��)�Դ(�HT/C2)��
37�� �r(sh��)�Դ��51��Ƭ�C(j��)��ࣺ(CS[2:0]���˷N�x��)��ֹͣӋ(j��)��(sh��)�������ػ��½�����10λ�A(y��)���l��(1/1,1/8,1/64,1/256,1/1024)��
38�� TCNT0(8λ)�Ĵ����Á����Ӌ(j��)��(sh��)��(sh��)ֵ�������Ӌ(j��)��(sh��)���\(y��n)�����g���딵(sh��)ֵ����ô����һ��(g��)���r(sh��)�r(sh��)������Е��������^ƥ��(�Gʧһ��TCNT0��OCR0��ƥ�����)��
39�� OCR0�еĔ�(sh��)��(j��)��һֱ��TCNT0�еĔ�(sh��)ֵ�M(j��n)�б��^�����ƥ�������a(ch��n)��һ��(g��)���^ƥ����Д���Ո���߸�׃OC0��ݔ��߉�ƽ��
40�� TIMSK�е�OCIE0(OutputCompare Interrupt Enable)��TOIE(Timer Overflow Interrupt Enable)�քe����^ƥ���Д����S��(bi��o)־λ������Д����Sλ����(d��ng)I����λ�r(sh��)���M��l�������|�l(f��)����(y��ng)���Д���
41�� TIFR�е�OCF0(OutputCompare Flag)��TOV0(Timer Overflow)�քe����^ƥ���(bi��o)־λ�Ͷ��r(sh��)�������(bi��o)־λ��
42�� TCCR�е�WGM[1:0]�Q��T/C0���ķN������ʽ����ͨģʽ�����^ƥ��r(sh��)���r(sh��)����0���ɷNPWMģʽ��COM[1:0]���^ƥ��ݔ����ʽ������ȡ�Q��T/C0�Ĺ�����ʽ����ͨģʽ(WGM[1:0]=0)��Ӌ(j��)��(sh��)��0xFF���a(ch��n)������Д���TOV0��1�����^ƥ����0Ӌ(j��)��(sh��)��CTCģʽ(WGM[1:0]=2)��f=f(IO)/(2N(1+OCR0)),TCNT0��OCR0ƥ�䣬ƥ���TCNT0��0����Ӌ(j��)��(sh��)��ͬ�r(sh��)��OCF0��1�����ڮa(ch��n)���Дࡣ���Д��и�׃OCR0��ֵ����OC0�п���ݔ����׃�ĸߵ��ƽ��̖������PWMģʽ(WGM[1:0]=3)��f=f(IO)/(256N),TCNT0��0Ӌ(j��)��(sh��)��0xFF��Ȼ�������_ʼӋ(j��)��(sh��)�����ƥ��OCR0�t����(j��)COM[1:0]�е��O(sh��)��ֵ�քe��λ������0OC0���Դˁ�ݔ��PWM���Ρ���λ���{(di��o)PWMģʽ(WGM[1:0]=1)���p��Ӌ(j��)��(sh��)�����������PWM�l�ʱȿ���PWMģʽ����һ����
43�� T2���r(sh��)���ķ��lϵ��(sh��)�cT0��ͬ��ע��^(q��)�e��
44�� T1���r(sh��)�����xȡ��(sh��)��(j��)�r(sh��)�����x�Ͱ�λ�����x�߰�λ���ڌ��딵(sh��)��(j��)�r(sh��)���Ȍ��߰�λ���ٌ��Ͱ�λ������λ����һ�ӡ�
45�� ����T1������Ӌ(j��)��(sh��)��������ֵ(TOP)�����Կ��Ԯa(ch��n)���l�ʿ�׃��PWM��������T0/T2���r(sh��)���o�������@һ�c(di��n)��
46�� T1�Ĺ���ģʽ��WGM1[3:0]�Q�����ɴ˿��Կ���T1��16�N����ģʽ����ͨģʽ(WGM1[3:0]=0)��CTCģʽ(GWM1[3:0]=4��12)������PWMģʽ(GWM1[3:0]=5,6,7,14,15)�Ѓ�·ͬ�r(sh��)ݔ����OC1A,OC1B��
47�� T1ݔ�벶���ܣ��|�l(f��)��̖��ICP1ݔ�������ģ�M���^��AC0ݔ�����|�l(f��)�r(sh��)��TCNT1��ֵ�����뵽ICR1����λICF1��������ICNC(Input Capture NoiseCanceler)�������ƹ�������(sh��)�F(xi��n)ԭ���������t4��(g��)CK�z�y�ƽ׃��������B�m(x��)4��(g��)CK��׃���t�J(r��n)�����������|�l(f��)��ICES(Input Capture Edge Select)���|�l(f��)߅�����x��,0���½�����1����������
48�� ģ�M���^��(���OAIN0��ؓ(f��)�OAIN1)��SFIOR(Special Funciton IO Register)�е�ACME(Analog Comparator Multiplexer Enable)ģ�M���^��·ʹ������1����ADCʧ�ܣ����^��ؓ(f��)�O�ӵ�ADC�Ķ�·�_�P(gu��n)����0�����^��ؓ(f��)�O�ӵ�AIN1��ACSR(AnalogComparator Control and Status Register)ģ�M���^�����ƺ͠�B(t��i)�Ĵ�����ACD(AnalogControl Disable)��1�r(sh��)���Д�ģ�M���^�����_�P(gu��n)���ڸ�׃�O(sh��)�Õr(sh��)����(y��ng)��ʧ��ACIE����ֹ�a(ch��n)��ģ�M�����^�ДࡣACO(Analog Comparator Output)ģ�M���^��ݔ����ACIS[1:0](AnalogComparator Interrupt Select)ģ�M���^���Д�ģʽ�x��
49�� AVCC��ADCģ�K�Ī�(d��)���Դ�������Դ���x��Ƭ��(n��i)2.56V,AVCC�����ⲿ�����Դ��
50�� ADMUX(ADC��·��(f��)���x��Ĵ���)��ADLAR(ADC LeftAdjust Result)�Y(ji��)�����R��ADCSRA(ADC���ƺ͠�B(t��i)�Ĵ���A),ADEN��ADCʹ��λ��ADSC(ADC Start Conversion)�_ʼ�D(zhu��n)�Qλ��ADATE(ADC Auto Trigger Enable)�Ԅ�(d��ng)�|�l(f��)�_ʼ�D(zhu��n)�Q����̖Դ��SFIOR��ADTSλ�Q����ADPS[2:0]�A(y��)���l�x��λ��
51�� ���AVREF�ӵ��ⲿ�Դ����ô�Ͳ���ʹ�Ã�(n��i)�������Դ��
52�� ADCģ�K��ʹ��ADATE(�Ԅ�(d��ng)�|�l(f��)�D(zhu��n)�Q)��������T0������Д����|�l(f��)�_ʼ�D(zhu��n)�Q��һ��Ҫ�_��T0���Д����Sλ(TOIE0)����t�o���|�l(f��)�D(zhu��n)�Q��
53�� һ��������ADC�D(zhu��n)�Q�^����Ҫ13��(g��)�ɘӕr(sh��)����ٶ�ADC�ɘӕr(sh��)��l�ʞ�200kHZ����ô��ߵIJɘ��l���ʞ�200kHZ/13=15.384kHZ�����������r(n��ng)���������y��̖������l�ʞ�7.7kHZ��
54�� ͨ��ͬ��/�������н���/�l(f��)����(Universal Synchronous and Asynchronous Serial Recevier andTransimitter)֧���ķN����ģʽ����ͨ����ģʽ���p���ٮ���ģʽ�����C(j��)ͬ��ģʽ�͏ęC(j��)ͬ��ģʽ��UCSRC�е�UMSEL(U Mode Select)λ�����x��ͬ����ģʽ��UCSRA�е�U2X���ڿ����Ƿ�ʹ�ñ���ģʽ��
55�� ������Ӌ(j��)�㹫ʽ��BAUD=fosc/(16(UBRR+1))��
56�� UCSRA�е�UDRE(U Data Register Empty)��1�r(sh��)(��(sh��)��(j��)�Ĵ������)��UDR���܉��룬һ����������Ӳ���Ԅ�(d��ng)�����еă�(n��i)���͵�TXD�ϴ����Ƴ���RXD��TXD�����Ԯa(ch��n)������(y��ng)���Д��������M(j��n)���Д���(bi��o)־�Ԅ�(d��ng)��0��
57�� ����UBRRH (U Baud Rate Register)��UCSRC��������ַ��ͬ��ֻ�������λURSEL�IJ�ͬ�������������x�����Č���ͬ����(d��ng)URSEL��0�r(sh��)�������UBRRH;��(d��ng)URSEL��1�r(sh��)�������UCSRC��(�xUCSRC�r(sh��)����Ҫ�B�m(x��)�x�ɴβ��ܵõ��Y(ji��)������һ���x����UBRRH��ֵ)��
58�� USART�ij�ʼ���������O(sh��)�ò�������ʹ�ܽ��պͰl(f��)�������O(sh��)�Î���ʽ��
��(sh��)��(j��)�l(f��)�ͣ�while(!(UCSRA& (1 << UDRE))); UDR = data;UDRE��UDR������ֵ��Ӳ���Ԅ�(d��ng)��0�������UDR���Д��]�Ќ�UDR�xֵ����ôUDRE�]����0���˳��Д����ٴ��|�l(f��)�Дࡣ����TXC�Д����Ӳ���Ԅ�(d��ng)��0TXC��(bi��o)־
��(sh��)��(j��)���գ�while(!(UCSRA & (1 << RXC)));data = UDR;RXC��UDR��(sh��)��(j��)���x����Ӳ���Ԅ�(d��ng)��0��������RXC�Д��r(sh��)����xȡUDR������0RXC�������ք�(d��ng)��0RXC
TXD��RXD������TXEN��RXEN���O(sh��)�Á��_�����P(gu��n)�]
59�� ���UCSRA�е�FE��PE��DOR��RXC�Д�����Ҫ�x���M(j��n)���e(cu��)�`�z�y����ôһ��Ҫ���xUCSRA���xUDR
60�� �������O(sh��)�ӿ�(Serial Peripheral Interface,SPI.�w˼������˾���)���ɾ����нӿ�(Two-wireSerial Interface,TWI)��SPIһ�����ĸ���̖����MOSI,MISO,SCLK,/SS.��������һ�����C(j��)�͏ęC(j��)��MOSI��MISO��β���B�γɭh(hu��n)(���|(zh��)���Ǵ�����λ�h~)����(d��ng)��(sh��)��(j��)ȫ�����Q�ꮅ�������C(j��)����/SS��ֹͣSPI��ݔ���@���Ǟ�ʲôSPI��TWI(I2C)���ԭ����?y��n)�?sh��)��(j��)��ȫ�p�������Ҕ�(sh��)��(j��)�߲�ͬ��ͨ����
61�� SPI���ķN����ģʽ��ȡ�Q��ͬ���r(sh��)犵ĘO��(Clock Polariy)��ͬ���r(sh��)犵���λ(Clock Phase)2��(g��)����(sh��)��
62�� SPI�����C(j��)��ʽ������ʞ�(CK/2),�ęC(j��)��ʽ������ʞ�(CKI/4)
63�� ��(sh��)��(j��)�Ĵ���SPDR�����xSPDR�r(sh��)���xȡ���Ǿ��_�Ĵ�����(n��i)��;��SPDR�r(sh��)��������λ�Ĵ�������һ������(sh��)��(j��)����SPDR��Ӳ���Ԅ�(d��ng)��ݔһ��SPIͨ��������Д����S���t�M(j��n)��SPI�Дࡣ
64�� SPI����һ���1MHZ,��߿��_(d��)10MHZ
65�� TWI�����ڱ���ģʽ�r(sh��)��CPU�l��fcpuclock��횴���TWI�r(sh��)犾�SCL�l�ʵ�16����SCL���l�ʣ� (�����C(j��)ģʽ����TWBR��(y��ng)����10.�����e��Ҫע���һ�c(di��n)�� ָ�IJ���4��TWPS�η�����(y��ng)ԓ�ǰ��շ��l�������������е�1��4��16��64��Q ���w)
66�� TWINT�Д���(bi��o)־λ����(d��ng)�䱻��λ�r(sh��)���r(sh��)犾�SCL�����������҈�(zh��)���Д������r(sh��)����(bi��o)־������0��ֻ�ܿ��ք�(d��ng)ܛ����0��
67�� ���TWINT����λ����ʾ���ڂ��͔�(sh��)��(j��)���˕r(sh��)�������TWDR����ôTWWC(���_ͻ)������λ��Ҳ�����f��(d��ng)TWINT����λ�r(sh��)��TWDR��(y��ng)ԓ���ַ�(w��n)�����@��I2C�ąf(xi��)�h��һ�µġ�
68�� TWAR(��ַ�Ĵ���)�ĸ�7λ���ڴ惦�Լ��ĵ�ַ�����һλTWGCE(TWI General Call Recognition Enable)���ַƥ��ɹ�ʹ��λ�������ַƥ��ɹ��������a(ch��n)��һ��TWI�Д�
69�� ��I2C��TWI�Ĵ����O(sh��)����������ʹ��|�xֵ��������w�xֵ
70�� CKOPT��(d��ng)ϵ�y(t��ng)�l���^�ߕr(sh��)����Ҫ�ɔ_������(qi��ng)���O(sh��)�Þ�1�����ϵ�y(t��ng)�l�ʵ����O(sh��)�Þ�0���@�ӿ��Ԝp������ēp����
71�� Ƭ��(n��i)EEPROM����(zh��)���x�����r(sh��)��CPUֹͣ�\(y��n)��4��(g��)�r(sh��)����������ڈ�(zh��)�Ќ������r(sh��)��CPUֹͣ�\(y��n)��2��(g��)�r(sh��)�������
�U(ku��)չ��x����Ƭ�C(j��)I/O������ݔ���c�_©ݔ���ą^(q��)�e

����admin ����ĕr(sh��)�g��2018-05-19