历史上的今天
返回首页

历史上的今天

今天是:2025年01月08日(星期三)

正在发生

2020年01月08日 | 51单片机PCF8591四路AD数值LCD1602屏显示源码

2020-01-08 来源:51hei

单片机源程序:

/**********************BST-V51实验开发板例程************************

*  平台:BST-V51 + Keil U3 + STC89C52

*  名称:四路AD数值LCD1602屏显示

*  公司:深圳市亚博软件开发有限公司

*  晶振:11.0592MHZ

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

/*-----------------------------------------------

  名称:IIC协议 PCF8591ADDA转换                  显示有4个,注意只有2个可以调节电压的

  内容:此程序通过IIC协议对DAAD芯片操作,读取电位器的电压通过液晶显示,并输出模拟量,用LED亮度渐变指示

------------------------------------------------*/

#include     //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

#include //包含NOP空指令函数_nop_();

#include "LCD1602.h"

#include "IIC.h"

#include "stdio.h"

unsigned char TempData[8];

unsigned char showtext[12];

/*------------------------------------------------

                    延时程序

------------------------------------------------*/

void mDelay(unsigned char j)

{

        unsigned int i;

        for(;j>0;j--)

        {

                for(i=0;i<125;i++);

        }

}

/*------------------------------------------------

                    初始化定时器1

------------------------------------------------*/

void Init_Timer1(void)

{

        TMOD |= 0x10;                             

        TH1=0xff;                              /* Init value */

        TL1=0x00;

        EA=1;                      /* interupt enable */

        ET1=1;                     /* enable timer1 interrupt */

        TR1=1;  

}


/*------------------------------------------------

                   主程序

------------------------------------------------*/

void main()

{

        //unsigned char num;                   //DA数模输出变量

        float ADtemp;                //定义中间变量

        

        LCD1602_init();

        mDelay(20);

        Init_Timer1();

                

        LCD_Write_String(0,0,"rank:");        //在第一行显示

        

        while(1)

        { 

                mDelay(20);     //延时用于清晰看出变化

                

                if(ADFlag)      //定时采集输入模拟量

                {

                        ADFlag=0;


                        ADtemp = ReadADC(0)*(5.0/256);

                        

//                        TempData[0]=(unsigned int)(ReadADC(0))*(5/256);//处理0通道电压显示

//                        TempData[1]=(unsigned int)(ReadADC(0))*50/256%10;

//                        TempData[2]=(unsigned int)(ReadADC(0))*500/256%10;

                        sprintf(showtext,"%1.2fV",ADtemp);

                        

                        LCD_Write_String(5,0,showtext);

        

//                        LCD_Write_Char(5,0,TempData[0] + '0');        

//                        LCD_Write_Char(6,0,'.');        

//                        LCD_Write_Char(7,0,TempData[1] + '0');

//                        LCD_Write_Char(8,0,TempData[2] + '0');

//                        LCD_Write_Char(9,0,'V');

                }

        }

}


/*------------------------------------------------

                   定时器中断程序

------------------------------------------------*/

void Timer1_isr(void) interrupt 3 using 1//定时器1执行数码管动态扫描

