
 
1、DS18B20温度检测芯片(单总线方式实现)
2、1路A/D(电位器模拟实现)
3、DS1302实时时钟
4、1路串口(max3232实现)
5、3*3点阵键盘
 图片附件:  atmega16.jpg (2010-10-11 08:57, 340.2 KB) / 下载次数 5213
图片附件:  atmega16.jpg (2010-10-11 08:57, 340.2 KB) / 下载次数 5213
 aTmega 16.pdf (91.83 KB)
 aTmega 16.pdf (91.83 KB)
 atmega16封装库.rar (6.56 KB)
 atmega16封装库.rar (6.56 KB)
 附件: [atmega 16学习板原理图] aTmega 16.pdf (2010-10-13 17:15, 91.83 KB) / 下载次数 3053
附件: [atmega 16学习板原理图] aTmega 16.pdf (2010-10-13 17:15, 91.83 KB) / 下载次数 3053 附件: [atmega 16学习板所用到的库] atmega16封装库.rar (2010-10-13 17:15, 6.56 KB) / 下载次数 4541
附件: [atmega 16学习板所用到的库] atmega16封装库.rar (2010-10-13 17:15, 6.56 KB) / 下载次数 4541 atmega16-16L.pdf (2.78 MB)
 atmega16-16L.pdf (2.78 MB)
 18B20温度传感器中文资料.pdf (2.28 MB)
 18B20温度传感器中文资料.pdf (2.28 MB)
 DS1302中文资料.pdf (265.4 KB)
 DS1302中文资料.pdf (265.4 KB)
 MAX232中文资料.pdf (568.75 KB)
 MAX232中文资料.pdf (568.75 KB)
 MAX3232中文资料.pdf (770.03 KB)
 MAX3232中文资料.pdf (770.03 KB)
 附件: [aTmega16中文手册] atmega16-16L.pdf (2010-10-14 21:31, 2.78 MB) / 下载次数 5666
附件: [aTmega16中文手册] atmega16-16L.pdf (2010-10-14 21:31, 2.78 MB) / 下载次数 5666 附件: [18B20温度传感器中文资料] 18B20温度传感器中文资料.pdf (2010-10-15 13:19, 2.28 MB) / 下载次数 5675
附件: [18B20温度传感器中文资料] 18B20温度传感器中文资料.pdf (2010-10-15 13:19, 2.28 MB) / 下载次数 5675 附件: [DS1302中文资料] DS1302中文资料.pdf (2010-10-15 13:22, 265.4 KB) / 下载次数 5926
附件: [DS1302中文资料] DS1302中文资料.pdf (2010-10-15 13:22, 265.4 KB) / 下载次数 5926 附件: [MAX232中文资料] MAX232中文资料.pdf (2010-10-15 13:22, 568.75 KB) / 下载次数 6041
附件: [MAX232中文资料] MAX232中文资料.pdf (2010-10-15 13:22, 568.75 KB) / 下载次数 6041 附件: [MAX3232中文资料] MAX3232中文资料.pdf (2010-10-15 13:23, 770.03 KB) / 下载次数 5785
附件: [MAX3232中文资料] MAX3232中文资料.pdf (2010-10-15 13:23, 770.03 KB) / 下载次数 57855路流水灯简介
由图可知要想点亮对应的LDE的话,I/O口需输出一个低电平
5路流水灯实验程序如下:
#define ALL_ON {PORTA&=0X1F;ORTC&=0XFC;}
    #define ALL_OFF {PORTA|=~0X1F;ORTC|=~0XFC;}
    #define LED1_ON PORTA&=0XDF
