CVAVR教程.docx

上传人:b****5 文档编号:3600188 上传时间:2022-11-24 格式:DOCX 页数:139 大小:568.75KB
下载 相关 举报
CVAVR教程.docx_第1页
第1页 / 共139页
CVAVR教程.docx_第2页
第2页 / 共139页
CVAVR教程.docx_第3页
第3页 / 共139页
CVAVR教程.docx_第4页
第4页 / 共139页
CVAVR教程.docx_第5页
第5页 / 共139页
点击查看更多>>
下载资源
资源描述

CVAVR教程.docx

《CVAVR教程.docx》由会员分享,可在线阅读,更多相关《CVAVR教程.docx(139页珍藏版)》请在冰豆网上搜索。

CVAVR教程.docx

CVAVR教程

 

CVAVR教程

练习教授教化指导书

 

保定电力职业技巧学院

动力工程系热自教研室

2007年4月18日

 

目次

一自延时与数据移位(M01-M02)

二键控分支(M03-M04)

三主动计数(M05-M06)

四键控计数(M07-M08)

五、逻辑操纵(M09-M10)

(一)由逻辑图编程

(二)由逻辑命题编程

六动态显示与数据转换(M11-M13)

七外中断应用(M14-M15)

八准时/计数器应用(M16-M19)

(一)准时器设置:

(二)准时中断操纵

九准时/计数器应用(M20-M20B)

(一)及时钟显示

(二)高频测量

(三)低频测量

十脉宽调制PWM(M21-M22)

十一显示驱动7219集成块应用(M23-M27)

(一)数码显示:

8位8段数码管巡回显示多参数

(二)点阵显示:

8×8点阵字符汉字显示操纵

十二.模数转换A/D功能的应用(M28-M29)

十三.液晶显示器的应用(M30-M33)

十四4×4矩阵键盘的应用(M34-M37)

十五异步通信(M38)

十六仿照比较器(M39)

十七常数设置(M40)

十八教授教化演示综合测试法度榜样(M41-M42)

十九AVR卒业论文参考课题

二十AVR卒业论文参考框架

附图1:

练习体系连接图

附图2:

AVR芯片引脚图

附图3:

练习板电路道理图

附录1.自定义文件头应用说明。

附录2:

CVAVR编译器简介:

一、标示符二、数据类型三、关键字四、常用内部函数.

附录3:

练习命题参考法度榜样:

一、自定义文件头法度榜样二、命题法度榜样(M1-M40)三、演示法度榜样

实践教授教化说明:

1命题路径及文件名:

如D:

\GY1\M0101(含义高职外表-学号-命题编号)

个中:

命题M,考题K

2考察模式及分值:

1上电时状况(20分)2操纵状况1(30分)3操纵状况2(30分)4状况返回(20分)

一、延时显示与移位

M01.试编法度榜样,使8个发光管和8个数码管全部按0.5秒距离闪光。

M01A.试编法度榜样,使单个发光管亮按0.2秒时刻距离向左轮回移动。

M02.试编法度榜样,使发光管按0.5秒向左逐位轮回全部点亮。

M02.A试编法度榜样,使单个数码管显示台号尾数并按0.3秒时刻距离向左轮回移动。

教授教化提示:

1.I/O口设置提示:

编写法度榜样中必须先说明I/O口的状况:

如图所示每个口有三个口地址。

2.闪光提示:

使数码管闪光有3种方法1).亮灭分别延时2)应用取反语句3)应用异或语句

3.内部自延时提示:

延时函数(微秒级):

文件头:

#include"delay.h"

格局:

delay_us(1~65535)

delay_ms(1~65535)

例:

delay_us(100)//100奥妙

delay_ms(100)//100毫秒

4.发光管移位提示:

chari;

for(i=0;i<=8;i++)

{PORTC=0xFF>>i;

delay_ms(500);}

5.数码管移位提示:

chari;

for(i=0;i<8;i++)

{PORTD=~(0X80>>i);

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(PIND.0==0)while

(1){…}

法度榜样参考框架:

if(PIND.7==0)while(PIND.0==1)

{左移}

if(PIND.0==0)while(PIND.7==1)

{右移}

三、主动计数

M05.试编法度榜样,使右1数码管距离03秒显示0~F赓续轮回。

M06.试编法度榜样,使两端数码管0~9赓续轮回中小于5时发光管低四位亮,等于5时全亮,大年夜于5时高四位亮。

(以上距离0.5S)

教授教化提示:

1.解题思路

建一个全局型单维数组变量并给出0~F对应的数码管代码,然后将数组值经由过程轮回语句按次序延时赋给PB口。

2.共阴极数码管字段显示道理

3.数码管代码表

四、键控计数

M07.试编法度榜样,上电后使八个发光管全灭,每按右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(赐教材)

bitp1;

p1=PIND.0;

if(PIND.0==0&&p1==1)PORTC--;p1=PIND.0;

delay_ms(20);

五、逻辑操纵

(一)由逻辑图编程

假如用拨动开关左1和右1二位代表逻辑输入A、B,发光管最高位左1位代表逻辑输出Y,试编法度榜样实现下述逻辑关系:

M09.与非逻辑

M09A.同或逻辑

教授教化提示:

1.与或非逻辑图为例(应用PA口输入和PC口输出)

1)文件头中定义三个位变量:

bitA,B,Y

2)输入变量赋值:

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.仿照少数屈从多半表决器(三取二)。

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的最大年夜功率是Y1的3倍。

试用拨动开关分别代表A1、B1、C2用电户,用发光管代表发电机Y1、Y3运行状况。

编写操纵法度榜样,能依照各用电户的启动与封闭情形,以最节约电能的方法主动启停发电机。

教授教化提示:

1.解逻辑命题步调

1)按命题定义变量并建真值表;

2)由真值表直截了当列逻辑式并简化逻辑式;或由真值表建卡诺图由卡诺图列简化逻辑式;

3)依照逻辑式编写法度榜样;

2.M10.解题要点

按命题定义变量、建真值表、化简如下图:

3M10B.解题要点

按命题定义变量、建真值表、公式化简如下图:

M10C水箱水位主动显示及操纵

假如用拨动开关右1、右2、右3代表水位低中高检测开关A、B、C,发光管右1、右2、右3则指导开关状况。

数码管显示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”。

(M11A:

08-00-00)。

M12.试编法度榜样,使数码管轮回高速显示:

“0000~9999”当数字小于2006时发光管低四位亮不然发光管高四位亮。

M12A.试编法度榜样,使数码管轮回显示0000~FFFF,方法为“--数字--”,当数字小于8000时发光管单灯轮回右移不然轮回左移。

教授教化提示:

显示道理及参考法度榜样

1.要显示的数据:

2.显示数据过程:

3.显示子法度榜样

voiddisplay(void)//文件名

