[Atmel] 用AtmelStudio6.2跑mega16例程(4)

[复制链接]
1012|0
 楼主| ddllxxrr 发表于 2014-8-27 21:39 | 显示全部楼层 |阅读模式
这个是按键中断例程:

以下是仿真截图:


程序很简单,大家看注释即可明白:
  1. /*
  2. * GccApplication5.c
  3. *
  4. * Created: 2014-8-27 18:51:28
  5. *  Author: Administrator
  6. */


  7. #include <avr/io.h>

  8. #define uchar unsigned char
  9. #define uint unsigned int


  10. //延时函数
  11. void s_ms(unsigned int t)
  12. {
  13.         for(;t>1;t--)
  14.         {
  15.         }
  16. }

  17. int main(void)
  18. {
  19.         uchar tem,key;
  20.         //端口初始化
  21.         DDRB=0xff;
  22.         PORTB=0xff;
  23.         DDRD=0x00;
  24.         PORTD=0xff;
  25.         while(1)
  26.         {
  27.                 tem=PIND;       //读取端口b
  28.                 if(tem!=0xff)   //判断是否有按键按下
  29.                 {
  30.                         s_ms(500);   //排除按键抖动和抗干扰
  31.                         key=PIND;
  32.                         if(key==tem)
  33.                         {
  34.                                 PORTB=key;  //端口D输出按键值
  35.                         }
  36.                 }
  37.         }
  38. }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

7001

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部