完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include "reg51.h"
#include "intrins.h" #define uchar unsigned char #define uint unsigned int ***it clock=P2^5; ***it cs=P2^3; ***it dat=P2^4; uchar duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段选 ***it P1_0=P1^0;//位选 ***it P1_1=P1^1; ***it P1_2=P1^2; ***it P1_3=P1^3; void delay(uint t) { while(t--); } uchar ADC0_Conver () //AD采样 { uchar i,temp; cs=1; clock=0; cs=0; _nop_(); _nop_(); for(i=0;i<8;i++) { temp<<=1; temp|=dat; clock=1; _nop_(); clock=0; } cs=1; for(i=17;i!=0;i--)_nop_(); return(temp); } void display(uint t)//数码管显示函数 { P1_0=0; P0=duan[t/1000]; delay(10); P0=0xff; P1_0=1; P1_1=0; P0=duan[t%1000/100]; delay(10); P0=0xff; P1_1=1; P1_2=0; P0=duan[t%100/10]; delay(10); P0=0xff; P1_2=1; P1_3=0; P0=duan[t%10]; delay(10); P0=0xff; P1_3=1; } void main() { uchar value; uint voltage; P1=0xff; while(1) { delay(100); value=ADC0_Conver(); voltage=5.0/256*(int)value*1000;//将电压值扩大1000倍 display(voltage); } } 为啥改变输入电压,数码管显示的电压值不更新,只显示4980 |
|
相关推荐
8个回答
|
|
有一个让人猜问题的难题,问题等于没问
|
|
|
|
|
|
|
|
赞同楼上说法 面对这个问题还要让人猜 注释难道不可以多点
|
|
|
|
数码管显示没问题,只是不知道为什么显示出来的电压值不更新,难道549没起作用? |
|
|
|
{:soso_e127:}只是想让人帮忙看一下,AD转换数据是不是这样写(在主函数while循环中) |
|
|
|
我的TLC1549也是一样的问题,能不能有办法解决?
|
|
|
|
|
|
|
|
不错的文件,值得收藏
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
377 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
536 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
540 浏览 0 评论
950 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1403 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11760 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 08:10 , Processed in 0.649256 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号