{unsignedchari;

for(i=0;i<8;i++){

PORTB=ledbuff[i];//将缓冲区数据送PORTB口

PORTD=~(1<

delay_ms

(1);//每一位显示保持一准时刻

}

}

4.BCD转换法度榜样

ledbuff[0]=tabel[XX%10];

ledbuff[1]=tabel[XX/10%10];

ledbuff[2]=tabel[XX/100%10];

ledbuff[3]=tabel[XX/1000%10];

语句1例:

XX=1234:

除10取余等于4。

语句2例:

XX=1234:

除10取商等于123.4,

再除10取余等于3。

其它类推。

5.HEX转换法度榜样

ledbuff[0]=tabel[XX%16];

ledbuff[1]=tabel[XX/16%16];

ledbuff[2]=tabel[XX/256%16];

edbuff[3]=tabel[XX/256/16%16];

M13.试编法度榜样,使点阵管动态显示“甲”字。

M13A.试编法度榜样,使点阵管动态距离约1秒轮番显示“电”、“力”两字。

…..教授教化提示:

点阵动态显示字位与字段分列如下:

如甲的代码。

七、外中断应用

M14.试编法度榜样,上电后,发光管不显示,按住中断0键手分开后发光管低4位亮。

按住中断1键手分开后发光管高4位亮。

M15.试编法度榜样,用外中断0和1分别操纵发光管阁下轮回依次全部点亮的偏向,中断0右轮回,中断1左轮回。

教授教化提示:

1.中断道理

2.中断消抖法度榜样1

delay_ms(20);

if(PIND.2==1)

PORTC=0X0F;

GIFR|=0X40;

3.中断消抖法度榜样2

while(PIND.2==0)

delay_ms(20);

delay_ms(20);

PORTC=0X0F;

八、准时/计数器应用

(一)准时器设置:

M16.试编法度榜样,用准时/计数器0查询方法使8个发光管距离0.5秒闪亮。

M17.用准时/计数器0中断方法实现数码管低4位显示-00-到-60-秒轮回计时。

M17A.同上题,分别用准时/计数器0,64分频,1ms时基(t),中断方法实现数码管低4位显示-00-到-60-秒轮回计时

教授教化提示

1.T0中断道理图:

2.T0查询法初始化

PORTC=0xFF;

DDRC=0xFF;

TCCR0=0x02;//接内部RC震动器,8分频。

TCNT0=56;//计数器初装X=FF-t/T

//注:

T为分频后周期,t为计数器溢出周期。

3.T0查询法编程

for(i=250;i>0;i--)//查询次数统计

{while(!

(TIFR&0x01));//查询是否溢出

TIFR|=0x01;//清溢出位

TCNT0=56;//从新置数}

4.T0中断法办事法度榜样

interrupt[TIM0_OVF]T0_INT()//中断函数

{TCNT0=56;//预置数

secdd++;//200us

If(secdd==50)secdd=0;secd++;//10ms

If(secd==100)secd=0;sec++;//1s

If(sec==60)sec=0;min++;//1m}

(二)准时中断操纵

用准时器0中断方法实现:

M18.试编法度榜样,使数码管轮回显示59-分59秒-1/100秒(初始数据00-00-00)。

M18A.试编法度榜样,显示同上,按住左1键暂停,手分开则连续。

M19.试编法度榜样,使数码管轮回显示23-时59分-59秒(初始数据08-00-00)。

M19A.试编法度榜样,显示同上。

要求小时十位无效零消隐。

教授教化提示:

在T0中断法度榜样中写入秒百分之一秒(secd)、秒(sec)、分(min)、小时(hour)变量。

九、准时/计数器应用

(一)时钟显示

M20试作一个时实电子钟:

1.上电后由显示8-00-00开端走时。

2.小时十位无效零消隐。

3.有调时/分功能。

教授教化提示:

无效零/闪点参考

ledbuff[1]=table[sec/10];

if(secd>50)ledbuff[2]=table[min%10];

elseledbuff[2]=table[min%10]|0x80;

//闪点

if((min/10)==0)ledbuff[3]=0;//无效零

elseledbuff[3]=table[min/10];

(二)高频测量

M20A.较高频率的测量(1k-10kHz)

如图所示:

由555振荡器发出方波频率旌旗灯号送给MEGA16芯片的PB1口,然后经T1计数检测在由数码管显示该方波频率数。

(三)低频测量

M20B.较低几回再三率的测量

如图所示:

由T0产生较低频率方波频率旌旗灯号送给MEGA16芯片的PD6口,然后经T1捕捉后再由数码管显示该方波频率数。

十、脉宽调制PWM

M21.试编法度榜样,使数码管亮度由暗逐步变亮再逐步变暗。

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两个子法度榜样调用)

M25.用显示驱动7219集成块进行数码显示电子时钟。

教授教化提示:

在练习板上,将7219W1接口与数码管字位LEDW1接口用扁平线相连,将7219D1接口与数码管字段LEDD1接口用扁平线相连。

2.集成块驱动显示8×8点阵LED管

M26.用显示驱动7219集成块进行显示点阵汉字“光”。

M26A.用7219点阵驱动集成块显示移动的“电力”两字。

M27.用显示驱动7219集成块同时进行数字汉字显示。

教授教化提示:

1.连接方法:

在练习板上,将7219W2接口与点阵字位LEDW2接口用扁平线相连,将7219D2接口与点阵字段LEDD2接口用扁平线相连。

2.7219驱动点阵分列方法如图所示:

十二、模数转换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.用液晶显示器显示“编号-A/D转换数据”。

M33.用液晶显示器第2行中心地位显示“小时-分-秒”。

教授教化提示:

可参考附录相干函数规定。

输出字符见7位ASCII码表:

十四、4×4矩阵键盘的应用:

(占用1个8位I/O口资本)

M34.上电后,用液晶显示4×4矩阵键盘按键数据。

M35.上电后,8发光管不亮,按4×4矩阵键盘j16发光管高4位亮,按j17发光管低4位亮,按j35后全亮,按j36后全灭。

M36.用液晶显示器显示“小时-分-秒”,用矩阵键盘J35,J36调剂时、分。

M37.用矩阵键盘右2排改变采集通道号及采集对应的数据。

教授教化提示

1矩阵键盘连接图:

2矩阵键盘键值图(key):

十五异步通信演习

M38经由过程异步通信接口发送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中间抽头,另一头插入M16芯片PB2、PB3引脚。

试编法度榜样当PB2脚电压值大年夜于PB3脚电压值时发光管LED0.4秒闪光。

 

十七常数设置演习

M40试用4×4矩阵键盘将16个整型常数储存到M16芯片中的EEROM中。

十八应用命题教授教化演示

综合演示法度榜样1:

数码管显示数字-点阵管显示移动汉字-液晶显示ASCII码-发光管轮回移动。

综合演示法度榜样2:

时钟-汉字-电辅音乐。

十九AVR单片机卒业论文课题参考

1智能型数字准时交通灯操纵体系

2节日彩灯-时钟-汉字-音乐体系

3多路数据采集-巡测-选点-报警体系

4水箱水位检测-报警-显示-操纵体系

二十AVR单片机卒业论文参考框架

(基于AVR单片机的数据采集体系)

标题-作者-摘要-关键词-正文:

一、概述(或引言)

1用AVR单片机实现数据采集的优势(可与传统m51比拟)

硬件方面:

1)AVR内部资本丰富自带模数A/D数模D/A(PWM)转换,使电路简单靠得住。

2)AVR指令履行速度更快是m51的几十倍。

