找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1055|回复: 2
打印 上一主题 下一主题
收起左侧

大佬帮忙看看c程序哪里少了点什么 感谢万分

[复制链接]
跳转到指定楼层
楼主
ID:359165 发表于 2018-6-29 10:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.实验目的
掌握SPI总线的ADC0832模数转换的使用方法。
2.实验内容
利用ADC0832采集直流0~5V的电压,并在LCD1602上显示结果。

C语程序
#include <reg52.H>
#include"LCD1602.h"
#include"ADC0832.h"
#define uchar unsigned char
#define uint unsigned int
uchar Voltage = 0;
/*主函数*/
void main()
{
        LCD1602_init();
        LCD1602_string(1,1," ADC0832 Test");
        LCD1602_string(2,1," Voltsge:   V");
        while(1)
        {
                Voltage = adc0832(1);
                Display_2num_dot(2,10,Voltage*50/255);
        }
}
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define  unit  unsigned int
sbit ADCS =P1^5;
sbit ADDI =P3^2;
sbit ADDO =P1^7;
sbit ADCLK=P1^6;
uchar adc0832(uchar channel)
{
        uchar i=0;
        uchar dat=0;
         
          if(channel==0)channel=2;
      if(channel==1)channel=3;
          ADDI=0;ADCS=1;ADCLK=0;
          ADDI=1;ADCS=0;ADCLK=1;
          ADCLK=0;ADCLK=1;
          ADDI=channel&0x1;
          ADCLK=0;ADCLK=1;
          ADDI=(channel>>1)&0x1;
          ADCLK=0;ADDI=1;
          dat=0;
          for(i=0;i<8;i++)
          {
                  dat|=ADDO;
                  ADCLK=1;
                  ADCLK=0;
                  dat<<=1;
                  if(i==7)dat|=ADDO;
          }
          ADCS=1;ADCLK=0;ADDO=1;
          return(dat);
}
#ifndef __ADC0832_H__
#define __ADC0832_H__
unsigned char adc0832(unsigned char channel);
#endif

评分

参与人数 1黑币 +5 收起 理由
大家好才是真的 + 5 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:361910 发表于 2018-6-29 17:40 | 只看该作者
#include<reg52.h> #include<intrins.h> #define uchar unsigned char #define  unit  unsigned int sbit ADCS =P1^5; sbit ADDI =P3^2; sbit ADDO =P1^7; sbit ADCLK=P1^6;应该放在主函数前面吧

评分

参与人数 1黑币 +5 收起 理由
扫福11 + 5 赞一个!

查看全部评分

回复

使用道具 举报

板凳
ID:359165 发表于 2018-6-30 11:57 | 只看该作者
菜鸡养成攻略 发表于 2018-6-29 17:40
#include #include #define uchar unsigned char #define  unit  unsigned int sbit ADCS =P1^5; sbit ADDI ...

还有没有什么错呢,大哥。谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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