#define LED2_ON PORTA&=0XBF
#define LED3_ON PORTA&=0X7F
#define LED4_ON PORTC&=0XFD
#define LED5_ON PORTC&=0XFE
#define LED1_OFF PORTA|=~0XDF
#define LED2_OFF PORTA|=~0XBF
#define LED3_OFF PORTA|=~0X7F
#define LED4_OFF PORTC|=~0XFD
#define LED5_OFF PORTC|=~0XFE
void Gpio_Init(void)
{
   DDRA|=0XE0;
   PORTA&=0X1F;
   DDRC|=0X03;
   PORTC&=0XFC;
}
void led (void)
{
   LED1_ON;
   delay_nms(200);
LED2_ON;
   delay_nms(200);
   LED3_ON;
   delay_nms(200);
   LED4_ON;
   delay_nms(200);
   LED5_ON;
   delay_nms(200);
   LED1_OFF;
   delay_nms(200);
   LED2_OFF;
   delay_nms(200);
   LED3_OFF;
   delay_nms(200);
   LED4_OFF;
   delay_nms(200);
   LED5_OFF;
   delay_nms(200);
}
 图片附件: [流水灯] 5路LED灯.png (2010-10-14 22:00, 58.69 KB) / 下载次数 4839
图片附件: [流水灯] 5路LED灯.png (2010-10-14 22:00, 58.69 KB) / 下载次数 4839
具体的实现方法我将在下面的软件代码里说明:
 
#define  GET_L1  !(PINC&0X04) 
#define  GET_L2  !(PINC&0X08)
#define  GET_L3  !(PINC&0X10)
#define  GETS  GET_L1|GET_L2|GET_L3
void delay_nms(int a);
int GET_S1=0,GET_S2=0,GET_S3=0,GET_S4=0,GET_S5=0,GET_S6=0,GET_S7=0,GET_S8=0,GET_S9=0;
void GETS_INIT(void)
{
   GET_S1=0;
  GET_S2=0;
  GET_S3=0;
  GET_S4=0;
  GET_S5=0;
  GET_S6=0;
  GET_S7=0;
  GET_S8=0;
  GET_S9=0;
}
void key(void)
{
   PORTC&=0X1F;   //设置输出PC5,6,7为低 
  if(GETS)
   delay_nms(5);
  if(GETS)     //如果输入时PC2,3,4为低,即有按键被按下           
  {
    if(GET_L1)       //如果输入时PC3为低,即第二列有按键被按下
   {
   PORTC|=0XC0;
   PORTC&=0XDF; //设置输出PC5为低,PC6,7为高
      if(GET_L1)     
      {
        GET_S1=1;     //S4键按下
      }
      else if(!GET_L2)
      {
     PORTC&=0X1F;
      PORTC|=0XA0; 
    PORTC&=0XBF;    //设置PC6低,PC5,7为高
      if(GET_L1)    
      {
           GET_S2=1;    //S5键按下了
      }
      else if(!GET_L1)
      {
           GET_S3=1;      //S6键按下了
      }
   }
     }
   if(GET_L2)       //如果输入时PC3为低,即第二列有按键被按下
   { 
   PORTC|=0XC0;
   PORTC&=0XDF; //设置输出PC5为低,PC6,7为高
      if(GET_L2)     
      {
        GET_S4=1;     //S4键按下
      }
      else if(!GET_L2)
      {
     PORTC&=0X1F;
      PORTC|=0XA0; 
    PORTC&=0XBF;    //设置PC6低,PC5,7为高
      if(GET_L2)    
      {
           GET_S5=1;    //S5键按下了
      }
      else if(!GET_L2)
      {
           GET_S6=1;      //S6键按下了
      }
   }
     }
  
   if(GET_L3)       //如果输入时PC4为低,即第三列有按键被按下
   {
   PORTC|=0XC0;
   PORTC&=0XDF; //设置输出PC5为低,PC6,7为高
      if(GET_L3)
      {
        GET_S7=1;     //S7键按下
      }
      else if(!GET_L3)     
      {
     PORTC&=0X1F;
      PORTC|=0XA0; 
    PORTC&=0XBF;    //设置PC6低,PC5,7为高
      if(GET_L3)    
      {
           GET_S8=1;    //S8键按下了
      }
      else if(!GET_L3)   
      {
           GET_S9=1;    //S9键按下了
      }
   }
     }
 }
}
 图片附件: [3*3矩阵键盘] QQ截图未命名.png (2010-10-16 09:19, 92.22 KB) / 下载次数 4444
图片附件: [3*3矩阵键盘] QQ截图未命名.png (2010-10-16 09:19, 92.22 KB) / 下载次数 4444
 图片附件: [串口通信原理图] QQ截图未命名.png (2010-10-17 09:23, 90.43 KB) / 下载次数 4509
