PIC16F877A单片机-AD转换经典C程序

发布者:悦耳旋律最新更新时间:2016-09-25 来源: eefocus关键字:PIC16F877A  单片机  AD转换 手机看文章 扫描二维码
随时随地手机看文章
      #include  

      #include  
      #define   HC595_SER    RB7
      #define   HC595_SCK     RB6
      #define   HC595_RCK     RB5
      #define   key_164_data   RB3
      #define   key_164_clk    RB2
      #define   key_com1       RB1
      #define   key_com0       RB0
      #define   TURE   1

      bit   key_finish;        //定义位变量,这是PICmate仿真软件环境的特有的地方   unsigned int   sample_key;
      unsigned int   sample_keyBuf[2];
      unsigned int   key_value;
      unsigned char key_row_sel;
      unsigned char key_number;//键号
      unsigned int   T100ms;
      unsigned char disbuf[8];
      unsigned int ad_data;
      int a[4];
      const unsigned char seven_seg[16]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
      //----------------------------------------------
      void disbuf_update(void)
     {
          disbuf[7]=seven_seg[a[3]];
          disbuf[6]=seven_seg[a[2]];
          disbuf[5]=seven_seg[a[1]];
          disbuf[4]=seven_seg[a[0]];
          disbuf[3]=seven_seg[0];
          disbuf[2]=seven_seg[0];
          disbuf[1]=seven_seg[0];
          disbuf[0]=seven_seg[0];
      }
      //----------------------------------------------
     //发送一个字节
      void s_pData(unsigned char key)         //形参key对应着实参disbuf[i]
     {
          unsigned char i;
             for(i=0;i<8;i++)
         {
           if(0x80&(key<                 HC595_SER=1;
           else HC595_SER=0;
             HC595_SCK=0;
             HC595_SCK=1;
        }
      }
      //----------------------------------------------


//----------------------------------------------
     void display (void)
    {
        unsigned char i;
        for(i=0;i<8;i++)
            s_pData(disbuf[i]);
        HC595_RCK=0;
        HC595_RCK=1;
    }
    //----------------------------------------------

 

void start_ad_change (void) //开始A/D转化
{
     ADCON1=0x80;
     ADCON0=0x48;
     ADON=1;
     ADIF=0;
     asm("nop");
     asm("nop");
     asm("nop");
     asm("nop");
     asm("nop");
     asm("nop");
     asm("nop");
     asm("nop");
     ADGO=1;
     while(ADIF==0);
     ADIF=0;
     ad_data =ADRESL;
     ad_data |=(unsigned int)(ADRESH<<8);     //强制ADRESH的8位放在ad_data的高八位
     ADON=0;
}

void two_change_ten(void)        //二进制转十进制
{
int s=0,i;
for(i=0;i<=15;i++)
     {if(0x0001&(ad_data>>i))
            s=s+pow(2,i);
     }
a[0]=s%10;
a[1]=(s/10)%10;
a[2]=(s/100)%10;
a[3]=s/1000;
}

 

     //主程序
int main(void)
{
         PORTB=0;
         TRISB=0x03;
         PORTA=0;
         TRISA=0x02;
         while(1)
     {
         start_ad_change();
         two_change_ten();
         disbuf_update();
display();
     }


}
     //----------------------------------------------

关键字:PIC16F877A  单片机  AD转换 引用地址:PIC16F877A单片机-AD转换经典C程序

上一篇:pic单片机MPLAB安装步骤&工程建立&经验总结
下一篇:PIC 单片机烧写程序时提示Fuse error 0x2007错误

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

MSP430单片机输入与输出
MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11的宽度是3位以外,其他的端口全是8为宽度,为了方便使用,分别命名为PA,PB,PC,……,分别对应P1,P2P3…… 值得注意的是MSP430F5438单片机的P1和P2端口还具有申请中断的功能,而其他的端口则无此功能 每个端口都有控制开关,分别可以控制端口的方向,引脚的功能,每个端口都有自己的输入输出寄存器,MSP430F5438海域中断管理寄存器,他们分别决定端口的中断使能,中断有效边沿,和中断标志位 示例代码:
[单片机]
MSP430<font color='red'>单片机</font>输入与输出
中央空调计费系统的设计探讨
1、引言 随着社会的进步, 人们对居住环境、生活质量的要求也在不断地提高。中央空调在民用住宅、商用大厦、高档写字楼及多功能的综合性大楼中也被广泛采用。而采用按冷/热量计费的方式,无疑会为用户提供一个公正、合理、科学的收费依据;另外还可以建立用户的经济利益与使用能耗的直接联系,从根本上增强用户的节能意识,最大幅度地减少能源的浪费。本文就是基于这种计费方式,对分户能量计量表的结构、功能及管理软件进行设计与研究。 2、 中央空调控制系统原理 2.1能量计费公式 Q=∫ 0 t Q m Δhdt Q----释放的冷/热量,KJ Q m ----流经能量表的液体质量流量,Kg/s Δh----热交换器中入口温度与出口温度对应的
[单片机]
中央空调计费系统的设计探讨
“叮咚”门铃电路设计
“叮咚”门铃 1. 实验任务 当按下开关SP1,AT89S51单片机产生“叮咚”声从P1.0端口输出到LM386,经过放大之后送入喇叭。 2. 电路原理图 图4.19.1 3. 系统板上硬件连线 (1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上; (2. 在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭; (3. 把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上; 4. 程序设计方法 (1. 我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700
[单片机]
“叮咚”门铃电路设计
MCU用于计算机和PAN的可穿戴接线盒
  对可穿戴设备的不断推动正在将个人转变为他们自己的数据中心,包括闪存驱动器、移动 PC、传感器阵列、医疗设备等。各种技术在可穿戴设计中争夺输入、输出、连接性和功能。例如,TFT、虚拟视觉护目镜、微型投影仪、3D 显示器和全息显示系统都具有独特的优势,但不太可能将每种技术都作为用户界面实现在单个可穿戴系统中。你可以对 3D 手势识别、语音识别、触摸面板、键盘、触觉反馈系统等输入技术说同样的话。   因此,可穿戴计算机及其相关外围设备的设计人员必须做出选择。所有处理功能是否都存在于一个地方,还是分布在我们周围的各个节点中?也许,最终,当所有这些(和其他)技术都以最低的成本提炼到最高的功能和可靠性时,单一的全能设备可能会成为流行的
[嵌入式]
<font color='red'>MCU</font>用于计算机和PAN的可穿戴接线盒
【ARM】arm·ad转换
A/D转换器 A/D转换器,又称模/数转换器,顾名思义,就是把模拟信号数字化。 由于系统的实际处理对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别和处理这些信号,必须首先将这些模拟信号转换成数字信号,这就必须用到A/D转换器。 A/D转换器的一般步骤 模拟信号进行A/D转换的时候,从启动转换到转换结束输出数字量,需要一定的转换时间,在这个转换时间内,模拟信号要基本保持不变。否则转换精度没有保证,特别当输入信号频率较高时,会赞成很大的转换误差。要防止这种误差的产生,必须在A/D转换开始时将输入信号的电平保持住,而在A/D转换结束后,又能跟踪输入信号的变化。因此,一般的A/D转换过程是通
[单片机]
51单片机引脚简介
第一部分。单片机简介 MSC-51单片机指以8051为核心的单片机,由美国的Intel公司在1980年推出,80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。 单片机:在一片集成电路芯片上集成微处理器(CPU)、存储器(ROM和RAM)、I/O接口电路,从而构成了单芯片微型计算机,即单片机(single chip Microcomputer)也叫微控制器(MCU)。 CPU( Central Processing Unit ):由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; RAM( Random-Access Memory ):用以存
[单片机]
51<font color='red'>单片机</font>引脚简介
Microchip推出集成微型FPGA的PIC16 微控制器,售价不到 50 美分
编译自EEJOURNAL Microchip 现在提供一款基于闪存的微控制器,集成可编程逻辑块,其售价不到50美分。 Microchip PIC16F13145 系列的九个新产品,与其他型号16F系列采用相同的 8 位 RISC 微处理器架构,但它们还集成了一个新的可编程逻辑块,称为可配置逻辑块 (CLB)。 PIC16F13145 微控制器系列中的器件采用 8、14 和 20 引脚封装,具有 3.5 至 14 KB 闪存和 256 至 1024 字节 RAM。 Microchip PIC1613145 微控制器系列的九个成员具有相同的内部架构,但具有不同数量的 RAM 和闪存,并提供不同的封装,具体取决于您应用的 I/O
[单片机]
Microchip推出集成微型FPGA的PIC16 <font color='red'>微控制器</font>,售价不到 50 美分
略谈MSP43单片机端口
MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM(型号不同,包含的端口也不仅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包含全部上述端口),它们都可以直接用于输入/输出。MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。端口P1`P6的每一位都可以独立用于输入/输出,即具有位寻址功能。常见的键盘接口可以直接用端口进行模拟,用查询或者中断方式控制。由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设是否处于“准备好”状态。 端口的功能
[单片机]
略谈MSP43<font color='red'>单片机</font>端口
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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