单片机多路数据采集源程序基于单片机的万年历汇编语言程序.docVIP

单片机多路数据采集源程序基于单片机的万年历汇编语言程序.doc

  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文档。上传文档
查看更多
单片机多路数据采集源程序amp;基于单片机的万年历汇编语言程序.doc

程序在下面 源程序: 单路采集程序: MOV DPTR,#0F8FFH ??? MOV R0,#00H ;将存储器的首地址存在R0,R1两个寄存器中 ??? MOV R1,#00H ??? MOV R2,#200D ;设置循环 ??? MOV R3,#4 ??? MOV R4,#8D MAIN: ??? CLR P1.1 ;选中ADC0809 ??? PUSH DPL ;DPTR入栈 ??? PUSH DPH ??? MOVX @DPTR,A ;启动AD转换 ??? ACALL DELAY ;延时5ms 保证采集数据频率为200HZ ??? MOVX A,@DPTR ;读数据 ??? SETB P1.1 ;选中存储器 ??? MOV DPL,R0 ;将存储器的地址给DPTR ??? MOV DPH,R1??? ??? MOVX @DPTR,A ;存数据 ??? INC DPTR ;指向下一存储单元 ??? MOV R0,DPL ;将该单元地址重新存入寄存器中 ??? MOV R1,DPH ??? POP DPH ;DPTR出栈 ??? POP DPL ??? ??? DJNZ R2,MAIN ??? DJNZ R3,MAIN ??? DJNZ R4,MAIN ??? SJMP $ ??? DELAY:? ;延时程序 延时5ms????????? ??? MOV R5,#100D ??? MOV R6,#24D ?LA:DJNZ R5,$ ??? DJNZ R6,LA ??? RET ???? ??? END 循环采集程序: MOV 30H,#00H ;将八块存储器的首地址分别存在30-3F共16个内部存储单元 ????? MOV 31H,#00H ????? MOV 32H,#00H ????? MOV 33H,#20H ?????? MOV 30H,#00H ;将八块存储器的首地址分别存在30-3F共16个内部存储单元 ????? MOV 31H,#00H ????? MOV 32H,#00H ????? MOV 33H,#20H ????? MOV 34H,#00H ????? MOV 35H,#40H ????? MOV 36H,#00H ????? MOV 37H,#60H ????? MOV 38H,#00H ????? MOV 39H,#80H ????? MOV 3AH,#00H ????? MOV 3BH,#0A0H ????? MOV 3CH,#00H ????? MOV 3DH,#0C0H ????? MOV 3EH,#00H ????? MOV 3FH,#0E0H ????? ????? MOV R2,#200D ;设置外循环200*40共8000次 ????? MOV R3,#40D?????????? ????? MAIN: MOV DPTR,#0F8FFH ;0通道的地址 ????? MOV R0,#30H ;R0,R1作为存储器地址的中间变量 ????? MOV R1,#31H ????? MOV R4,#8 ;设置内循环 ???? LOOP: CLR P1.1 ;选中ADC0809 ????? PUSH DPL ;DPTR入栈 ????? PUSH DPH ????? MOVX @DPTR,A ;输入一个数启动AD转换 ????? ACALL DELAY? ;等待延时以达到每秒采集200个数据?? ????? MOVX A,@DPTR? ;读数据? ????? SETB P1.1 ;选中存储器 ????? MOV DPL,@R0 ;将存储器的地址给DPTR ????? MOV DPH,@R1??? ????? MOVX @DPTR,A ;存数据 ????? INC DPTR ;指向下一存储单元 ????? MOV @R0,DPL ;将该单元地址重新存入内部数据存储单元 ????? MOV @R1,DPH ????? INC R0 ;指向下一块存储器的地址 ????? INC R0 ????? INC R1 ????? INC R1 ????? POP DPH ;DPTR出栈 ????? POP DPL ????? INC DPH ;指向下一通道地址 ????? DJNZ R4,LOOP ;内循环 ????? ????? DJNZ R2,MAIN ;外循环 ????? DJNZ R3,MAIN ????? SJMP $ ????? ?DELAY:? ;延时程序 延时600us????????? ????? MOV R5,#100 ????? MOV R6,#3 ?? LA:DJNZ R5,$ ????? DJNZ R6,LA ????? RET ??

文档评论(0)

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

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

1亿VIP精品文档

相关文档