历史上的今天
返回首页

历史上的今天

今天是:2025年01月09日(星期四)

正在发生

2020年01月09日 | PIC单片机ADC的编程设计

2020-01-09 来源:elecfans

#include

__CONFIG(0X1F71);

#define uchar unsigned char

#define uint unsigned int

const uchar Tab[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

const uchar Tab1[]=

{0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//带小数点的代码

PIC单片机ADC的编程设计
 

void DisPlay(uchar date1,uchar date2,uchar date3,uchar date4);

void DelayMS(uint z)

{

uint a,b;

for(a=26;a》0;a--)

for(b=z;b》0;b--);

}

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

端口初始化函数

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

void PORT_Init(void)

{

TRISB=0X00;

TRISC=0XC0;

}

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

ADC模块初始化函数

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

void ADC_Init(void)

{

ADCON1=0X8E;

ADCON0=0X41;

DelayMS(1);

}

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

ADC模块开始转换函数

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

uint ADC_Start(void)

{

uint uiADCTemp;

ADGO=1;

while(ADGO);//等待转换完成

uiADCTemp=ADRESH;

uiADCTemp=uiADCTemp《《8|ADRESL;

uiADCTemp=uiADCTemp/1023.0*5000.0;

returnuiADCTemp;

}

void main(void)

{

uint VolTageNum;

uchar num1,num2,num3,num4;

PORT_Init();

ADC_Init();

while(1)

{

VolTageNum=ADC_Start();

num1=VolTageNum/1000;

num2=VolTageNum%1000/100;

num3=VolTageNum%100/10;

num4=VolTageNum%10;

DisPlay(num1,num2,num3,num4);

}

}

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

显示函数

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

void DisPlay(uchar date1,uchar date2,uchar date3,uchar date4)

{

PORTB=Tab1[date1];

PORTC=0XFE;

DelayMS(1);

PORTB=0X00;

PORTB=Tab[date2];

PORTC=0XFD;

DelayMS(1);

PORTB=0X00;

PORTB=Tab[date3];

PORTC=0XFB;

DelayMS(1);

PORTB=0X00;

PORTB=Tab[date4];

PORTC=0XF7;

DelayMS(1);

PORTB=0X00;

}

推荐阅读

史海拾趣

Cal Test Electronics公司的发展小趣事

随着客户需求的多样化,Cal Test Electronics开始关注小批量定制型测试电缆组件的市场。公司利用自身的技术优势和生产能力,为客户提供个性化的定制服务。这些定制产品不仅满足了客户的特殊需求,也提高了公司的市场竞争力。通过这一策略,Cal Test Electronics成功打开了一个全新的市场领域,为公司的发展注入了新的动力。

Dailywell Electronics Co Ltd公司的发展小趣事

德利威电子一直注重技术创新和研发实力的提升。2001年,公司成功研发了高绝缘开关并导入生产,进一步巩固了其在电子开关领域的领先地位。此外,公司还不断投入研发资金,推出了一系列具有创新性和竞争力的新产品。例如,在2004年,公司成功研发了超迷你开关,这一产品以其小巧的体积和优良的性能迅速在市场上获得了广泛认可。

绿宝石(BERYL)公司的发展小趣事

绿宝石公司自创立之初,便致力于电子材料领域的研发。某年,公司研发团队成功开发了一种具有优异性能的绿宝石电子材料,这种材料在高频、高温等极端环境下仍能保持稳定性能,为电子行业带来了革命性的变革。随着这一技术的广泛应用,绿宝石公司在行业内逐渐树立了技术领先的形象,市场份额稳步上升。

ARBOR公司的发展小趣事

ARBOR公司一直致力于电子技术的研发与创新。在某个时期,公司研发团队成功开发出一款具有颠覆性的电路板技术,这项技术在信号传输速度和稳定性上实现了重大突破。凭借这一技术,ARBOR公司迅速占领了高端电子市场,成为行业内的技术领导者。公司股价随之飙升,吸引了大量投资者的关注。

EECO Switch公司的发展小趣事

为了满足全球客户的需求,EECO Switch公司积极实施全球化战略。公司在墨西哥、台湾和中国等地设立了制造工厂,并在英国剑桥设立了销售办事处。这些海外机构不仅为公司提供了更广阔的市场空间,还帮助公司更好地了解当地市场的需求和趋势。展望未来,EECO Switch将继续秉承创新、质量、服务的核心价值观,致力于成为全球领先的人机界面产品提供商。

Eutech公司的发展小趣事

在全球化的浪潮下,EUtech公司积极寻求国际合作。他们与德国的氢探新能源公司建立了长期稳定的合作关系,共同研发燃料电池系统控制技术。通过共享资源、互补优势,双方不仅提高了产品的竞争力,还推动了整个行业的技术进步。

问答坊 | AI 解惑

嵌入式汽车数字仪表设计

1 引言     汽车仪表是驾驶员与汽车的信息交流界面,对汽车安全以及经济行驶具有重要作用。近年来,随着汽车电子技术的发展,汽车仪表显示信息也不断增加,而传统机械指针式汽车组合仪表则无法满足现在使用需求。特别是计算机、微电子和 ...…

查看全部问答>

WINCE如何拖动图片像IPHONE一样的效果。效果内详。实在没分了。有分了再补

往上或往下滑动屏幕。当放开触摸屏时。按一定的速率继续往滑动方向。直至停止。需要有加速度般的感觉。 希望高手有代码的贴下代码。。不然来点实质性的思路和想法…

查看全部问答>

extern ROMChain_t *OEMRomChain; 这段编译错误

在eboot main.c 添加 multibin xip 过程中, 添加 InitRomChain() 函数中,引用了 全局变量 extern ROMChain_t *OEMRomChain; OEMRomChain 指针对应是 public\\common\\oak\\inc\\Bcoemglobal.h 文件中 #define OEMRomChain g_pOemGlobal->pRO ...…

查看全部问答>

个人求有PHS基站控制器软件开发经验辅导老师(可兼职,深圳)

本人欲从事PHS基站控制器软件开发,因无此方面的经验,想请位有这方面经验的辅导老师。 主要工作是帮助本人分析一个现有PHS基站控制器软件源程序,然后修正程序中的一些BUG。 时间方面可以是灵活按排(工作日、业余均可),报酬可以按时/日/周/月等 ...…

查看全部问答>

自动安装USB设备驱动的问题

是一个虚拟的USB软驱,有INF和SYS文件,通过WINDOWS弹出的检测界面可以安装成功。我想在我的安装程序里直接将驱动按上,而在插入U盘时就能自动检测到设备ID后自动加载驱动。哪位有类似的程序和方法,请赐教。…

查看全部问答>

请教用VB.NET开发WinCE出现的问题~

各位大虾       我在.NET2005下开发WinCE程序(VB.net),现在需要把按钮上的字符靠左显示,在Windows下的按钮有设置靠左的属性,但是在WinCE下没有这个属性,请问该怎么做??…

查看全部问答>

05.20【每日一问】:爱我的人和我爱的人

       看了一下之前的每日一问,有些是版主发表的,有些是坛友发表的,但都是些专业性的问题,我看了下,都不太会···   我呢,菜鸟一个,连个Z430—RF2500的驱动问题都解决不了,因此还没开始开 ...…

查看全部问答>

单片机多路数据采集系统设计

用proteus 设计 实现多路采集 可进行8路循环采集 用led显示 采集通道和相应数据  谢谢各位大侠了     小弟在此 跪谢了 …

查看全部问答>

RS232 存储数组 问题 和一个延时问题

我的现在的想法是 用串口助手 第一次输入 十六进制的 ff 第二次 fe 第三次 fd 然后 我想把 他们存放在一个 数组中 buffer[ ] 里面 存储后 在 去调用 显示出来 SBUF=buffer[ i ] 显示 ff 后 延时 200 ms 显示 fe 再延时 400ms 显示 fd void Com ...…

查看全部问答>