图片附件: [串口通信原理图] QQ截图未命名.png (2010-10-17 09:23, 90.43 KB) / 下载次数 4509
 图片附件:  dj.png (2010-10-19 18:33, 52.57 KB) / 下载次数 4188
图片附件:  dj.png (2010-10-19 18:33, 52.57 KB) / 下载次数 4188
 图片附件: [蜂鸣器原理图] fm.png (2010-10-19 18:39, 57.89 KB) / 下载次数 3960
图片附件: [蜂鸣器原理图] fm.png (2010-10-19 18:39, 57.89 KB) / 下载次数 3960
 图片附件: [4位动态数码管原理图] SM.png (2010-10-22 17:48, 109.25 KB) / 下载次数 4170
图片附件: [4位动态数码管原理图] SM.png (2010-10-22 17:48, 109.25 KB) / 下载次数 4170
 图片附件: [ds18b20温度传感器原理图] wd.png (2010-10-23 18:48, 59.97 KB) / 下载次数 4556
图片附件: [ds18b20温度传感器原理图] wd.png (2010-10-23 18:48, 59.97 KB) / 下载次数 4556
 图片附件: [ds1302实时时钟电路原理图] ss.png (2010-10-23 18:57, 75.4 KB) / 下载次数 4203
图片附件: [ds1302实时时钟电路原理图] ss.png (2010-10-23 18:57, 75.4 KB) / 下载次数 4203
 SLISP_V142.rar (1.65 MB)
 SLISP_V142.rar (1.65 MB)
 附件: [双龙下载软件] SLISP_V142.rar (2010-11-6 16:04, 1.65 MB) / 下载次数 4601
附件: [双龙下载软件] SLISP_V142.rar (2010-11-6 16:04, 1.65 MB) / 下载次数 4601 iccavr中文使用说明.pdf (139.49 KB)
 iccavr中文使用说明.pdf (139.49 KB)
 iccavr6.31A.rar (4.57 MB)
 iccavr6.31A.rar (4.57 MB)
 附件: [iccavr6.31A] iccavr6.31A.rar (2010-11-10 09:20, 4.57 MB) / 下载次数 4464
附件: [iccavr6.31A] iccavr6.31A.rar (2010-11-10 09:20, 4.57 MB) / 下载次数 4464 附件: [iccavr中文使用说明] iccavr中文使用说明.pdf (2010-12-5 13:32, 139.49 KB) / 下载次数 5867
附件: [iccavr中文使用说明] iccavr中文使用说明.pdf (2010-12-5 13:32, 139.49 KB) / 下载次数 5867 串口调试助手.rar (115.79 KB)
 串口调试助手.rar (115.79 KB)
 附件: [串口调试助手] 串口调试助手.rar (2010-11-10 09:52, 115.79 KB) / 下载次数 4774
附件: [串口调试助手] 串口调试助手.rar (2010-11-10 09:52, 115.79 KB) / 下载次数 4774 在AVRStudio中建AVRGcc工程.pdf (310.03 KB)
    /****AVR Studio 4最好装在默认路径,否则可能不能用****/
 在AVRStudio中建AVRGcc工程.pdf (310.03 KB)
    /****AVR Studio 4最好装在默认路径,否则可能不能用****/ 附件:  在AVRStudio中建AVRGcc工程.pdf (2010-11-15 11:04, 310.03 KB) / 下载次数 5499
附件:  在AVRStudio中建AVRGcc工程.pdf (2010-11-15 11:04, 310.03 KB) / 下载次数 5499 附件: [在AVRStudio中建AVRGcc工程] 在AVRStudio中建AVRGcc工程.pdf (2010-11-15 11:07, 310.03 KB) / 下载次数 5897
附件: [在AVRStudio中建AVRGcc工程] 在AVRStudio中建AVRGcc工程.pdf (2010-11-15 11:07, 310.03 KB) / 下载次数 5897
| 欢迎光临 珩源工控论坛 (http://bbs.hymcu.com/) | Powered by Discuz! 7.2 |