89C52单片机和TLC2543实现三路转换电路图和51C程序可用proteus仿真.docx

上传人:人*** 文档编号:12463114 上传时间:2022-05-23 格式:DOCX 页数:4 大小:70.02KB
下载 相关 举报
89C52单片机和TLC2543实现三路转换电路图和51C程序可用proteus仿真.docx_第1页
第1页 / 共4页
89C52单片机和TLC2543实现三路转换电路图和51C程序可用proteus仿真.docx_第2页
第2页 / 共4页
89C52单片机和TLC2543实现三路转换电路图和51C程序可用proteus仿真.docx_第3页
第3页 / 共4页
89C52单片机和TLC2543实现三路转换电路图和51C程序可用proteus仿真.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

书上和网上的相关程序很多,但是有一个问题大家可能会遇到,就是读出的数不是想要的通道的数值,我就谈谈这个的问题。见网上有人问到TLC2543多路转换时出现通道之间串位的问题,我也遇到了,例如:输入的是通道0,读的数却是通道1,等等。我分析了一下,出现问题的原因如下:书上印的、网上传的关于TLC2543转换输出12位的子函数的形参大多是uchar型的,如调取子函数:read(ucharport)。调取子函数时以十六进制表示输入的通道数,如通道0为0x00,通道1为oxl0等等,可是子函数里有一条是portvv=4;这让只有八位的ucharport向左移四位之后,原来的包含通道信息的高四位被舍弃,变为原来的低四位,通道数肯定不是你想要的那个通道了。以uchar为形参,用十六进制表示通道数时去掉port=4;才是正确的。如果你非要加上port=4;也可以,此时形参设定为uchar,那你就输入十进制的通道数,如通道0为0,通道1为1,如通道1,写为二进制是0001,那么port就是00000001,左移4位正好变为00010000,也是对的。而偏偏有人输入的是十进制的通道数,再加

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 商业租赁

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。