linxiyiran

个性签名:http://bbs.armavr.com   QQ:915657830  605987969
ATmega16_Basic_V1.1开发板助学活动正在进行中!

    1. 连载:林夕依然AVR学习笔记合集 24/12705 Microchip MCU 2009-12-19
      占位连载......
    2. 连载:林夕依然AVR学习笔记合集 24/12705 Microchip MCU 2009-12-19
      占位连载......
    3. 连载:林夕依然AVR学习笔记合集 24/12705 Microchip MCU 2009-12-19
      一、程序结构 [/url] (原文件名:程序结构.jpg) 二、仿真效果 [url=http://download.ourdev.cn/bbs_upload247021/files_23/ourdev_516624.jpg] (原文件名:仿真效果.jpg) 三、程序源码 1、main.c /******************************************************************************* Platform : AVR mega16学习板(www.iccavr.com) bbs      : http://bbs.armavr.com/    Project : 实验四:按键扫描+8种LED亮灭模式控制 Clock F : 3.6864M Software : ICCAVR7.14C Author : 林夕依然 Version : 08.11.22 Updata : 09.02.25 模块化 09.04.30 增加proteus仿真模型,修改key_scan.c检测程序,仿真通过 comments : 1、以学习板八个LED灯和八个按键为硬件电路,JP7短路块需装上 2、AVR单片机端口寄存器的使用及理解 3、练习程序模块化,结构化的书写 4、端口电平检测程序的编写方法 5、8种LED点亮模式由对应的KEY键选择,同时按下多个键时,LED点亮模式不会循环进行, 详见仿真。原因为:尽管key_scan.c采用循环判断方式,但采用了状态处理程序 6、增加状态处理,防止运行选定LED模式序时按下其他按键 Problem : 1、当前模式运行时切换其他模式时必须先复位,否则不能实现切换,考虑自动切换实现方法 解决方法:更改key_scan.c检测程序,使用for循环,不用while(1)无限循环。 *******************************************************************************/ #include #include void main() { port_init(); while (1) { key_scan(); } //MCUCR=0x40; //空闲模式,CPU占用100% //MCUCR=0x50; //ADC噪声抑制模式,CPU占用100% //MCUCR=0x60; //掉电模式,CPU占用80% //MCUCR=0x70; //省电模式,CPU占用4% //MCUCR=0xE0; //Standby模式,CPU占用80% MCUCR=0xF0; //扩展Standby模式,CPU占用4% asm("sleep"); //CPU休眠指令 } 2、key_scan.c #include #include /***键盘扫描函数***/ void key_scan() {          int l,m,n,o,p,q,r,s,i; if((PINA&(1
    4. 连载:林夕依然AVR学习笔记合集 24/12705 Microchip MCU 2009-12-19
      一、程序结构 [/url] (原文件名:程序结构.jpg) 二、仿真效果 [url=http://download.ourdev.cn/bbs_upload247021/files_23/ourdev_516620.jpg] (原文件名:仿真效果.jpg) 三、程序源码 1、main.c /******************************************************************************* Platform : AVR mega16学习板(www.iccavr.com) bbs      : http://bbs.armavr.com/   Project : 实验三:按键扫描(用KEY选择对应LED点亮) Clock F : 3.6864M Software : ICCAVR7.14C Author : 林夕依然 Version : 08.11.22 Updata : 09.02.25 模块化 09.04.30 增加proteus仿真模型,仿真通过。 comments : 1、以学习板八个LED灯和八个按键为硬件电路,JP7短路块需装上 2、AVR单片机端口寄存器的使用及理解 3、端口电平检测程序的编写方法 4、操作KEY键控制对应的LED点亮 5、PORTB=~BIT(0)和PORTB&=~BIT(0);的区别,前者是对整个B口的操作, 后者是只对B0的操作,不影响其他端口的状态 6、同时按下多个键时,LED不会依次循环点亮,详见仿真。原因为:尽管key_scan.c 采用循环判断方式,但进行了状态处理。 *******************************************************************************/ #include #include #define uint unsigned int void main() { port_init(); while(1) { key_scan(); } } 2、key_scan.c #include #include /***键盘扫描程序***/ void key_scan(void) { if((PINA&(1
    5. 连载:林夕依然AVR学习笔记合集 24/12705 Microchip MCU 2009-12-19
      AVR学习笔记2:有源蜂鸣器驱动实验(ICC) 一、程序结构 [/url] (原文件名:程序结构.jpg) 二、仿真效果 [url=http://download.ourdev.cn/bbs_upload247021/files_23/ourdev_516615.jpg] (原文件名:仿真效果.jpg) 三、程序源码 1、main.c /******************************************************************************* Platform : AVR mega16学习板(www.iccavr.com) bbs      : http://bbs.armavr.com/   Project : 实验二:有源蜂鸣器驱动实验 Clock F : 3.6864M Software : ICCAVR7.14C Author : 林夕依然 Version : 08.11.22 Updata : 09.02.25 模块化 comments : 1、以学习板蜂鸣器为硬件电路 2、实现蜂鸣器的周期鸣叫 3、经验证,此程序只能驱动有源蜂鸣器,驱动无源蜂鸣器,需要加入一定频率的信号才可。 *******************************************************************************/ #include #include void main(void) { DDRD=0XFF; PORTD=0XFF; while(1) { bell(); } } 2、bell.c /******************************* Platform : AVR mega16学习板(www.iccavr.com) bbs      : http://bbs.armavr.com/   function :蜂鸣函数 Clock F : 3.6864M Software : ICCAVR7.14C Author : 林夕依然 Version : 09.02.25 Updata : 09.04.30 增加proteus仿真模型,完善comments说明。 comments : 1、无源蜂鸣器为AC蜂鸣器,须输入一定频率的脉冲波才可发声。 2、有源蜂鸣器为DC蜂鸣器,只要两端有电压即可发声。 3、有源蜂鸣器间隔500ms发声。 4、学习板上为无源蜂鸣器,因此本程序不能为学习板所用。 ********************************/ #include #include void bell(void) { PORTD&=~(1
    6. 经典的入门资料啊 顶一个!

最近访客

< 1/1 >

统计信息

已有1187人来访过

  • 芯积分:--
  • 好友:--
  • 主题:4
  • 回复:6

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言