欢迎来到天天文库
浏览记录
ID:57609526
大小:13.51 KB
页数:5页
时间:2020-08-28
《C51单片机AD显示数码管.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include"reg51.h"#include"XPT2046.h"#defineGPIO_DIGP0//定义使用IOsbitLSA=P2^2;sbitLSB=P2^3;sbitLSC=P2^4;unsignedcharcodeDIG_CODE[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharDisplayData[8];//存放8位显示数字voidDigDisplay(void);voidmain(void){uinttemp,count;whi
2、le(1){if(count==50){count=0;temp=Read_AD_Data(0x94);//AIN0电位器//temp=Read_AD_Data(0xD4);//AIN1热敏电阻//temp=Read_AD_Data(0xA4);//AIN2光敏电阻//temp=Read_AD_Data(0xE4);//AIN3外部输入}count++;DisplayData[7]=DIG_CODE[0];DisplayData[6]=DIG_CODE[0];DisplayData[5]=DIG_CODE[0];DisplayData[4]=DIG_CODE[0];DisplayDa
3、ta[3]=DIG_CODE[temp%10000/1000];DisplayData[2]=DIG_CODE[temp%1000/100];DisplayData[1]=DIG_CODE[temp%100/10];DisplayData[0]=DIG_CODE[temp%10/1];DigDisplay();}}voidDigDisplay(void){unsignedchari;unsignedintj;for(i=0;i<8;i++){switch(i)//选位,点亮数码管{case(0):LSA=0;LSB=0;LSC=0;break;//case(1):LSA=1;LSB=
4、0;LSC=0;break;//case(2):LSA=0;LSB=1;LSC=0;break;//case(3):LSA=1;LSB=1;LSC=0;break;//case(4):LSA=0;LSB=0;LSC=1;break;//case(5):LSA=1;LSB=0;LSC=1;break;//case(6):LSA=0;LSB=1;LSC=1;break;//case(7):LSA=1;LSB=1;LSC=1;break;//}GPIO_DIG=DisplayData[i];//发送代码j=50;//扫描时间while(j--);GPIO_DIG=0x00;//消隐}}#i
5、fndef__XPT2046_H_#define__XPT2046_H_#include#include//重定义关键词#ifndefuchar#defineucharunsignedchar#endif#ifndefuint#defineuintunsignedint#endif#ifndefulong#defineulongunsignedlong#endif//定义使用IOsbitDOUT=P3^7;//输出sbitCLK=P3^6;//时钟sbitDIN=P3^4;//输入sbitCS=P3^5;//片选uintRead_AD_Data
6、(ucharcmd);uintSPI_Read(void);voidSPI_Write(uchardat);#endif
此文档下载收益归作者所有