1
完善资料让更多小伙伴认识你,还能领取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也是一样的问题,能不能有办法解决?
|
|
|
|
|
|
|
|
不错的文件,值得收藏
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12037 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 02:25 , Processed in 0.836973 second(s), Total 88, Slave 71 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号