mega16寄存器里位的含义.doc_第1页
mega16寄存器里位的含义.doc_第2页
mega16寄存器里位的含义.doc_第3页
mega16寄存器里位的含义.doc_第4页
mega16寄存器里位的含义.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

写程序时记不住寄存器里位的含义,看代码时也不方便,于是将寄存器位功能写成注释,收集在一起,写代码时把注释拷进去,大大增强了代码可读性。呵呵。贡献给大家。主要针对M16的,有错误请指出来。 #include #include voidinitialize() /DDRx端口方向寄存器,PORTx数据寄存器,PINx输入引脚寄存器 /DDRxn相应位为1,引脚为输出否则为输入 /PORTxn为1时,上拉电阻使能 DDRA=0x00; voidinit_adc() /ADMUX /- /|REFS1|REFS0|ADLAR|MUX4|MUX3|MUX2|MUX1|MUX0| /- /REFS1REFS0:00,使用AREF,内部参考电压关闭 /01,AVCC、AREF引脚外加滤波电容 /10,保留 /11,2.56V片内基准电压,AREF引脚外加滤波电容 /ADLAR:ADC转换结果左对齐 /MUX4MUX0单端输入正差分输入负差分输入增益 /0000000111ADC0ADC7 /01000ADC0ADC010x /01001ADC1ADC010x /01010ADC0ADC0200x /01011ADC1ADC0200x /01100ADC2ADC210x /01101ADC3ADC210x /01110ADC2ADC2200x /01111ADC3ADC2200x /10000ADC0ADC11x /10001ADC1ADC11x /10010ADC2ADC11x /10011ADC3ADC11x /10100ADC4ADC11x /10101ADC5ADC11x /10110ADC6ADC11x /10111ADC7ADC11x /11000ADC0ADC21x /11001ADC1ADC21x /11010ADC2ADC21x /11011ADC3ADC21x /11100ADC4ADC21x /11101ADC5ADC21x /111101.23V(VBG) /111110V(GND) ADMUX=0; /ADCSRA /- /|ADEN|ADSC|ADFR|ADIF|ADIE|ADPS2|ADPS1|ADPS0| /- /ADEN:ADC使能,转换过程中禁止ADC则立即中止转换。 /ADSC:ADC开始转换。在转换过程中ADSC为1直到转换结束。 /ADFR:是否工作在连续模式,该位写0,停止连续转换模式。 /ADIF:ADC中断标志。中断服务硬件清零。 /ADIE:ADC中断使能 /ADSP2ADSP0:ADC预分频选择000:2分频,001到111为2到128分频 /ADC在50200KHz时钟时能获得最大精度 ADCSRA=0; /ADCC&ADCH /ADC转换结果寄存器,差分通道结果以2的补码形式表示,ADC数据必须读过 /ADCH后才可进行数据更新。对于精度小于8位的左对齐数据可只读ADCH。 /数据右对齐(ADLAR=0) /ADCH- /|-|-|-|-|-|-|ADC9|ADC8| /- /ADCL- /|ADC7|ADC6|ADC5|ADC4|ADC3|ADC2|ADC1|ADC0| /- / voidinit_timer() /SFIOR /- /|TSM|-|-|-|ACME|PUD|PSR0|PSR321| /- /TSM:T/C同步模式。置位时,PSR0和PSR321保持其数据直到被更新或TSM被清零 /PSR0:T/C0预分频器复位,置位时使预频器复位,直到为0时表示复位完成 /PSR321:T/C3、2、1预分频繁器复位,此位读总为0 /ACME:模拟比较器使能 /PUD:所有端口上拉电阻禁止,置1为禁止 SFIOR=0; voidinit_timer0() /TCCR0T/C0控制寄存器 /- /|FOC0|WGM00|COM01|COM00|WGM01|CS02|CS01|CS00| /- /FOC0:强制输出比较启动 /WGM01,WGM00:工作模式选择 /00:普通模式,01:PWM相位修正, /10:比较匹配时清除计数器模式(CTC模式),11:快速PWM /COM01,COM00:比较匹配时的输出模式 /WGMxx为普通模式或CTC模式时 /00:OC0未连接, /01:OC0取反, /10:OC0清零, /11:OC0置位 /WGMxx为相位修正PWM模式 /00:OC0未连接, /01:保留, /10:升序匹配时清零OC0;降序匹配时置位OC0, /11:升序匹配时置位OC0;降序匹配时清零OC0 /WGMxx为快速PWM模式 /00:OC0未连接 /01:保留 /10:匹配时OC0清零;计数到TOP时OC0置位 /11:匹配时OC0置位;计数到TOP时OC0清零 /CS02,CS01,CS00:T/C0时钟预分频选择 /000:无时钟,T/C不工作001:1/1 /010:1/8011:1/32100:1/64 /101:1/128110:1/256111:1/1024 TCCR0=0; /TCNT0T/C0计数寄存器,8位 /OCR0输出比较寄存器,8位 /TIMSKT/C中断屏蔽寄存器 /- /|OCIE2|TOIE2|TICIE1|OCIE1A|OCIE1B|TOIE1|OCIE0|TOIE0| /- /OCIE2:T/C2输出比较匹配中断使能 /TOIE2:T/C2溢出中断使能 /TICIE1:T/C1输入捕捉中断使能 /OCIE1A:T/C1输出比较A匹配中断使能 /OCIE1B:T/C1输出比较B匹配中断使能 /TOIE1:T/C1溢出中断使能 /OCIE0:T/C0输出比较匹配中断使能 /TOIE0:T/C0溢出中断使能 TIMSK=0; /ETIMSKT/C扩展中断屏蔽寄存器 /- /|-|-|TICIE3|OCIE3A|OCIE3B|TOIE3|OCIE3C|OCIE1C| /- /TICIE3:T/C3输入捕捉中断使能 /OCIE3A:T/C3输出比较A匹配中断使能 /OCIE3B:T/C3输出比较B匹配中断使能 /TOIE3:T/C3溢出中断使能 /OCIE3C:T/C3输出比较C匹配中断使能 /OCIE1C:T/C1输出比较C匹配中断使能 ETIMSK=0; /TIFRT/C中断标志寄存器 /- /|OCF2|TOV2|ICF1|OCF1A|OCF1B|TOV1|OCF0|TOV0| /- /OCF2:T/C2输出比较匹配标志 /TOV2:T/C2溢出标志 /ICF1:T/C1输入捕捉标志位 /OCF1A:T/C1输出比较A匹配标志位 /OCF1B:T/C1输出比较B匹配标志位 /TOV1:T/C1溢出标志 /OCF0:T/C0输出比较匹配标志 /TOV0:T/C0溢出标志 /ETIFR扩展的T/C中断标志寄存器 /- /|-|-|ICF3|OCF3A|OCF3B|TOV3|OCF3C|OCF1C| /- /ICF3:T/C3输入捕捉匹配标志位 /OCF3A:T/C3输出比较A匹配标志位 /OCF3B:T/C3输出比较B匹配标志位 /TOV3:T/C3溢出标志位 /OCF3C:T/C3输出比较C匹配标志位 /OCF1C:T/C1输出比较C匹配标志位 /ASSRT/C0异步状态寄存器 /- /|-|-|-|-|AS0|TCN0UB|OCR0UB|TCR0UB| /- /AS0:T/C0使用外部时钟 /TCN0UB:TCNT0更新中,写TCNT0时将置位,为0时表明TCNT0可以写入新值 /OCR0UB:OCR0更新中,写OCR0时将置位,为0表明OCR0可以写入新值 /TCR0UB:TCCR0更新中,写TCCR0时将置位,为0表明TCCR0可以写入新值 ASSR=0; voidinit_timer2() /TCCR2T/C2控制寄存器 /- /|FOC2|WGM20|COM21|COM20|WGM21|CS22|CS21|CS20| /- /FOC2:强制输出比较启动 /WGM21,WGM20:工作模式选择 /00:普通模式,01:PWM相位修正, /10:比较匹配时清除计数器模式(CTC模式),11:快速PWM /COM21,COM20:比较匹配时的输出模式 /WGMxx为普通模式或CTC模式时 /00:OC0未连接, /01:OC0取反, /10:OC0清零, /11:OC0置位 /WGMxx为相位修正PWM模式 /00:OC0未连接, /01:保留, /10:升序匹配时清零OC0;降序匹配时置位OC0, /11:升序匹配时置位OC0;降序匹配时清零OC0 /WGMxx为快速PWM模式 /00:OC0未连接 /01:保留 /10:匹配时OC0清零;计数到TOP时OC0置位 /11:匹配时OC0置位;计数到TOP时OC0清零 /CS22,CS21,CS20:T/C0时钟预分频选择 /000:无时钟,T/C不工作001:1/1 /010:1/8011:1/32100:1/64 /101:1/128110:1/256111:1/1024 TCCR2=0; /TCNT2T/C2计数寄存器,8位 /OCR2T/C2比较寄存器,8位 voidinit_timer1() /TCCR1AT/C1控制寄存器A /- /|COM1A1|COM1A0|COM1B1|COM1B0|COM1C1|COM1C0|WGM11|WGM10| /- /TCCR1BT/C1控制寄存器B /- /|ICNC1|ICES1|-|WGM13|WGM12|CS12|CS11|CS10| /- /TCCR1CT/C1控制寄存器C /- /|FOC1A|FOC1B|FOC1C|-|-|-|-|-| /- /COM1A1,COM1A0:通道A的比较输出模式 /COM1B1,COM1B0:通道B的比较输出模式 /COM1C1,COM1C0:通道C的比较输出模式 /WGM13,WGM12,WGM11,WGM10:波型发生模式: /比较输出模式(CTC模式),非PWM /00普通端口操作,OC1A/OC1B/OC1C未连接 /01比较匹配时OC1A/OC1B/OC1C电平取反 /10比较匹配时清零OC1A/OC1B/OC1C(输出低电平) /11比较匹配时置位OC1A/OC1B/OC1C(输出高电平) /比较输出模式(CTC模式),快速PWM /00普通端口操作,OC1A/OC1B/OC1C未连接 /01WGM13为0时同上,为1时比较匹配时OC1A电平取反,OC1B/OC1C保留 /10比较匹配时OC1A/OC1B/OC1C清零,在TOP时OC1A/OC1B/OC1C置位 /11比较匹配时OC1A/OC1B/OC1C置位,在TOP时OC1A/OC1B/OC1C清零 /比较输出模式(CTC模式),相位修正及相频修正PWM /00普通端口操作,OC1A/OC1B/OC1C未连接 /01WGM13为0:同上,为1时比较匹配时OC1A电平取反,OC1B/OC1C保留 /10升序计数匹配时将OC1A/OC1B/OC1C清零,降序计数匹配时将OC1A/OC1B/OC1C置位 /11升序计数匹配时将OC1A/OC1B/OC1C置位,降序计数匹配时将OC1A/OC1B/OC1C清零 / /模式WGM1x工作模式说明TOPOCR1x更新时刻TOVn置位时刻 /00000普通模式0xFFFF立即MAX /100018位相位修正PWM0x00FFTOPBOTTOM /200109位相位修正PWM0x01FFTOPBOTTOM /3001110位相位修正PWM0x03FFTOPBOTTOM /40100CTCOCRnA立即MAX /501018位快速PWM0x00FFTOPTOP /601109位快速PWM0x01FFTOPTOP /7011110位快速PWM0x03FFTOPTOP /81000相位频率修正PWMICRnBOTTOMBOTTOM /91001相位频率修正PWMOCRnABOTTOMBOTTOM /101010相位修正PWMICRnTOPBOTTOM /111011相位修正PWMOCRnATOPBOTTOM /121100CTCICRn立即MAX /131101保留- /141110快速PWMICRnTOPTOP /151111快速PWMOCRnATOPTOP /ICNC1:使能/禁止输入捕捉噪声抑制器 /ICES1:输入捕获触发沿选择,0为下降沿触发,1为上升沿触发 /CS12,CS11,CS10:T/C0时钟预分频选择 /000:无时钟,T/C不工作001:1/1 /010:1/8011:1/64100:1/256 /101:1/1024110:外部T1脚下降沿驱动111:外部T1脚上升沿驱动 /FOC1A,FOC1B,FOC1C:强制输出比较通道A,B,C TCCR1A=TCCR1B=TCCR1C=0; /TCNT1H,TCNT1L定时/计数器1 /OCR1AH,OCR1AL输出比较寄存器1A /OCR1BH,OCR1BL输出比较寄存器1B /OCR1CH,OCR1CL输出比较寄存器1C /ICR1H,ICR1L输入捕捉寄存器1 voidinit_timer3() /TCCR3AT/C3控制寄存器A /- /|COM3A1|COM3A0|COM3B1|COM3B0|COM3C1|COM3C0|WGM31|WGM30| /- /TCCR3BT/C3控制寄存器B /- /|ICNC3|ICES3|-|WGM33|WGM32|CS32|CS31|CS30| /- /TCCR3CT/C3控制寄存器C /- /|FOC3A|FOC3B|FOC3C|-|-|-|-|-| /- /COM3A1,COM3A0:通道A的比较输出模式 /COM3B1,COM3B0:通道B的比较输出模式 /COM3C1,COM3C0:通道C的比较输出模式 /WGM33,WGM32,WGM31,WGM30:波型发生模式: /比较输出模式(CTC模式),非PWM /00普通端口操作,OC3A/OC3B/OC3C未连接 /01比较匹配时OC3A/OC3B/OC3C电平取反 /10比较匹配时清零OC3A/OC3B/OC3C(输出低电平) /11比较匹配时置位OC3A/OC3B/OC3C(输出高电平) /比较输出模式(CTC模式),快速PWM /00普通端口操作,OC3A/OC3B/OC3C未连接 /01WGM13为0时同上,为1时比较匹配时OC3A电平取反,OC3B/OC3C保留 /10比较匹配时OC3A/OC3B/OC3C清零,在TOP时OC3A/OC3B/OC3C置位 /11比较匹配时OC3A/OC3B/OC3C置位,在TOP时OC3A/OC3B/OC3C清零 /比较输出模式(CTC模式),相位修正及相频修正PWM /00普通端口操作,OC3A/OC3B/OC3C未连接 /01WGM13为0:同上,为1时比较匹配时OC3A电平取反,OC3B/OC3C保留 /10升序计数匹配时将OC3A/OC3B/OC3C清零,降序计数匹配时将OC3A/OC3B/OC3C置位 /11升序计数匹配时将OC3A/OC3B/OC3C置位,降序计数匹配时将OC3A/OC3B/OC3C清零 / /模式WGM3x工作模式说明TOPOCR1x更新时刻TOVn置位时刻 /00000普通模式0xFFFF立即MAX /100018位相位修正PWM0x00FFTOPBOTTOM /200109位相位修正PWM0x01FFTOPBOTTOM /3001110位相位修正PWM0x03FFTOPBOTTOM /40100CTCOCRnA立即MAX /501018位快速PWM0x00FFTOPTOP /601109位快速PWM0x01FFTOPTOP /7011110位快速PWM0x03FFTOPTOP /81000相位频率修正PWMICRnBOTTOMBOTTOM /91001相位频率修正PWMOCRnABOTTOMBOTTOM /101010相位修正PWMICRnTOPBOTTOM /111011相位修正PWMOCRnATOPBOTTOM /121100CTCICRn立即MAX /131101保留- /141110快速PWMICRnTOPTOP /151111快速PWMOCRnATOPTOP /ICNC3:使能/禁止输入捕捉噪声抑制器 /ICES3:输入捕获触发沿选择,0为下降沿触发,1为上升沿触发 /CS32,CS31,CS30:T/C0时钟预分频选择 /000:无时钟,T/C不工作001:1/1 /010:1/8011:1/64100:1/256 /101:1/1024110:外部T1脚下降沿驱动111:外部T1脚上升沿驱动 /FOC3A,FOC3B,FOC3C:强制输出比较通道A,B,C TCCR3A=TCCR3B=TCCR3C=0; /TCNT3H,TCNT3L定时/计数器3 /OCR3AH,OCR3AL输出比较寄存器3A /OCR3BH,OCR3BL输出比较寄存器3B /OCR3CH,OCR3CL输出比较寄存器3C /ICR3H,ICR3L输入捕捉寄存器3 voidinit_uart(void) /UDRnUSARTI/O数据寄存器,不可用读修改写命令操作,否则会改变FIFO状态 /UCSRnAUSART控制和状态寄存器A /- /|RXCn|TXCn|UDREn|FEn|DORn|UPEn|U2Xn|MPCMn| /- /RXCn:USART接收结束标志 /TXCn:USART发送结束标志,写1可清除 /UDREn:USART数据寄存器为空标志,只有该标志为1才数据才可写入UDR0 /FEn:帧错误,未正确收到停止位 /DORn:数据过速 /UPEn:奇偶效验错误 /U2Xn:倍速发送,仅对异步操作有影响 /MPCMn:多处理器通讯模式 /UCSRnBUSART控制和状态寄存器B /- /|RXCIEn|TXCIEn|UDRIEn|RXENn|TXENn|UCSZn2|RXB8n|TXB8n| /- /RXCIEn:接收结束中断使能 /TXCIEn:发送结束中断使能 /UDRIEn:USART数据寄存器空中使能 /RXENn:接收使能 /TXENn:发送使能 /UCSZn2:字符长度,具体见下面 /RXB8n:接收数据位8 /TXB8n:发送数据位8 /UCSRxCUSART控制和状态寄存器C /- /|-|UMSELn|UPMn1|UPMn0|USBSn|UCSZn1|UCXZn0|UCPOLn| /- /UMSELn:模式选择,0为异步操作,1为同步操作 /UPMn1,UPMn0:奇偶效验模式,00禁止,01保留,10偶效验,11奇校验 /USBSn:停止位选择,0为1位停止位,1为2位停止位 /UCSZn2,UCSZn0:字符长度,000为5位,001为6位,010为7位,011为8位 /100为保留,101为保留,110为保留,111为9位 /UCPO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论