搜索
bottom↓
回复: 5

同一个AD程序,换不同的脚,如何实现程序不重复(汇编)

[复制链接]

出0入0汤圆

发表于 2013-10-26 23:15:18 | 显示全部楼层 |阅读模式
小弟用EM78P458对四个18b20进行温度检测,分别用P60、P61、P62、P63进行,但是程序是一样的,请教一下,有没有什么办法,可以只用变换一个某个变量,就可以用同一段程序检测四个脚上的18b20 ?
义隆好像是只能定义一个寄存器,而不能定义某一位吧?  目前我是复制四段检测18b20的程序,四段的区别就是在进入程序的时候先定义对应的P6x口为输入,然后开始检测。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2013-10-27 10:08:25 | 显示全部楼层
话说18B20不是一个口能连N个么- -
LZ的要求的话,定义一个读IO口的宏,然后替换那个宏实现复用吧

出0入0汤圆

 楼主| 发表于 2013-10-27 13:13:54 | 显示全部楼层
本帖最后由 aajie777 于 2013-10-27 13:15 编辑

可以用一个口连多个18b20,感觉程序有点烦,而且IO口有多,所以就想到用4个IO口各测各的,但程序却遇到这个麻烦。  如果是一个寄存器可以用一个宏来定义,可是一个IO脚,不知道怎么定义也!
好像没有: 0x20  equ  P60  这种定义法吧

出0入0汤圆

发表于 2013-10-28 17:32:08 | 显示全部楼层
比如数据寄存器是R
然后#define READ_DAT ((R&0x01)!=0)作为读第一个IO口数据
要第二位就&0x02

出0入0汤圆

发表于 2013-12-22 21:07:40 | 显示全部楼层
做个子程序调用。

出0入0汤圆

发表于 2013-12-24 17:14:29 | 显示全部楼层
一个一个检测不就得了,先P60,读取完后检测P61,以此循环,对了,P60是单总线的结构,也就是说一个IO口上可以接很多歌18B20,只要知道每个18B20的地址就行了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 17:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表