更合适多点数据巡回检测

3)AVR内部有法度榜样储备器(FLASH)和数据储备器(EEROM)无须向m51一样需外加储备器。

可削减成本及简化电路…等等。

软件方面:

1)应用高等C说话比汇编说话有更大年夜的优势,专门在数据处理方面高等说话更直不雅且运算起来更便利。

2)高等说话在法度榜样移植、功能拓展、法度榜样解读方面更有独到之处…等等

二、AVR数据采集体系框图

例:

输入模块中可增长仿照量隔离(耦合式如AD202见材料)和开关量隔离(光电式如4N31)电路等。

三、主控电路

1芯片选择可列表说明

2时钟晶振电路

3键盘矩阵电路

4显示电路(可拓展点阵汉字显示)

5报警电路

6驱动电路等等

四、仿照量开关量输入电路

1压力差压旌旗灯号(如1151)经I/U转换电路转成0-5v旌旗灯号进主控模块

2温度旌旗灯号(如热电偶)经mv/U转换电路转成0-5v旌旗灯号进主控模块

3转速旌旗灯号、开关量可经由过程整形电路和光电隔离电路进进主控模块等

五、仿照量开关量输出电路

1仿照量输出是主控cpu进行脉宽调制(pwm)后输出,然后还需用运算放大年夜器进行滤波缓冲隔离后转换成电压旌旗灯号0-5V送出。

须要时还需经由过程电压电流转换电路(可应用专用集成块:

如AM462,XTR110等可参考有关材料)送出。

2开关量输出由应经由光电隔离再经由过程驱动电路(如可控硅,继电器等)输出。

六、软件设计

1软件功能说明

2软件流程框图

3法度榜样清单(应有须要的注解)

七、停止语(略)

八、参考文献:

说明材料出处

九、附录:

供给须要的表格图形等

附图1:

练习体系连接图

附图2:

AVR芯片引脚图

附图3:

练习板电路道理图

附录1:

自定义文件头应用说明

1.动态显示文件头#include

1)连接:

PB----LEDD,PC----LEDW

2)函数:

初始化init();显示子法度榜样disp();转换子法度榜样bcd(longn);hex(longn);

2.时钟T0中断文件头#include

1)连接:

2)函数初始化init_t0();时刻变量hour,min,sec,secd,(0.01s)secdd(0.2ms)。

3.矩阵键盘扫描文件头#include<4x4pc.txt>或#include<4x4pd.txt>

1)连接:

PC口或PD口----矩阵键盘接口

2)函数初始化无;子法度榜样jp();键值charkey。

4.7219驱动文件头#include<7219p1.txt>或#include<7219p0.txt>

1)连接:

7219D1----LEDD1,7219W1----LEDW1;7219D2----LEDD2,7219W2----LEDW2;

2)函数:

初始化spi_7219();

数码管/点阵管复位子法度榜样voidc_7219(chari,charj)

数码显示子法度榜样spi_xie(chari,charj)

点阵显示子法度榜样voidspi_xie1(chari1,charj1,)

单参数显示子法度榜样voidx_7219(longx)

时钟显示子法度榜样voidsz_7219(charhour,charmin,charsec)

多参数显示子法度榜样charxunce_721

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1