AVR单片机教学试验指导50P.doc

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR单片机 实验教学指导书 保定电力职业技术学院 动力工程系热自教研室 2007年4月18日 目 录 实验一 实训装置的认识与软件使用 彩灯控制 键控加减计数 外部中断的使用 数码管动态扫描显示 实时时钟显示 高频脉冲频率的测量 低频脉冲频率的测量 脉宽调制的 异步通信实验 模拟比较器应用 矩阵键盘扫描与编码显示 常数设置实验十八 液晶显示器应用 mega16.h >;//文件头 main() {char a;//设置局部变量 DDRA = 0x00;//A口设置输入 DDRC = 0xff;//C口设置输出 while (1) { a=PINA; PORTC=a; }} 步骤: 用代码生成器生成框架文件,然后修改该文件。 编辑、编译、调试该文件并生成HEX代码。 启动SLISP下载软件将生成的HEX代码写入AVR芯片。 观察结果是否符合命题要求,若不符合则重复上述过程。 例2:编写并调试程序使键控8个发光管不断闪光。 #include < mega16.h >;//文件头 #include <delay.h>;//延时函数 main() { DDRD= 0x00;//A口设置输入; PORTD=0xff;//D口设置上拉。 DDRC = 0xff;//C口设置输出 ; PORTC=0xff; //C口输出高电平; while (PIND.5==1); while (1) { PORTC^=0xff; delay_ms(500) ;} } 要求:分别使用异或语句 及取反语句 例3:编写并调试程序使C口某位不断由左向右循环移动。 提示:用循环语句 例4:编写并 调试程序使C口由左向右循环移位。由全1变全0。 提示:用循环语句 实验二 彩灯控制 一、实验目的与任务 实验目的 ⑴ 熟悉并行接口的设置与应用; ⑵ 进一步熟悉编译软件和下载软件的使用; ⑶ 熟悉C语言中移位、延时、数组等指令的应用; ⑷ 增强学习单片机的兴趣。 实验任务 任务一:实验板上有8只LED双色发光二极管,每只发光管低电平点亮,编程使①发光管红灯间隔0.3S单一右移点亮,然后绿灯间隔0.3S单一左移点亮;②发光管红灯间隔0.3S逐一右移点亮,然后绿灯间隔0.3S逐一左移点亮;③重复循环。 任务二:实验板上有8只LED双色发光二极管,每只发光管低电平点亮,编程使①发光管红灯间隔0.3S逐一右移点亮,其次绿灯间隔0.3S逐一左移点亮,然后橙灯间隔0.3S逐一右移点亮;②发光管红灯间隔0.3S由中间向两边逐一点亮,其次绿灯间隔0.3S由两边向中间逐一点亮;重复进行 二、实验接线与要求 实验板上将双色发光二极管LED设计为一个独立的单元回路,用扁平线将PD口与红灯LED口连接,将PC口与绿灯LED口连接,形成如图12所示的电路,实验要求将PD口、PC口设置为输出。 图8 实验二LED显示电路图 三、实验参考程序 程序一: #include <mega16.h> #include <delay.h> unsigned char dataa[]={0xff,0xe7,0xc3,0x81,0x00}; void main(void) { unsigned char t,j; DDRC=0xFF; PORTC=0xff; DDRD=0xFF; PORTD=0xff; while(1) { //单发光管左右移动 for(t=0;t<8;t++) {PORTD=~(0X80>>t); delay_ms(300); } PORTD=0XFF; PORTC=0XFF; for(t=0;t<8;t++) {PORTC=~(1<<t); delay_ms(300); } PORTC=0XFF; PORTD=0XFF; //发光管左右逐一全亮 for(t=0;t<9;t++) {PORTD=0XFF>>t; delay_ms(300); } PORTD=0XFF; PORTC=0XFF; for(t=0;t<9;t++) {PORTC=0XFF<<t; delay_ms(300); } PORTC=0XFF; PORTD=0XFF;

文档评论(0)

精品报告 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档