博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
x9015数字电位器应用
阅读量:6787 次
发布时间:2019-06-26

本文共 3470 字,大约阅读时间需要 11 分钟。

 /***********************************************************************

   名称:main()
   功能:主函数,将x9015设置为中间档位(16),则测量出来的值约为实际的电压信号的一半。
***********************************************************************/
1 int main(void) 2 {   uint32   data; 3     x9015_Init(); 4     NumbTube_Init();    //数码管初始化 5     AD_Init(); 6     x9015_Step(0,31);    //先将数字电位器x9015的档数设为0 7     x9015_Step(1,16);    //再将数字电位器x9015的档数设为16 8     while(1) 9     {    10       data = AD_Read(AIN4);          //AD转换(AIN4)11       NumbTube_Display(data*2,1);    //数码管显示12     }13     return(0);14 }

 单击全速运行按钮(快捷键F5),程序会运行并停留在main()主函数处;继续全速运行,测量到的电压信号在数码管上进行显示。

 
1 //-----------引脚定义---------------- 2 #define    x9015_INC          (1<<29)        //P2.29 3 #define    x9015_UpDown       (1<<28)        //P2.28 4 #define    x9015_CS           (1<<18)        //P1.18 5 /******************************************************************** 6 * 名称:x9015_Init() 7 * 功能:初始化x9015的引脚配置 8 ********************************************************************/ 9 void x9015_Init(void)10 {    11                 // 设置引脚连接 x9015_CS(P1.18)为GPIO12     PINSEL2 =  PINSEL2 & 0xfffffff7;    13     IO2DIR = IO2DIR | x9015_INC | x9015_UpDown;14     IO1DIR = IO1DIR | x9015_CS;15 }16 /****************************************************************************17 * 名称:x9015_Step(uint8 UpDown, uint8 level)18 * 功能:改变x9015数字电位器的内部档数19 * 入口参数:UpDown    增加档数或减少档数, level  变化的档数值20 ****************************************************************************/21 void x9015_Step(uint8 UpDown, uint8 level)22 { 23     uint8  i;24     IO1CLR = x9015_CS;25     if(UpDown == 1)    IO2SET = x9015_UpDown;        //内部挡数增加26     else               IO2CLR = x9015_UpDown;        //内部挡数减少27     for(i=0;i<10;i++)  ;                             //小段延时28     for(;level>0;level--)29     {     IO2SET = x9015_INC;30            for(i=0;i<200;i++)  ;            31            IO2CLR = x9015_INC;32            for(i=0;i<200;i++)  ;             33     }34     IO1SET = x9015_CS;35 }

 

1 /*************************************/  2 /*           X9313W驱动程序            */  3 /*            版本号:V1.0             */  4 /*************************************/  5   6 /*************************************/  7 /*          文件包含                  */  8 /*************************************/  9 #include 
10 #include
11 12 /*************************************/ 13 /* IO口地址定义 */ 14 /*************************************/ 15 sbit X9313W_INC = P3^0; //计数脉冲输入端,下降沿触发 16 sbit X9313W_UPDN = P3^1; //方向,高电平加、低电平减 17 sbit X9313W_CS = P3^2; //片选,低电平有效 18 19 20 /*************************************/ 21 /* 调整电阻到第RNumber阶阻值 */ 22 /*入口:RNumber:阶阻值0~31 */ 23 /*出口:无 */ 24 /*************************************/ 25 void X9313W_SetVol(unsigned char RNumber) 26 { 27 unsigned char i; 28 29 X9313W_INC = 1; 30 _nop_(); 31 _nop_(); 32 X9313W_CS = 0; 33 _nop_(); 34 _nop_(); 35 X9313W_UPDN = 0; //先调到0 36 for(i=0;i<32;i++){ 37 X9313W_INC = 1; 38 _nop_(); 39 _nop_(); 40 X9313W_INC = 0; 41 _nop_(); 42 _nop_(); 43 } 44 45 X9313W_UPDN = 1; //调到指定值 46 for(i=0;i

 

转载于:https://www.cnblogs.com/wangh0802PositiveANDupward/p/3249966.html

你可能感兴趣的文章
<正则吃饺子> :关于redis配置文件参数详解
查看>>
2018-2019-2 20165334-Exp6:信息收集与漏洞扫描
查看>>
python发邮件模板参考
查看>>
【转载】rpc.rstatd安装与配置
查看>>
新东方雅思词汇---10.1、(a)esthet
查看>>
html常用属性border-radius、linear-gradient怎么使用
查看>>
jquery-12 折叠面板如何实现(两种方法)
查看>>
bootstrap课程10 从外部引入视频到页面用什么标签
查看>>
m_Orchestrate learning system---二十一、怎样写算法比较轻松
查看>>
贪心3--删数问题
查看>>
handler消息机制入门
查看>>
二维数组
查看>>
第十周作业
查看>>
阅读笔记《构建之法》五
查看>>
SQL 高级查询
查看>>
LIUNX-Centos 7 编译GDAL
查看>>
日志、命名查询
查看>>
Google Chrome调试常用快捷键
查看>>
发送邮件那些事
查看>>
loadrunner参数化
查看>>