#单片机#利用pcf8591读取电位器电压值

发布者:落寞梦惊最新更新时间:2015-09-25 来源: eefocus关键字:单片机  pcf8591  电位器  电压值 手机看文章 扫描二维码
随时随地手机看文章
#include
sbit sda=P2^0;
sbit scl=P2^1;
#define uint unsigned int
#define uchar unsigned char
uchar code table[] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x40};
 
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
 
//--定义PCF8591的读写地址--//
#define  WRITEADDR 0x90   //写地址
#define  READADDR  0x91   //读地址
 
void delayms(uint z)
{
  int x,y;
  for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
 
 void delay()
{ ;; }
void start()  
{
sda=1;
delay();
scl=1;
delay();
sda=0;
delay();
}
 
 
 
 void stop()  
{
sda=0;
delay();
scl=1;
delay();
sda=1;
delay();
}
 
 
void respons()  //应答
{
uchar i;
scl=1;
delay();
while((sda==1)&&(i<250))i ;
scl=0;
delay();
}
 
 
  
 
void write_byte(uchar date)
{
uchar i,temp;
temp=date;
for(i=0;i<8;i )
{
temp=temp<<1;
scl=0;
   delay();
sda=CY;
delay();
scl=1;
delay();
}
scl=0;
delay();
sda=1;
delay();
}
 
 
 
uchar read_byte()
{
uchar i,k;
scl=0;
delay();
sda=1;
delay();
for(i=0;i<8;i )
{
scl=1;
delay();
k=(k<<1)|sda;
scl=0;
delay();
}
return k;
}
 
 
 
 
 
uchar ADC_PCF8591_rd_(uchar channal)
{
uchar date;
start();
write_byte(0x90);
respons();
write_byte(channal);
respons();
start();
write_byte(0x91);
respons();
 
date=read_byte();
stop();
 
return date;
}  
 
 
 void ADC_PCF8591_wt_(uchar date)
{
start();
write_byte(0x90);
respons();
write_byte(0x40);
respons();
write_byte(date);
respons();
stop();
}
//注:主函数中进行AD或者DA的选择,进行处理
 
void display(uchar i)
{
  float a; int j;
  a=i;
  a=a*500/256;
 
  j=a;
P2=0xfd;
P0=0xff;
P0=~table[j/100]&0x7f;
delayms(5);
 
P2=0xfb;
P0=0xff;
P0=~table[j0/10];
delayms(5);
 
P2=0xf7;
P0=0xff;
P0=~table[j];
delayms(5);
}
void main()
{  
   uint temp; 
 
sda=1;
delay();
scl=1;
delay();
  while(1) 
  {  
      temp=ADC_PCF8591_rd_(0x00);
 display(temp);             
  } 
}
关键字:单片机  pcf8591  电位器  电压值 引用地址:#单片机#利用pcf8591读取电位器电压值

上一篇:#单片机#矩阵键盘-电子琴
下一篇:#单片机#歌曲——世上只有妈妈

推荐阅读最新更新时间:2024-03-16 14:33

可驱动20个LED对数/点状/条状的微控制器
美国国家半导体公司的LM3914点状/条状显示驱动器已经面市20多年了,但仍然在设计者中广泛流行。LM3914可以检测模拟电压,并使10个 LED显示,方法是以点状模式点亮10个LED中的一个,或以条形图模式逐个点亮LED。最近,一种模拟输入电压显示器的一项应用,要求能够以线性或对数级格式实现10个以上LED的显示。根据 LM3914的数据资料,可以将多支3914级联起来,获得10个以上LED的显示(参考文献1),但即使这么做,LM3914也只能线性地显示输入电压。(编辑注:美国国家半导体还提供 LM3915,这是一款对数型3dB步长版,而LM3916则适合音频应用,以音量单位显示输入。) 本文应用要求超出了L
[单片机]
可驱动20个LED对数/点状/条状的<font color='red'>微控制器</font>
IAR的C-Trust安全开发工具支持NXP MCU
IAR Systems的C-Trust安全开发工具现在支持NXP的一系列MCU,包括K22 / 24/64 / V65 / V58和i.MX RT1064交叉设备。新增的支持使开发人员可以使用这些和其他NXP MCU来实现高级安全功能,并确保符合新兴的安全标准,例如EN 303645,SB 237,HB 2395和韩国互联网与安全机构(KISA)的“ IoT服务计划从个人信息角度”指南。 C-Trust是IAR Embedded Workbench的一部分,可为不具备深厚技术安全知识的开发人员提供保护,而几乎无需进行任何返工即可保护新的或现有的应用程序。它提供了针对IP盗窃,恶意软件注入,伪造,超额生产以及一系列其他威胁。
[工业控制]
传感器数据管理优化成就恩智浦MCU“始终开启”功能
基于ARM核的微控制器(MCU)已经成为一种时尚,一种趋势,也是一个界限,不过随着很多厂商已经跨过了这个“有没有”的界限,大家又站在同一起跑线上以后,新的竞争开始了。很多工程师关心的问题也从“是否基于ARM核”转向了“能提供什么差异化”。MCU领头羊们也开始谋划新的“界限”。 最近几年和未来的一段时间,对社会产生巨大影响的4大因素有物联网、网络安全、便携和可穿戴式应用、互联汽车。这些因素有一些明显共性,例如用到的传感器种类和数量越来越多,需要时刻运行,对功耗的苛刻要求。以上这些共性就要求新一代的传感器枢纽,即作为各种传感器所收集来的数据的处理中心。“欧洲豪门”恩智浦半导体(NXP)就把竞争的“界限”划定到了这类多传感器处
[单片机]
传感器数据管理优化成就恩智浦<font color='red'>MCU</font>“始终开启”功能
51单片机IO口工作原理——P2、P3
三、P2端口的结构及工作原理: P2端口的一位结构见下图: 由图可见,P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。这主要表现在输出功能上,当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。 对于8031单片机必须外接程序存储器才能构成应用电路(或者我们的应用电路扩展了外部存储器),而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的多路开关总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。因此P2
[单片机]
先进汽车仪表板及车身控制设计要领
  今日的汽车已迈向智能化与环保化的设计时代,在智能方面透过数字电子技术来提升汽车的安全性与舒适性,并环保方面透过油电混合及电动车等设计来达到节能省碳的目标。因此,今日汽车的电子化程度已愈来愈深,从信息娱乐、车身、安全到动力传动系统,利用电子组件来进行感测和操控的情况已深入汽车的各个角落。   在汽车电子的各个系统当中,往往需要采用微控制器(MCU)做为运作控制的核心,而汽车对电子系统的倚重,也刺激车用微控制器市场的快速成长。车用微控器涵盖8位、16位、32位等低、中、高阶产品等级,各有其适合的应用系统,大致如下:   8位MCU:主要应用于车体的各个次系统,包括风扇控制、空调控制、雨刷、天窗、车窗升降、低阶仪表板、集线
[汽车电子]
先进汽车仪表板及车身控制设计要领
基于AVR单片机的负荷缸多路遥控开关编解码实现
负荷缸是船舶电力核心发电机性能的负荷试验必备的重要工装设备,通过负荷试验,可以检验发电机长期工作的性能稳定的情况(静态特性)和对突加突卸负荷的应变能力(动态特性)。 AVR 单片机 " 单片机 具有高性能低价格的优点,在本文中利用 AVR 单片机 " 单片机 对发电机负荷缸的多路远程遥控开关量进行采集监控并进行数字信号编解码,用2芯的电缆取代原来40芯的粗电缆传输控制信号,有效地解决了工作中遇到的问题。    1 问题的提出   我们通过把由发电机供电的通电极板放到负荷缸水电阻中,用充气升降极板和补给水调节水电阻大小的方法控制试验发电机所带负荷的大小,对发电机的性能进行试验。体积庞大的负荷缸一般放置在码头,在船
[单片机]
基于AVR<font color='red'>单片机</font>的负荷缸多路遥控开关编解码实现
最全的关于PIC单片机入门宝典
为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见. 2.PIC单片机的概述 PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率. PIC16F616这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4MHZ,也可以用外部晶
[单片机]
基于80C51单片机和AD526运放实现防腐电源监控节点的设计
金属发生腐蚀的现象随处可见。腐蚀给金属材料造成的直接和间接损失是巨大的,以至造成灾难性的破坏事故,引起严重的环境污染。研究表明,因腐蚀造成的损失一般占国民生产总值的3%~4%,其中约有15%是可以通过现有的防腐技术避免的,而阴极保护技术的发展又是与防腐技术的进步分不开的。 防腐电源是阴极保护技术中最为关键的设备。由于易腐蚀的金属构件大部分分布在野外或者地下,并且分布范围广,如石油管道、输电线路、海上平台等,所以必然要求发展可靠性高、智能化的新型防腐电源,并且要求通过工业网远程采集现场数据,进行计算分析,实现远程控制,从而提高现场设备的可靠性,实现无人管理。 1、防腐电源系统的结构组成 阴极保护技术简单地说就是测量被保护金属
[单片机]
基于80C51<font color='red'>单片机</font>和AD526运放实现防腐电源监控节点的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved