完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人初学单片机 准备做一个显示角度传感器转过的角度的题目 手上拿到的角度传感器是0到180度 0到5伏的电压输出
程序如下 #include #define uchar unsigned char #define uint unsigned int ***it DSO=P1^0; ***it DSI=P1^1; ***it CS=P1^2; ***it CLK=P1^3; uchar code tab[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar code wei[]={0xf1,0xf2,0xf4,0xf8}; uint huancun[]={0x00,0x00,0x00,0x00}; void delay(uint m) { while(m--); } void display() { uchar i; for(i=0;i<4;i++) { P2=wei; P0=tab[huancun]; delay(5); } } uint Read_TLC2543(uchar CHN) { uchar i,temp; uint ad=0; CHN=CHN<<4; CLK=0; CS=1; CS=0; temp=CHN; for(i=0;i<12;i++) { ad=ad<<1; if((temp&0x80)!=0){DSI=1;} else{DSI=0;} if(DSO){ad=ad+1;} CLK=1; CLK=0; temp=temp<<1; } CS=1; ad=ad&0x0fff; return(ad); } void main() { float sum; uint date; while(1) { sum=Read_TLC2543(0x00)*18.0; date=sum/4095; huancun[0]=date/1000; huancun[1]=date%1000/100; huancun[2]=date%1000%100/10; huancun[3]=date%10; display(); } } 仿真得到的结果精度不够 何解
|
|
相关推荐
3个回答
|
|
sum=Read_TLC2543(0x00)*18.0;???
|
|
|
|
抱歉 是*1800然后 电阻每上升1%就18+18的变化 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
180 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
587 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
549 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
548 浏览 0 评论
1051 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11763 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 19:03 , Processed in 0.554557 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号