找回密码
 立即注册

QQ登录

只需一步,快速开始

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

电位器AD值的最新用法

[复制链接]
跳转到指定楼层
楼主
ID:307124 发表于 2018-4-13 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"reg51.h"#include"XPT2046.h"//--定义使用的IO--//#define GPIO_DIG P0sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;//--定义全局变量--//unsigned char code DIG_CODE[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码uchar DisplayData[8];       //用来存放要显示的8位数的值void DigDisplay(void);void main(void){    uint temp,count;    while(1)    {      if(count==50)      {        count=0;         temp = Read_AD_Data(0x94);      //初始化AD,读取AIN0(001)通道的值      }      count++;      DisplayData[0]=DIG_CODE[0];      DisplayData[1]=DIG_CODE[0];      DisplayData[2]=DIG_CODE[0];      DisplayData[3]=DIG_CODE[0];      DisplayData[4]=DIG_CODE[temp%10000/1000];      DisplayData[5]=DIG_CODE[temp%1000/100];      DisplayData[6]=DIG_CODE[temp%100/10];      DisplayData[7]=DIG_CODE[temp%10/1];      DigDisplay();    }}void DigDisplay(void){    unsigned char i;    unsigned int j;    for(i=0;i<8;i++)    {        switch(i)    //位选,选择点亮的数码管,        {            case(0):                LSA=0;LSB=0;LSC=0; break;//显示第0位            case(1):                LSA=1;LSB=0;LSC=0; break;//显示第1位            case(2):                LSA=0;LSB=1;LSC=0; break;//显示第2位            case(3):                LSA=1;LSB=1;LSC=0; break;//显示第3位            case(4):                LSA=0;LSB=0;LSC=1; break;//显示第4位            case(5):                LSA=1;LSB=0;LSC=1; break;//显示第5位            case(6):                LSA=0;LSB=1;LSC=1; break;//显示第6位            case(7):                LSA=1;LSB=1;LSC=1; break;//显示第7位            }        GPIO_DIG=DisplayData;//发送段码        j=50;                        //扫描间隔时间设定        while(j--);         GPIO_DIG=0x00;//消隐    }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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