找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于串行口打印在调试程序中的应用的问题

查看数: 3813 | 评论数: 8 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-11-18 20:16

正文摘要:

#include <reg52.h>                //52单片机头文件 #include <intrins.h> #include<stdio.h> #define uchar unsigned char        &nb ...

回复

ID:292934 发表于 2018-3-16 21:31
问一下,他这个电位器是哪一个?
不知道为什么我的程序是对的,可是调节单片机上的所有电位器都不改变数值!
ID:147531 发表于 2016-11-20 14:39
a0931727149 发表于 2016-11-19 18:54
uchar get_ad() 函數 中..或許 rd之前需要加適當的延時 ....(需等待ADC轉換完成...在讀取DATA )
  1. uchar get_ad()
  2. {
  3.         uchar adval;
  4.         wr=1;
  5.         _nop_();
  6.         wr=0;
  7.         _nop_();
  8.         wr=1;
  9.         P1=0xff;
  10.         delay(10);
  11.         rd=1;
  12.         _nop_();
  13.         delay(10);
  14.         rd=0;
  15.         _nop_();
  16.         adval=P1;
  17.         delay(10);
  18.         rd=1;
  19.         delay(10);
  20.         return adval;
  21. }
复制代码


加了延时之后,改变延时的值,数码管显示的值变化了,返回的电压值也变化了,但调节电位器还是没用。。。。楼下第一张是延时为5ms返回的值,第二张是延时为10ms时的值
ID:140371 发表于 2016-11-19 18:54
uchar get_ad() 函數 中..或許 rd之前需要加適當的延時 ....(需等待ADC轉換完成...在讀取DATA )

评分

参与人数 1黑币 +10 收起 理由
黑橙orangerx + 10 赞一个!

查看全部评分

ID:147531 发表于 2016-11-19 17:26
a0931727149 发表于 2016-11-19 17:00
我覺得這裡:ad_vo=(float)ad*5.0/256.0; 可能是 ad_vo=(float)ad_val*5.0/256.0;

这里的确写错了,我改了,有数值返回了,但是调节电位器数值没有变化。。。
ID:140371 发表于 2016-11-19 17:00
我覺得這裡:ad_vo=(float)ad*5.0/256.0; 可能是 ad_vo=(float)ad_val*5.0/256.0;

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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