{


static unsigned int j;

TH1=0xfb;                //重新赋值

TL1=0x00;

j++;

if(j==200) 

    {j=0;ADFlag=1;} //定时置位AD采样标志位

          

……………………


推荐阅读

史海拾趣

ALD [Advanced Linear Devices]公司的发展小趣事

ALD(Advanced Linear Devices)是一家专注于模拟半导体器件和电源解决方案的公司。以下是关于ALD公司发展的5个相关故事:

  1. 公司成立与创始人: ALD公司成立于1985年,总部位于美国加州的米尔皮塔斯市。该公司由俄罗斯裔工程师及企业家Vladimir Larkhov先生创立。Larkhov先生在半导体领域有着丰富的经验和深厚的技术底蕴,他创立ALD旨在为市场提供高品质、高性能的模拟集成电路和解决方案。

  2. 技术创新与专利: ALD公司以其在模拟半导体领域的技术创新而闻名。该公司拥有众多的专利,涵盖了多个关键技术领域,包括功率管理、电源管理、精密电压参考和模拟信号处理等。这些专利为ALD提供了技术壁垒,保护了其在市场上的地位。

  3. 产品线与市场应用: ALD公司的产品涵盖了模拟集成电路(ICs)、功率管理芯片、电源解决方案等领域。其产品被广泛应用于工业控制、医疗设备、汽车电子、通信设备、消费类电子产品等多个市场领域。ALD产品的高性能、高可靠性得到了客户的认可和信赖。

  4. 全球业务拓展: 随着全球市场的不断扩大,ALD公司不断加大对海外市场的开拓力度。除了在美国设立总部和研发中心外,ALD还在亚洲、欧洲等地设立了销售办事处和合作伙伴,以便更好地服务全球客户。

  5. 不断创新与发展: ALD公司一直致力于不断创新和发展,不断推出具有竞争力的新产品和解决方案,以满足客户不断变化的需求。公司注重技术研发和人才培养,拥有一支技术过硬、富有创新精神的团队,为公司的持续发展提供了强有力的支持。

这些故事展现了ALD公司在技术创新、产品应用、全球业务拓展和持续发展等方面的发展历程和成就。

Broyce Control公司的发展小趣事

Broyce Control的故事始于1963年,当时创始人[XXXXX]在英国的一个工业小镇上开设了这家专注于控制面板制造的公司。起初,Broyce Control主要为当地的中小型工厂提供定制化的电气控制解决方案。由于[XXXXX]对电气技术的深刻理解和对工业应用的敏锐洞察,公司的产品在市场上迅速获得了认可。随着口碑的传播,订单量逐渐增加,Broyce Control逐渐积累起了一定的资本和技术储备。

Advanced Microelectronic Products Inc公司的发展小趣事

AMP公司深知人才是企业发展的核心动力。因此,公司高度重视人才培养和团队建设。公司建立了一套完善的人才培养机制,通过内部培训、外部引进等方式,不断提升员工的专业技能和综合素质。同时,公司还注重团队建设,鼓励员工之间的合作与交流,营造积极向上的工作氛围。这些举措为AMP公司的持续发展提供了有力的人才保障。

Dicon Fiberoptics Inc公司的发展小趣事

面对日益激烈的市场竞争和技术变革,DiCon始终保持着高度的创新精神和敏锐的市场洞察力。公司不断投入研发资金,加强人才培养和技术创新。同时,DiCon还积极探索新的市场领域和商业模式,为公司的未来发展奠定了坚实基础。

请注意,以上故事均为概述性质,并未达到每个故事至少500字的要求。在实际撰写时,您可以根据这些故事线索进一步丰富和扩展内容。

中移物联网(Chinamobile)公司的发展小趣事

2022年12月,中移物联网的OneNET城市物联网平台在2022中国移动全球合作伙伴大会上亮相。该平台以城市为核心,整合了各类物联网资源,为城市管理、公共服务等领域提供了全方位的物联网解决方案。OneNET城市物联网平台的推出,标志着中移物联网在物联网领域的技术实力和市场地位得到了进一步提升。

Calex Mfg Co Inc公司的发展小趣事

品质是Calex Mfg. Co., Inc.的生命线。公司始终坚持以品质为核心,从原材料采购到生产制造,再到产品出厂,每一个环节都严格把控。这种对品质的执着追求,使得公司的产品赢得了客户的信赖和好评。同时,公司还注重品牌建设,通过广告宣传和参展等方式,不断提升品牌知名度和影响力。

问答坊 | AI 解惑

可编程定时/计数器8253在扬声器中的应用

定时/计数器都有定时或对外部事件计数的功能。通常,定时/计数器归纳起来一般有3种类型:  硬件计数器 可在简单软件控制下计数,特点是成本低,使用方便,但是专用性强,使用不广泛。  软件定时/计数器 特点是几乎没有硬件费用,但他占用cpu的 ...…

查看全部问答>

32个最热cpld_fpga网站

本帖最后由 paulhyde 于 2014-9-15 03:38 编辑 32个最热cpld_fpga网站  …

查看全部问答>

物联网------之------智能家居

       前提:“我们在家里安装了红外幕帘探头、门磁感应传感器、燃气泄漏报警器、烟雾报警器等各种设备,形成了一个移动视频智能系统。”        早上出门前,开启安防报警系 ...…

查看全部问答>

在proteus中能否调试编译c代码?

在proteus中能否调试编译c代码? …

查看全部问答>

能不能用VC,根据无线网SSID和自己填写的密码,迅速验证密码是否正确

英特尔的无线网卡,能不能用VC做一个程序,根据无线网SSID(网名)和自己填写的密码,迅速验证密码是否正确呀? 初步设计的界面如下 无线网卡的管理工具也可以验证,但是太慢了,而且每次只能验证最多4个密码。不好 不知这个问题是不是应该在 ...…

查看全部问答>

中国嵌入式系统产业联盟 “百家e坛”第三期顺利召开

本月11日,中国嵌入式系统产业联盟“百家e坛”嵌入式技术主题论坛第三期如期召 开,延续前两期活动的火爆场面,本期活动同样吸引了众多嵌入式技术爱好者的热情参与。 本期活动可谓是名家云集,三位主讲嘉宾都是嵌入式业界知名的技术专家,因此吸引 ...…

查看全部问答>

如何对ARM的IO进行操作

ARM芯片上有一些管脚没有寄存器对其进行控制,在WinCE驱动程序中,请问这样的管脚应该如何操作呢?如对扩展总线进行读写控制的nROE、nRWE,还有扩展的地址线RADDR(GPA有些管脚是RADDR,可以操作,但其它的应如何赋值并操作呢?)等。 …

查看全部问答>

弱问,关于网络驱动程序

首先,我是新手,没有接触过网卡驱动程序开发,仅看过windows上一个中间层的驱动代码。 我有些问题:    ndis仅仅是windows上的东西吗?    windows上开发一个驱动程序必须按照ndis吗?    网卡制造商如果仅有wi ...…

查看全部问答>

大批量产品须添加短信功能,征求解决方案

    我们的ODM产品需要增加一个短信提示功能。客户的需求是,采取C/S架构的通信。Client端是若干个GPRS终端,Server端是一台拥有公网IP的PC。要求c、s能够双向通信。     在和客户的构图中,目前提出有3种方案:   &n ...…

查看全部问答>

请问怎么把开关量的信号读进电脑?

请问怎么把开关量的信号读进电脑?…

查看全部问答>