(VR虚拟现实)AVR汇编百例晋级篇参考程序.pdfVIP

(VR虚拟现实)AVR汇编百例晋级篇参考程序.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(VR 虚拟现实)AVR 汇编百 例晋级篇参考程序 ;以下提供几个补充参考程序,都带有详细说明和指令注释.它们是主从多机通讯程序,采 ;用中断方式写入EEPROM,直接对晶振分频产生0.1 秒和秒号的精确定时程序,以及RS-232/ ;RS-485标准转换程序,AVR频率计程序,串行时锺日历芯片DS1302 读写,共享时基的 PWM 输 出、 ;输入捕获测周期程序和定时信号获取,以及 DS18B20 测温等程序.多机通讯主要用8 和 9 位 数 ;据模式区分被选分机(9位)和其它分机(8位),达到主机只与被选分机交换数据之目的.以中 ;断方式写 EEPROM 的优点是可与系统运行同时进行(即在线写入) ,占用很少机时. ;精确定时用定时/计数器 1(或0)直接对MCU 主频(不设分频)设定时间常数,分频精度可达到 ;1HZ.RS-232/RS-485标准转换程序中 AVR 不作中转,使两种器件相关脚位直接连接.以TT0 ;定时,以T0 引脚接收RS-232 数据.以收到RS-232 字符起始位下跳沿或结束符($03)为依据, ;控制切换 RS-485 的收发使能.(系统中的主AVR 可兼做对通信标准之监控转换,即只是在完 成 ;主要工作任务的同时附带进行).具体过程不再细述.串行时锺日历芯片DS1302 具体积小, ;可靠性高,与单片机连接方便等优点. ;以下程序请参看有关章节或程序中的注释。 ;范例91;多机通讯主机程序/晶振4MHZ .ORG0;以8/9 位数据模式区分被选/未被选分机通讯 .EQUDTPINT=$180;UBRR=12 波特率 19200(REL.ERR.=0.16%) .EQUDRPINT=$1C0;主机对 1#,2#,3#,4#分机发送数据块在$180-18F,$190-19F,$1A0-1AF)和 $1B0-1BF STRT38:RJMPRST38;主机从 1#,2#,3#,4#分机接收数据块在$1C0-1CF,$1D0-1DF,$1E0-1EF)和 $1F0-1FF .ORG$00B; RJMPSTRT38 .ORG$00C RJMPSTRT38;主机不设串口中断,只以查询接收 .ORG$011 RST38:LDIR16,12 OUTUBRR,R16;设波特率:[BAUDRATE=FCP/16(UBRR+1)] CLRR15;初始化分机号 LDIR27,HIGH(DTPINT) LDIR26,LOW(DTPINT);发送数据指针(首指$180 ) LDIR29,HIGH(DRPINT) LDIR28,LOW(DRPINT);接收数据指针(首指$1C0) NEXTNO:LDIR16,$18 OUTUCR,R16;允许 UART 接收和发送,8 位数据模式 INCR15;指向 1#分机 OUTLP:OUTUDR,R15;呼分机号,1:1#/2:2#/03:3#/04:4#... TSLOP:INR16,USR SBRSR16,7 RJMPTSLOP;分机返回机号? INR16,UDR CPR16,R15;分机号正确返回? BRNEOUTLP LDIR16,$1C;改为 9 位数据模式 TXB8=0 OUTUCR,R16; TXLOP:LDR16,X+ OUTUDR,R16;向分机发送数据块 TESTL:INR17,USR SBRSR17,5 RJMPTESTL;等待发送完成 CPIR16,$0A BRNETXLOP; RXTST:INR17,USR SBRSR17,7;RXC=1 收到数据 RJMPRXTST;等待接收分机返回数据块 INR16,UDR STY+,R16;存储接收数据 CPIR16,$0A;分机数据块发完? BRNERXTST MOVR16,R15 CPIR16,4;与分机轮询通讯完毕? BRNENEXTNO ;未完转对下一分机通信 HH38:RJMPHH38;否则踏步(可改为处理分机返回的数据,之后再进行下一个轮询) .DSEG .ORG$180 DTPINT:.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$0A .ORG$1C0 DRPINT:.BYTE$4

文档评论(0)

max + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档