欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    AVR单片机实验教学指导书.docx

    • 资源ID:16797612       资源大小:569.19KB        全文页数:163页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    AVR单片机实验教学指导书.docx

    1、AVR单片机实验教学指导书AVR单片机实习教学指导书保定电力职业技术学院动力工程系热自教研室2007年4月18日一 自延时与数据移位(M01- M02)二 键控分支(M03- M04)三 自动计数(M05- M06)四 键控计数(M07- M08)五、逻辑控制(M09- M10)(一) 由逻辑图编程(二) 由逻辑命题编程六 动态显示与数据转换(M11- M13)七 外中断使用(M14- M15)八 定时/计数器使用(M16- M19)(一) 定时器设置:(二) 定时中断控制九 定时/计数器应用(M20- M20B)(一) 实时钟显示(二) 高频测量(三) 低频测量十 脉宽调制PWM(M21-

    2、M22)十一 显示驱动7219集成块使用(M23- M27)(一) 数码显示:8位8段数码管巡回显示多参数(二) 点阵显示:88点阵字符汉字显示控制十二.模数转换A/D功能的使用(M28- M29)十三.液晶显示器的使用(M30- M33)十四44矩阵键盘的使用(M34- M37)十五 异步通信(M38)十六 模拟比较器(M39)十七 常数设置(M40)十八 教学演示综合测试程序(M41- M42)十九 AVR毕业论文参考课题二十 AVR毕业论文参考框架附图1:实习系统连接图附图2:AVR芯片引脚图附图3:实习板电路原理图附录1.自定义文件头应用说明。附录2:CVAVR编译器简介:一、标示符

    3、二、数据类型 三、关键字 四、常用内部函数. 附录3:实习命题参考程序:一、自定义文件头程序 二、命题程序(M1- M40)三、演示程序实践教学说明:1命题路径及文件名:如 D:GY1M0101(含义 高职仪表- 学号- 命题编号)其中:命题 M,考题 K2考核模式及分值:1上电时状态(20分) 2控制状态1(30分) 3控制状态2 (30分) 4状态返回(20分)一、延时显示与移位 M01.试编程序,使8个发光管和8个数码管全部按0.5秒间隔闪光。 M01A.试编程序,使单个发光管亮按0.2秒时间间隔向左循环移动。 M02.试编程序,使发光管按0.5秒向左逐位循环全部点亮。M02.A试编程序

    4、,使单个数码管显示台号尾数并按0.3秒时间间隔向左循环移动。教学提示:1.I/O口设置提示:编写程序中必须先说明I/O口的状态:如图所示每个口有三个口地址。 2.闪光提示:使数码管闪光有3种方法1).亮灭分别延时2)使用取反语句3)使用异或语句 3.内部自延时提示:延时函数 (微秒级):文件头: #include delay.h 格式: delay_us(165535) delay_ms(165535)例:delay_us(100) /100微妙 delay_ms(100) /100毫秒 4.发光管移位提示: char i; for (i=0;ii; delay_ms(500); 5.数码管移

    5、位提示: char i; for (i=0;ii); delay_ms(500);二、键控分支 M03.试编程序,上电后,显示台标尾数,发光管全灭。按左1键后使八个发光管向左逐个全部点亮,循环进行。按右1键后使八个发光管向右逐个全部点亮,循环进行。(0.5秒)。M04.试编程序,上电后, 0.3秒闪光显示台号尾数,按右1键发光管由中间向 两边依次全亮,按右2键由两边向中间全亮。按左1键后返回显示台号尾数。教学提示:按键控制的几种模式 1.程序等待按后通过:while(PIND.0=1) ; 2.按住时等待或执行预定程序:while(PIND.0=0) ; 3.按一键后执行预定程序时if(PIN

    6、D.0= =0) while(1) 程序参考框架: if(PIND.7= =0) while(PIND.0=1)左移if(PIND.0= =0) while(PIND.7=1)右移三、自动计数 M05.试编程序,使右1数码管间隔03秒 显示0F不断循环。 M06.试编程序,使两头数码管09不断循环中小于5时发光管低四位亮,等于5时全亮,大于5时高四位亮。(以上间隔0.5S) 教学提示:1.解题思路 建一个全局型单维数组变量并给出0 F对应的数码管代码,然后将数组值通过循环语句按顺序延时赋给PB口。2.共阴极数码管字段显示原理3.数码管代码表四、键控计数 M07.试编程序,上电后使八个发光管全灭

    7、,每按右1键一次使八个发光管以亮1灭零方式记一个数。M08.试编程序,每按一次左1键数码管加一个数,数码管到9时归0继续不断循环计数。 教学提示: 1.键控抖动波形图: 2.键控计数消抖程序1 if (PIND.0=0) /等待键按下 while (PIND.0=0)/等待键松开 delay_ms(2); /前沿延时消抖 / delay_ms(2); /后沿延时消抖 PORTC- - ; /上升沿有效 3.键控计数消抖程序2(见教材) bit p1; p1=PIND.0;if(PIND.0=0&p1=1) PORTC- - ; p1=PIND.0; delay_ms(20); 五、逻辑控制(一

    8、) 由逻辑图编程 如果用拨动开关左1和右1二位代表逻辑输入A、B,发光管最高位左1位代表逻辑输出Y,试编程序实现下述逻辑关系: M09.与非逻辑M09A.同或逻辑教学提示: 1.与或非逻辑图为例(使用PA口输入和PC口输出)1) 文件头中定义三个位变量:bit A,B,Y2) 输入变量赋值: A=PINA.0; B=PINA.7;3) 变量逻辑运算: Y=!(A|B);4) 输出变量送出赋值: PORTC.7=Y;(二) 由逻辑命题编程 如果用拨动开关左1、左2、左3代表逻辑输入A、B、C,发光管左1、左2、左3位指示其状态,用数码管1和0指示输出状态试编程序实现下述逻辑关系:M10.模拟少数

    9、服从多数表决器(三取二)。M10A.模拟举重电子表决器(加权三取二)。说明:三个举重裁判:一个主裁判两个副裁判 ,主裁具有否决权,即当主裁不同意时则此举无效。只有主裁再加上至少一个副裁同意则此举有效。M10B.模拟电源负荷智能分配(三对二变量)。 如果用拨动开关左1、左2、左3代表逻辑输入A、B、C,发光管左1、左2、左3位指示其状态,用数码管左1和右1位亮灭指示输出YA、YB状态试编程序实现下述逻辑关系:如图所示有3个用电户:A1、B1、C2,其中A与B用电量相同,C2则是2倍A1的用电量。这些用电户分别由2台发电机Y1、Y3供电,发电机Y1的最大功率等于B1的功率消耗,发电机Y3的最大功率

    10、是Y1的3倍。试用拨动开关分别代表A1、B1、C2用电户,用发光管代表发电机Y1、Y3运行状态。编写控制程序,能根据各用电户的启动与关闭情况,以最节约电能的方式自动启停发电机。教学提示:1.解逻辑命题步骤 1) 按命题定义变量并建真值表; 2) 由真值表直接列逻辑式并简化逻辑式;或由真值表建卡诺图由卡诺图列简化逻辑式; 3) 根据逻辑式编写程序;2. M10.解题要点 按命题定义变量、建真值表、化简如下图:3 M10B.解题要点 按命题定义变量、建真值表、公式化简如下图:M10C水箱水位自动显示及控制如果用拨动开关右1、右2、右3代表水位低中高检测开关A、B、C,发光管右1、右2、右3则指示开

    11、关状态。数码管显示0- 1- 2- 3分别代表水位指示,数码管显示E则代表故障,如图所示,试编程序实现下述功能: 无水时数码管显示0,且发光管左1位0.4秒闪光报警。水位漫过A数码管显示1,水位漫过B数码管显示2,水位漫过C数码管显示3,且发光管左2位0.4秒闪光报警。否则数码管显示E表示线路故障且发光管左3位0.4秒闪光报警。 教学提示1.连接方法:在实习板上,PB口接口与数码管字段LEDD1接口用扁平线相连,PD接口与数码管字位LEDW1接口用扁平线相连。PC口与开关插口连接,PA口红灯插口连接。2.水箱控制流程图参考:六、动态显示与转换 M11.试编程序,使数码管显示:“12345678

    12、”。(M11A:08- 00- 00)。 M12.试编程序,使数码管循环高速显示:“00009999”当数字小于2006时发光管低四位亮否则发光管高四位亮。M12A.试编程序,使数码管循环显示0000FFFF,方式为“- - 数字- - ”,当数字小于8000时发光管单灯循环右移否则循环左移。教学提示:显示原理及参考程序 1.要显示的数据: 2.显示数据过程: 3.显示子程序void display(void) /文件名 unsigned char i; for (i=0;i8;i+) PORTB=ledbuffi;/将缓冲区数据送PORTB口 PORTD=(10;i- - ) /查询次数统计

    13、 while (!(TIFR&0x01); /查询是否溢出 TIFR|=0x01;/清溢出位 TCNT0=56; /重新置数 4.T0中断法服务程序interrupt TIM0_OVFT0_INT()/中断函数 TCNT0=56; /预置数 secdd+; /200usIf(secdd=50) secdd=0;secd+;/10msIf(secd=100) secd=0;sec+;/1sIf(sec=60) sec=0;min+;/1m(二) 定时中断控制 用定时器0中断方式实现: M18.试编程序,使数码管循环显示59- 分59秒- 1/100秒(初始数据00- 00- 00) 。 M18A

    14、.试编程序,显示同上,按住左1键暂停,手离开则继续。 M19.试编程序,使数码管循环显示23 - 时59分- 59秒(初始数据08- 00- 00)。 M19A.试编程序,显示同上 。要求小时十位无效零消隐。教学提示:在T0中断程序中写入秒百分之一秒(secd) 、秒(sec)、分(min)、小时(hour)变量。九、定时/计数器应用 (一) 时钟显示 M20 试作一个实时电子钟: 1.上电后由显示8- 00- 00开始走时。 2.小时十位无效零消隐。3.有调时/分功能。教学提示:无效零/闪点参考ledbuff1=table sec/10; if (secd50) ledbuff2=table

    15、 min%10; else ledbuff2=table min%10|0x80;/闪点 if(min/10)=0) ledbuff3=0;/无效零 else ledbuff3=table min/10; (二) 高频测量 M20A.较高频率的测量(1k- 10kHz)如图所示:由555振荡器发出方波频率信号送给MEGA16芯片的PB1口,然后经T1计数检测在由数码管显示该方波频率数。 (三) 低频测量M20B.较低频频率的测量如图所示:由T0产生较低频率方波频率信号送给MEGA16芯片的PD6口,然后经T1捕获后再由数码管显示该方波频率数。十、脉宽调制PWMM21.试编程序,使数码管亮度由暗

    16、逐渐变亮再逐渐变暗。M22.试编程序,使数码管亮度分别从0- 1- 2- 3- 4- 5V电压间隔1秒循环输出。 教学提示:脉宽调制工作原理: 如图所示:由内部寄存器OCR1A(或OCR1B)控制引脚PD5(或PD6)高电平输出的占空比,T图为设置为快速正向输出式的波形图。脉宽调制原理(正向快速)十一、显示驱动7219集成块使用1. 集成块驱动显示8位8段数码管(使用串行口传送方式只占用2个I/O口资源) M23.用显示驱动7219集成块进行数码显示1- 8数字。(使用串行口传送方式只占用3位I/O口)M24.用显示驱动7219集成块进行数码显示8通道号123.45数据。(要求:学会7219两

    17、个子程序调用)M25.用显示驱动7219集成块进行数码显示电子时钟。教学提示:在实习板上,将7219W1接口与数码管字位LEDW1接口用扁平线相连,将7219D1接口与数码管字段LEDD1接口用扁平线相连。2. 集成块驱动显示88点阵LED管M26.用显示驱动7219集成块进行显示点阵汉字“光”。M26A.用7219点阵驱动集成块显示移动的“电力”两字。M27.用显示驱动7219集成块同时进行数字汉字显示。教学提示:1.连接方法:在实习板上,将7219W2接口与点阵字位LEDW2接口用扁平线相连,将7219D2接口与点阵字段LEDD2接口用扁平线相连。2.7219驱动点阵排列方式如图所示:十二

    18、、模数转换A/D功能的使用: M28.用显示驱动7219集成块显示第1通道A/D转换数据(0- 1023对应0- 5V)。 M29.用显示驱动7219集成块显示第6通道A/D转换数据:0- 500对应0- 5V,一阶滤波(系数0.3),8次采集取均值 M29A 要求同上,当数据大于400时,8发光管200mS闪光。 M29B 要求同上,每隔5秒显示分别显示0,1,6,7通道数据。 教学提示:A/D转换原理示意图十三、液晶显示器的使用: M30.用液晶显示器显示“YB0501- 台号- 学号”。 M31.用液晶显示器显示0000- 9999循环间隔100ms。 M32.用液晶显示器显示“编号-

    19、A/D转换数据”。 M33.用液晶显示器第2行中间位置显示“小时- 分- 秒”。 教学提示:可参考附录相关函数规定。输出字符见7位ASCII码表:十四、44矩阵键盘的使用:(占用1个8位I/O口资源) M34.上电后,用液晶显示44矩阵键盘按键数据。 M35.上电后,8发光管不亮,按44矩阵键盘j16发光管高4位亮,按j17发光管低4位亮,按j35后全亮,按j36后全灭。 M36.用液晶显示器显示“小时- 分- 秒”,用矩阵键盘J35,J36调整时、分。 M37.用矩阵键盘右2排改变采集通道号及采集对应的数据。 教学提示1矩阵键盘连接图:2矩阵键盘键值图(key):十五 异步通信练习 M38

    20、通过异步通信接口发送8个字节的数据,接收8个字节的数据,并显示接收的数据。 教学提示在实习板上,将7219W1接口与LEDW1接口用扁平线相连,将7219D1接口与LEDD1接口用扁平线相连。使用7219芯片控制的8位8段数码显示器显示时钟。将通信接口的RXD与TXD用连接线短接,通过RS232接口的异步通信单机自发自收(图1)或双机通信(图2)。 图1单机通信自发自收连接 图2双机通信连接十六 模拟比较器练习 M39 如图所示:先将两电位器接入10位A/D转换并显示转换值(0- 1023),调整电位器是其值分别为1/2 *1023。然后用单股插线一头插入电位器RW0、RW1中心抽头,另一头插

    21、入M16芯片PB2、PB3引脚。试编程序当PB2脚电压值大于PB3脚电压值时发光管LED0.4秒闪光。十七 常数设置练习 M40 试用44矩阵键盘将16个整型常数保存到M16芯片中的EEROM中。十八 应用命题教学演示 综合演示程序1 :数码管显示数字- 点阵管显示移动汉字- 液晶显示ASCII码- 发光管循环移动。 综合演示程序2 :时钟- 汉字- 电子音乐。十九 AVR单片机毕业论文课题参考1智能型数字定时交通灯控制系统2节日彩灯-时钟-汉字-音乐系统3多路数据采集-巡测-选点-报警系统4水箱水位检测-报警-显示-控制系统二十AVR单片机毕业论文参考框架(基于AVR单片机的数据采集系统)题

    22、目- 作者- 摘要- 关键词- 正文: 一、 概述(或引言)1 用AVR单片机实现数据采集的优势(可与传统m51相比)硬件方面:例1) AVR内部资源丰富自带模数A/D数模D/A(PWM)转换,使电路简单可靠。2) AVR指令执行速度更快是m51的几十倍。更适合多点数据巡回检测3) AVR内部有程序存储器(FLASH)和数据存储器(EEROM)无须向m51一样需外加存储器。可减少成本及简化电路等等。软件方面:例1) 使用高级C语言比汇编语言有更大的优势,尤其在数据处理方面高级语言更直观且计算起来更方便。2) 高级语言在程序移植、功能拓展、程序解读方面更有独到之处等等 二、AVR数据采集系统框图

    23、例:输入模块中可增加模拟量隔离(耦合式如AD202见资料)和开关量隔离(光电式如4N31)电路等。 三 、主控电路1芯片选择可列表说明2 时钟晶振电路3 键盘矩阵电路4显示电路(可拓展点阵汉字显示)5 报警电路6驱动电路 等等 四 、模拟量开关量输入电路 1压力差压信号(如1151)经I/U转换电路转成0- 5v信号进主控模块2温度信号(如热电偶)经mv/U转换电路转成0- 5v信号进主控模块3转速信号、开关量可通过整形电路和光电隔离电路进进主控模块等 五 、模拟量开关量输出电路1 模拟量输出是主控cpu进行脉宽调制(pwm)后输出,然后还需用运算放大器进行滤波缓冲隔离后转换成电压信号0- 5

    24、V送出。需要时还需通过电压电流转换电路(可使用专用集成块:如AM462,XTR110等可参考有关资料)送出。 2开关量输出由应经过光电隔离再通过驱动电路(如可控硅,继电器等)输出。 六 、软件设计1软件功能说明2软件流程框图3程序清单(应有必要的注解) 七 、结束语 (略) 八、参考文献:说明资料出处 九、附录:提供必要的表格图形等附图1:实习系统连接图附图2:AVR芯片引脚图附图3:实习板电路原理图附录1:自定义文件头应用说明1. 动态显示文件头#include 1)连接:PB-LEDD,PC-LEDW2)函数:初始化init();显示子程序disp();转换子程序bcd(long n);

    25、hex(long n);2. 时钟T0中断文件头#include 1)连接:无2)函数 初始化init_t0();时间变量hour,min,sec,secd,(0.01s)secdd(0.2ms)。3. 矩阵键盘扫描文件头#include 或#include 1)连接:PC口或PD口-矩阵键盘接口2)函数 初始化 无;子程序jp();键值char key。4. 7219驱动文件头#include 或#include 1)连接:7219D1-LEDD1,7219W1-LEDW1;7219D2-LEDD2,7219W2-LEDW2;2)函数:初始化spi_7219();数码管/点阵管复位子程序vo

    26、id c_7219(char i,char j)数码显示子程序spi_xie(char i,char j) 点阵显示子程序void spi_xie1(char i1,char j1,)单参数显示子程序void x_7219(long x)时钟显示子程序void sz_7219(char hour,char min,char sec)多参数显示子程序char xunce_7219(char i,int y,char n)5. 模数转换A/D文件头#include 1)连接:PA口-8电位器插口;2)函数:初始化 无,数据采集子程序float adcx( char adc_input,float n)6. 脉宽调制PWM文件头#include 1)输出:PD4口/PD5口;2)函数:初始化 void init_p(void),10位,正向。3)控制O


    注意事项

    本文(AVR单片机实验教学指导书.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开