• 大小: 63KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签:

资源简介

PIc程序实例+HEX文件(共16个例子)。数码、1602液晶,12864液晶、温度传感器、电机、I2C等16个程序实例加HEX文件。

资源截图

代码片段和文件信息

//实验目的:熟悉A/D转换
//软件思路:选择RAO做为模拟输入通道;
//          连续转换4次再求平均值做为转换结果
//          最后结构只取低8位
//          结果送数码管的低3位显示
//硬件要求:拨码开关S14第2位置ON,第1位置OFF
//          拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF
//          为不影响结果,其他拨码开关置OFF。
#include              //包含单片机内部资源预定义
 __CONFIG(0x1832);        
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
 const char TABLE[]={0xc00xf90xa40xb00x990x920X820XF80X800X90}; 
 //定义常数0-9的数据表格
 void  DELAY();              //delay函数申明
 void  init();               //I/O口初始化函数申明
 void  display(int x);       //显示函数申明
//------------------------------------------------
  //主程序开始
 void  main()               
 {
   int result=0x00;          //定义转换结果寄存器
   while(1)                  //死循环
   {
   int i;                    //定义循环次数控制寄存器
   result=0x00;              //转换结果清0
   for(i=5;i>0;i--)          //求5次转换结果的平均值
     {
      init();                //调用初始化函数
      ADGO=0X1;              //开启转换过程
      while(ADGO);           //等待转换完成
      result=result+ADRESL;  //累计转换结果
      }
      result=result/5;       //求5次结果的平均值
     display(result);        //调用显示函数
   }
  }
//-----------------------------------------------
 //初始化函数
 void  init()               
  {
   PORTA=0XFF;               
   PORTD=0XFF;               //熄灭所有显示
   TRISA=0X1;                //设置RA0为输入,其他为输出            
   TRISD=0X00;               //设置D口全为输出
   ADCON1=0X8E;              //转换结果左对齐,RA0做模拟输入口,其它做普通I/O
   ADCON0=0X41;              //系统时钟Fosc/8,选择RA0通道,允许ADC工作
   DELAY();                  //保证采样延时
   }
//-----------------------------------------------
//显示函数
 void display(int x)          
   {
     int  baishigetemp;   //定义4个临时变量
     temp=x;                 //暂存AD转换的结果
     bai=temp/0x64;          //求显示的百位
     shi=(temp%0x64)/0xa;    //求显示的十位
     ge=(temp%0x64)%0xa;     //求显示的个位
     PORTD=TABLE[bai];       //查表得百位显示的代码
     PORTA=0x37;             //RA3输出低电平,点亮百位显示
     DELAY();                //延时一定时间,保证显示亮度
     PORTD=TABLE[shi];       //查表得十位显示的代码
     PORTA=0x2F;             //RA4输出低电平,点亮十位显示
     DELAY();                //延时一定时间,保证亮度
     PORTD=TABLE[ge];        //求个位显示的代码
     PORTA=0x1F;             //RA5输出低电平,点亮个位显示
     DELAY();                //延时一定时间,保证亮度
   }

//----------------------------------------------
//延时程序
void  DELAY()              //延时程序
    {
     int i;                 //定义整形变量
     for(i=0x100;i--;);     //延时
    }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2010-07-20 10:25  c\
     目录           0  2010-07-20 10:25  c\adc\
     文件        2936  2007-03-12 10:00  c\adc\adc.c
     文件        1602  2007-03-12 10:00  c\adc\adc.hex
     目录           0  2010-07-20 10:25  c\buz\
     文件        1589  2007-03-12 11:54  c\buz\buz.c
     文件         341  2007-03-12 11:54  c\buz\buz.hex
     目录           0  2010-07-20 10:25  c\dac\
     文件        1341  2007-03-12 10:01  c\dac\dac.c
     文件         243  2007-03-12 10:01  c\dac\dac.hex
     目录           0  2010-07-20 10:25  c\ds1302\
     文件        7250  2007-10-07 14:54  c\ds1302\ds1302.c
     文件        1835  2007-10-07 14:53  c\ds1302\ds1302.hex
     目录           0  2010-07-20 10:25  c\ds18b20\
     文件        6420  2007-03-15 14:26  c\ds18b20\ds18b20.c
     文件        3205  2007-03-15 14:26  c\ds18b20\ds18b20.hex
     目录           0  2010-07-20 10:25  c\ee24\
     目录           0  2010-07-20 10:25  c\ee24\ee24_h\
     文件        3175  2007-03-12 10:07  c\ee24\ee24_h\ee24_h.c
     文件        1876  2007-03-12 10:07  c\ee24\ee24_h\ee24_h.hex
     目录           0  2010-07-20 10:25  c\ee9346\
     目录           0  2010-07-20 10:25  c\ee9346\ee9346_h\
     文件        2976  2007-03-12 10:07  c\ee9346\ee9346_h\ee9346_h.c
     文件        1544  2007-03-12 10:07  c\ee9346\ee9346_h\ee9346_h.hex
     目录           0  2010-07-20 10:25  c\ee9346\ee9346_s\
     文件        3131  2007-03-08 10:59  c\ee9346\ee9346_s\ee9346_s.c
     文件        1764  2007-03-08 10:59  c\ee9346\ee9346_s\ee9346_s.hex
     目录           0  2010-07-20 10:25  c\key\
     目录           0  2010-07-20 10:25  c\KEY4x4\
     文件        6353  2007-03-12 10:12  c\KEY4x4\key4x4.c
     文件        2080  2007-03-12 10:12  c\KEY4x4\key4x4.hex
............此处省略58个文件信息

评论

共有 条评论

相关资源