下载此文档

avr汇编百例.doc


文档分类:经济/贸易/财会 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
;以下提供几个补充参考程序,,采;用中断方式写入EEPROM,,以及RS-232/;RS-485标准转换程序,AVR频率计程序,串行时锺日历芯片DS1302读写,共享时基的PWM输出、;输入捕获测周期程序和定时信号获取,;据模式区分被选分机(9位)和其它分机(8位),;断方式写EEPROM的优点是可与系统运行同时进行(即在线写入),占用很少机时.;精确定时用定时/计数器1(或0)直接对MCU主频(不设分频)设定时间常数,分频精度可达到;-232/RS-485标准转换程序中AVR不作中转,;定时,以T0引脚接收RS--232字符起始位下跳沿或结束符($03)为依据,;控制切换RS-485的收发使能.(系统中的主AVR可兼做对通信标准之监控转换,即只是在完成;主要工作任务的同时'附带'进行).,;可靠性高,与单片机连接方便等优点.;以下程序请参看有关章节或程序中的注释。;范例91;多机通讯主机程序/0;以8/9位数据模式区分被选/=$180;UBRR=12波特率19200(.=%).EQUDRPINT=$1C0;主机对1#,2#,3#,4#分机发送数据块在$180-18F,$190-19F,$1A0-1AF)和$1B0-1BFSTRT38:RJMPRST38;主机从1#,2#,3#,4#分机接收数据块在$1C0-1CF,$1D0-1DF,$1E0-1EF)和$1F0-$00B;$00CRJMPSTRT38;主机不设串口中断,$011RST38:LDIR16,12OUTUBRR,R16;设波特率:[BAUDRATE=FCP/16(UBRR+1)]CLRR15;初始化分机号LDIR27,HIGH(DTPINT)LDIR26,LOW(DTPINT);发送数据指针(首指$180)LDIR29,HIGH(DRPINT)LDIR28,LOW(DRPINT);接收数据指针(首指$1C0)NEXTNO:LDIR16,$18OUTUCR,R16;允许UART接收和发送,8位数据模式INCR15;指向1#分机OUTLP:OUTUDR,R15;呼分机号,1:1#/2:2#/03:3#/04:4#...TSLOP:INR16,USRSBRSR16,7RJMPTSLOP;分机返回机号?INR16,UDRCPR16,R15;分机号正确返回?BRNEOUTLPLDIR16,$1C;改为9位数据模式TXB8=0OUTUCR,R16;TXLOP:LDR16,X+OUTUDR,R16;向分机发送数据块TESTL:INR17,USRSBRSR17,5RJMPTESTL;等待发送完成CPIR16,$XLOP;RXTST:INR17,USRSBRSR17,7;RXC=1收到数据RJMPRXTST;等待接收分机返回数据块INR16,UDRSTY+,R16;存储接收数据CPIR16,$0A;分机数据块发完?BRNERXTSTMOVR16,R15CPIR16,4;与分机轮询通讯完毕?BRNENEXTNO;未完转对下一分机通信HH38:RJMPHH38;否则踏步(可改为处理分机返回的数据,之后再进行下一个轮询).$180DTPINT:.BYTE$40;$41$45$65$73$46$42$40$6F$33$44$66$5C$4D$4B$0D$0A;$42$4F$66$78$47$45$44$63$32$48$60$7C$6D$45$0D$0A;$43$56$55$53$4D$4F$40$2E$31$42$67$4C$47$4A$0D$0A;$45$54$59$63$3D$4B$48$2F$35$48$69$3C$77$43$0D$$1C0DRPINT:.BYTE$40;0;多机通讯1#分机程序/=$180;(UBRR)=12波特率为19200(.=%).EQUDRPNT1=$1C0STRT39:$00BRJMPUARXC;$00CRJMPUATXC;$011RST39:CLRR18;清除分机被选中(R18,6)和主机数据块接收完毕标志(R18,7)LDIR16,12OUTUBRR,R16;设波特率[BAUDRATE=4000000/16*(12+1)=19200]LDIR16,HIGH(DRPNT1)MOVR8,R16LDIR16,LOW(DRPNT1)MOVR9,R1

avr汇编百例 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息