PIC16F877A 模数转换Demo

发布者:疯狂小马最新更新时间:2019-01-31 来源: eefocus关键字:PIC16F877A  模数转换 手机看文章 扫描二维码
随时随地手机看文章


#include

#include

 

__CONFIG(0xFF32);

 

#define u8 unsigned char

#define u16 unsigned int

 

void delayus()

{

int i;

for(i=200;i--;);

}

 

/********延时程序********/

void Delay_ms(u16 xms)

{

  int i,j;

  for(i=0;i

  { for(j=0;j<71;j++) ; }

}

 

void port_init(void)

{

PORTA=0xFF;

TRISA=0x01; //RA0输入

ADCON1=0x8e; //右对齐,RA0做模拟输入,其他做普通IO

ADCON0=0x41; //0:01 000 001 fosc/8,RA0,使能AD

delayus(); //配置完后需要延时一会

}

 

void putch(u8 c)

{

TXREG = c;

while(TRMT==0);

}

 

 

void usart_init(void)

{

TXSTA=0x24; //开启发射使能位、高波特率,TRMT初始值可0可1

RCSTA=0x80;

SPBRG=0x19; //4M晶振,波特率9600,则SPBRG初值为25

}

 

void main()

{

int result=0;

port_init();

usart_init();

printf("hello!\n");

while(1)

{

GO_DONE=1;

while(GO_DONE);

result=ADRESL+(ADRESH<<8);

printf("result=%d\n",result);

Delay_ms(500);

}

}

关键字:PIC16F877A  模数转换 引用地址:PIC16F877A 模数转换Demo

上一篇:PIC16F877A 内部EEPROM读写演示Demo
下一篇:PIC16F877A内部比较器使用Demo

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

Cirrus Logic 推出低成本低噪声△-∑模数转换
CS5530 系列转换器专为成本敏感的工业测量应用量身定做   2006 年 10 月 25 日,北京讯: Cirrus Logic 公司(纳斯达克代码: CRUS )推出新品 CS5530 ,为广泛应用的 △ -∑ 模数转换器 CS5531/32/33/34 系列增加了新的型号。该产品具有较强的价格优势,拥有可与 CS553X 系列其他产品相媲美的低噪声性能和 灵活 的输出字符率。凭借其低噪声仪 器 放大器、 24 位分辨率及先进性能, CS5530 及成为称重系统、低成本温度控制器、数字面板式仪表和工艺控制模块等科学测量应用的理想选择。    Cirrus Lo
[新品]
设计指南Q&A系列:高速模数转换
现在的高速模-数转换器有多快? 管道结构、硅双极和 CMOS 工艺技术决定了商用高速转换器的采样频率在300Msamples/s以下,典型的分辨率范围在12到14位之间。300Msamples/s比起1Gsample/s来说速度差距非常大。相对较新的可以达到1Gsample/s的转换器都拥有8或者10位的分辨率,并在双极和CMOS技术中采用闪存或者折叠/内插式结构。目前转换器中速度最快的一种是一个双通道转换器,这个双通道转换器建于一个单芯片上,交叉存取速度可以达到3Gsamples/s。 高速ADC的速度和分辨率之间是一个怎样的折衷关系? 在测试器件中,更高的采样率让设计者们可在规定时间内测量更大范围的信号频率和更高的分辨率
[模拟电子]
PIC16F877A例程---PWM
// PWM波形输出实验 // 晶振:4MHz // CPU:PIC16F877A #include pic.h //调用头文件 __CONFIG(0x3F31); //芯片配置字 #define uchar unsigned char #define uint unsigned int uchar a; void CCP1INIT() ; void delayms(uint z); void keyscan(); void main(void) { CCP1INIT(); T2CON=0X04;
[单片机]
PIC16F877A与PC机串行通信C语言源程序
//*******串口通信程序********* //*******定义变量************* #include pic16f877.h #define unchar unsigned char #define uint unsigned int unchar RC_label;//标志位起始位为1结束位为0 unchar caiji_label;//采集帧格式标志位正确为1错误为0 unchar data RC ;//存储接收到的数据 unchar data TX1 ;//存储自身参数 unchar data TX2 ;//存储出错指示ERROR int RC_buff;// int i=0,j=0,k=0;/
[单片机]
基于PIC16F877A自动太阳跟踪器的设计
  光伏发电能为人类提供可持续能源,并保护赖以生存的环境,但其发电效率低,发电成本相对较高仍然足制约其大规模应用的重要因素。在没有出现高效的光伏电池材料之前,研制具有实用价值太阳聚光器及自动跟踪系统以实现低成本,则是促进太阳能广泛应用的主要途径之一。一般双轴系统可提高发电量35%左右,单轴系统可提高20%左右,聚光型跟踪系统会更高。   国外在20世纪80年代就对太阳跟踪系统进行了研究,如美国、德国在单双轴自动跟踪、F1本在聚光菲立尔透镜跟踪、西班牙在2倍聚光反射跟踪等方面均开发出了相应的商品化自动太阳跟踪器。我国于20世纪90年代左右也对其进行了大量的研究,2006年10月在西藏羊八井安装了4套共计13.2 kW不同形式的
[单片机]
51单片机:用ADC0832做模数转换,测量电压大小
问题要求 利用51单片机,外加一个ADC0832模数转换器,设计一个可以实时测量电压的电路。测量电压的范围是0-5V(允许误差),要求测出的电压用数码管实时显示,精确到小数点后两位。 代码编写: //---------------------------------------------------------- // 用ADC0832测量电压,并将测量值显示在数码管上 //---------------------------------------------------------- #include reg51.h #include intrins.h #define uchar unsigned char
[单片机]
51单片机:用ADC0832做<font color='red'>模数转换</font>,测量电压大小
PIC16F877A片内EEPROM c程序
/*============================================================================= 访问PIC16F877A片内EEPROM,运行程序: Begin Test - LED0亮, EEPROM Test OK- LED7亮, Write&Read OK - LED0/2/4/6亮。 =============================================================================*/ ///////////////////////////////////////////////
[单片机]
PIC16F877A开发板 普通IO驱动74595实验
//*****************电子园PIC16F877A开发板 普通IO驱动74595实验*************** // //PIC16F877A 实验板 // //mcu: PIC16F877A 4MHz //2010年7月10日21:52:30 //************************************************************************** #include lian_pic.h __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN); //HS振荡,禁止看门狗,低压编程关闭,启动延时定时器 #define srclk RC3
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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