专业综合实训指导书1125.docx

上传人:b****5 文档编号:6079479 上传时间:2023-01-03 格式:DOCX 页数:38 大小:1.07MB
下载 相关 举报
专业综合实训指导书1125.docx_第1页
第1页 / 共38页
专业综合实训指导书1125.docx_第2页
第2页 / 共38页
专业综合实训指导书1125.docx_第3页
第3页 / 共38页
专业综合实训指导书1125.docx_第4页
第4页 / 共38页
专业综合实训指导书1125.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

专业综合实训指导书1125.docx

《专业综合实训指导书1125.docx》由会员分享,可在线阅读,更多相关《专业综合实训指导书1125.docx(38页珍藏版)》请在冰豆网上搜索。

专业综合实训指导书1125.docx

专业综合实训指导书1125

 

 

电子工程系

2013年11月20日

学生实训制度

1.实训前必须预习实训指导书,了解实训目的和注意事项。

2.按预约时间进入实训室,不得无故迟到、早退、旷课。

3.进入实训室后应注意安全、卫生、不准喧哗打闹、不准抽烟、不准乱写乱画乱扔纸屑、不准随地吐痰、不准擅自动仪器设备,或实训过程中未按操作规程操作仪器设备,导致损坏仪器设备者要照价赔偿。

4.实训时应严格遵守操作步骤和注意事项。

若遇仪器设备发生故障,应立即向教师报告,及时检查,待排除故障后才能继续实训。

5.实训过程中,同组同学应相互配合,认真纪录;应独立完成实训报告。

6.实训结束后,应将仪器设备、工具擦拭干净,摆放整齐;协助做好实训室清洁卫生。

7.不得将实训室的工具、仪器、材料等物品携带出实训室。

 

编写:

专业综合实训课程组校核:

审批:

版本:

V1.0

1、实训时间安排

时间

内容

备注

第一周

下达实训任务、上交设计方案

分组

第二周

系统硬件设计与各外围模块设计

第三周

系统联调

第四周

设计文档编写、答辩与考核

每个小组上交一份《电子系统设计文档》。

每位学生完成一份实训报告。

2、实训分组及考核安排

分组:

2-4人一组组长一名

考核方法:

考核内容

分值

备注

考勤

20

实操

40

演示

20

包括PPT演讲报告

实训报告

20

一、实训目的4

二、实训要求4

三、实训内容4

3.1简易电子琴4

1设计任务4

2设计要求5

3方案设计与论证5

4硬件设计5

5软件设计7

6测试9

3.2红外遥控系统的设计10

1设计任务和要求10

2方案设计与论证10

3硬件设计10

4软件设计11

5测试11

3.3无线温湿度传输系统设计13

1设计任务13

2设计要求13

3方案设计与论证13

4硬件设计13

5软件设计15

6测试15

3.44人抢答器设计17

1设计任务17

2设计要求17

3方案设计与论证17

4硬件设计18

5软件设计19

6调试24

3.5可预置温度上限和下限报警控制器26

1设计任务26

2设计要求26

3方案设计与论证26

4硬件设计27

5软件设计28

6测试30

3.6照明灯智能控制系统设计32

1设计任务32

2设计要求32

3方案设计与论证33

4硬件设计33

5软件设计36

6测试37

3.7自选题目38

一、实训目的

《专业综合实训》是电子专业的实践教学课程,是培养学生专业技能的重要实践环节。

学好该课程并能够熟练的进行电子系统设计,使用Proteus仿真软件进行软硬件仿真运行,并最终在硬件电路板上调试运行,为学生从事智能化电子产品的开发、设计打下坚实的基础。

二、实训要求

1.熟练掌握专业综合实训各设计步骤。

2.熟练掌握本专业各种最小系统板制作。

3.熟练掌握各传感器模块的设计。

4.掌握软件编程规范。

5.能熟练编写设计文档。

三、实训内容

3.1简易电子琴

1设计任务

设计并制作一个简易电子琴,并可以实现音乐的连续播放,系统结构图如图1-1所示。

以单片机为主控核心,与键盘、蜂鸣器等模块组成控制模块,在主控模块上设有11个矩阵按键和1个独立按键。

程序中预存了5首音乐,通过一个独立按键可以实现对4首音乐的“下一曲”控制。

3*4键盘中的7个按键分别对应着7个不同的音符,另外3个分为高、中、低音控制,当按下某一按键,会发出相应的音调。

按下按键时,蜂鸣器会发出声音,松开按键后,蜂鸣器停止发声,按键的时间越长,发声时间越久。

连续按下不同的按键,可以实现乐曲的演奏。

此外还有1个“模式”按键,负责在电子琴模式下切换到音乐播放模式;1个“下一曲”按键负责5首歌曲切换。

图1-1简易电子琴系统结构示意图

2设计要求

(1)键盘矩阵识别。

即矩阵扫描,显示当前按键。

(2)不同频率音符播放。

可以通过按键控制15种发音。

(3)设一个按键,按下后可以播放预设的歌曲。

3方案设计与论证

本次任务的关键在于利用单片机产生不同频率的音阶,实现高、中、低共21个音符的发音和显示以及音乐播放时的控制显示,并能够自动播放程序中编排的音乐。

请提出至少2种方案,并加以比较和论证说明。

选出较好的方案。

4硬件设计

在STC89C52单片机开发板上自己设计各功能模块,各功能模块如下所示。

(1)单片机最小系统

使用前续课程单片机开发板,开发板自备。

主要包括复位电路、时钟电路、P0-P3口插槽。

(2)按键键盘模块

按键键盘模块参考图,如图1-2所示。

图1-2按键键盘模块

采用并口P0接384矩阵键盘,以P0.0-)0.2作输入线,以P0.4-P0.7作输出线。

每个按键有它的行值和列值,行值和列值的组合就是鉴别这个按键的编码。

矩阵的行线和列线分别通过两个并接口和CPU通信。

每个按键的状态同样需要编程数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过子程序输出数字“0”实现的。

键盘处理程序的任务是:

去顶有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。

两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并口输入按键状态,由行扫描值和回馈信号共同形成键编码二识别按键,通过软件查表,查出该键的功能。

另焊接第三行第四列按键为独立按键,用以控制歌曲切换。

(3)蜂鸣器模块

蜂鸣器模块电路如图1-3所示。

图1-3蜂鸣器模块

蜂鸣器一阳极接三极管的发射极,另一端接地,三极管的集电极接电源VCC,基极接P3.6口。

当P3.6口为低电平时三极管导通,蜂鸣器有电流流过,即发声。

采用S8550三极管作为蜂鸣器的驱动电路。

(4)数码管电路

数码管模块电路如图1-4所示。

图1-4数码管电路

采用共阳极LED数码管显示,由于LED属于电流控制器件,使用时必修加限流电阻。

使用数码管的静态显示功能,主要用以显示高、中、低音的状态机电子琴、播放状态的指示。

5软件设计

5.1主程序参考流程图

根据流程图编写代码,并且进行调试。

6测试

(1)功能测试

功能模块

是否正常

原因分析

21阶音色

音乐播放

其他

3.2红外遥控系统的设计

1设计任务和要求

设计并制作一套红外遥控系统,要求以单片机作为遥控发射和接收的主控制器,利用单片机内部定时器和外部中断功能实现发射编码和接收编码,通过键盘按键启动发射,通过LED灯显示接收到的数据。

2方案设计与论证

本任务的主要难点是编码程序和解码程序的编写,编码程序按规定的数据格式,为键盘中的每个按键设置相应的码值,解码程序则根据接收到的脉冲来还原键码,实现按键识别。

可提出多种方案,并加以比较和论证说明。

选出较好的方案。

3硬件设计

红外遥控系统由发射端和接收端两大部分组成。

发射端由键盘电路,编码芯片、电源和红外发射电路组成。

接收端由红外接收电路,解码芯片,电源和应用电路组成。

实际电路可参考图2-1。

图2-1红外遥控系统

4软件设计

红外遥控系统程序设计包括编码程序和解码程序,编码程序按规定的数据格式,编码程序按规定的数据格式,为键盘中的每个按键设置相应的码值,解码程序则根据接收到的脉冲来还原键码,实现按键识别。

红外遥控系统的串行数据格式如图2-2所示,包括引导码、用户码、数据码和数据反码。

图2-2红外遥控系统的串行数据格式

数据格式中的位0和位1的电平表示如图2-3所示。

图2-3数据格式中的位0和位1的表示电平

可用C语言或汇编语言编写程序,并且进行调试。

5测试

(1)功能测试

功能模块

是否正常

原因分析

发射功能

接收功能

其他

(2)性能测试

性能参数

参数

分析

响应时间

灵敏度

其他

3.3无线温湿度传输系统设计

1设计任务

推荐采用STC89C52处理器、DHT11温湿度模块和无线模块等构成无线温湿度采集收发射机,根据系统技术要求选择合适的无线模块,编写系统程序完成无线温湿度采集发射机的设计。

2设计要求

湿度、温度的测量指标为相对的范围是0~100%RH,分辨率达0.1%RH,最高精度为正负5%TH;温度的范围是-20~+100度c,分辨率为0.1度c。

3方案设计与论证

本任务的主要难点是无线模块和温湿度模块的联调,请选择推荐的模块或者自选合适的无线模块和温湿度模块完成系统设计,系统框图如图3-1所示。

请提出至少2种方案,并加以比较和论证说明。

选出较好的方案。

图3-1系统框图

4硬件设计

在STC89C52单片机开发板上自己设计各功能模块,各功能模块如下所示。

(1)单片机最小系统

使用前续课程单片机开发板,开发板自备。

(2)无线温湿度模块DHT11

无线收发芯片采用广州奥松有限公司的一款湿温度一体化的数字传感器DHT11,如图3-2所示。

该传感器包括一个电阻式测湿元件和一个NCT测温元件,并与一个高性能8位单片机相连接。

通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。

DHT11与单片机之间能采用的单总线进行通信,仅仅需要一个I/O口。

传感器内部湿度和温度数据40Bit的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。

DHT11功耗很低,5V电源电压下,工作平均最大电流0.5mA。

性能指标和特性如下:

工作电压范围:

3.5V-5.5V

工作电流:

平均0.5mA

湿度测量范围:

20-90%RH

温度测量范围:

0-50℃

湿度分辨率:

1%RH8位

温度分辨率:

1℃8位

采样周期:

1S

单总线结构与TTL兼容(5V)

图3-2湿温度一体化的数字传感器DHT11

DHT11管脚排列如图3-3所示(引脚说明):

Vcc正电源

Dout输出

NC空脚

GND地

图3-3DHT11管脚说明

(3)无线模块

自选合适的无线模块,并提出论证。

5软件设计

温湿度采集模块参考流程图如图3-4所示。

图3-4温湿度采集模块流程图

根据流程图编写代码,并且进行调试。

6测试

(1)功能测试

功能模块

是否正常

原因分析

无线功能

温湿度显示功能

其他

(2)性能测试

性能参数

参数

分析

响应时间

灵敏度

其他

3.44人抢答器设计

抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,规范用于各种知识竞赛、文娱活动等场合。

本项目是一种利用8051单片机作为系统核心器件设计的四路抢答器。

1设计任务

1.系统完成的功能:

主持人提出问题后,按动启动按钮。

参加竞赛者在最短的时间内对问题作出判断,并按下抢答按键回答问题。

2.当的一个人按下按键后,在显示器上显示次竞赛者的号码并进行声音提示,同时对其他抢答按键封锁,使其不起作用。

若有人在可以抢答之前按键,应该有违规提示。

3.系统还具有定时抢答功能,定时时间可由主持人设定。

4.在抢答过程中,倒计时宣示定时时间,若在规定时间内没人回答,则本题作废。

5.回答完或超时后,主持人按动清除按钮将系统恢复初态,以便开始下一轮抢答。

2设计要求

基本功能:

1.系统显示时间可以设定。

2.系统用LED驱动芯片MAX7219驱动LED数码管显示。

3.按键与显示系统分离。

4.系统有报警装置。

扩展功能:

1增加参赛人数功能

2加入不同语音芯片实现不同语音功能

3方案设计与论证

实现抢答器功能的方式有很多种可以采用模拟电路、数字电路、数字电路和模拟电路相结合的方式,但这种设计方式电路复杂,而且准确性与可靠性差,成品面积大,安装、调试困难。

这样可以选用以单片机为核心器件进行逻辑控制及信号产生的抢答器设计。

图4-1抢答器系统框图

典型器件介绍

MAX7219是一种四线串行接口的共阴极显示驱动器,它可以连接8个LED数码管显示器,也8可以连接64个独立的LED。

它内部集成B型BCD编码器,多路扫描回路、段子驱动器,还有一块8x8可独立寻址的静态RAM区来存储显示数据。

芯片采用DIP或SO封装,引脚图如图x-2

图4-2

4硬件设计

1.数码管显示电路

数码管显示模块有一片MAX7219和3个数码管组成。

数码管是共阴极,3个阴极分别与MAX7219的DIG0、DIG1、DIG2相接。

MAX7219的DIN、CLK、LOAD分别与单片机的P2.4、P2.2、P2.3相连。

U5显示按键者编号,U6、U7在倒计时时显示还有多长设计,如果有人犯规抢答,U6—U7显示“FF”。

2.时间设定电路

以拨码开关U3作为倒计时的选择信号。

拨码开关上有4个开关,这4个开关的一端接地,另一端接单片机的P3.7、P3.6、P3.5、P3.4相接,倒计时时间分别为10s、8s、6s、4s。

设置设计时,P3.7优先级最高,P3.4优先级最低。

3.按键电路

系统按键采用独立式接法。

KEY1-KEY4为抢答器按键,KEY5为主持人控制按键。

4.声音提示电路

声音提示电路有蜂鸣器和三极管构成。

在主持人发出可以抢答信号时、在有人按下抢答按键时、在倒计时时间到等3种情况下发出蜂鸣声。

5.单片机电路

通过读取P3.7—P3.3的状态决定倒计时时间;通过读取P1.3—P1.0的状态读取抢答按键情况;通过P2.4—P2.2控制显示模块以显示抢答者按键的号码和倒计时所剩时间;通过P0.1控制蜂鸣器。

5软件设计

系统软件分为按键扫描程序模块、显示程序模块、报警程序模块及主程序等。

1.显示程序

voiddelay_20ms(void)//延时20ms

voidmax7219_reset(void)//初始化MAX7219

voidwrite_reg(ucharreg,ucharsdata)//写入命令

voidwrite_digit(uchardigit,ucharnumber)//显示数字

voidsend_data(ucharbyte)//MAX7219的驱动程序

voiddisplay_time(void)//显示倒计时剩余时间

2.按键扫描程序

bitcontrol_key(void)//检测主持人是否按键

{

if(KEY5==1)//如果KEY5为高说明没有按键

return1;//返回1,表示没有按键动作

else//如果KEY5为低说明可能有按键动作

delay_20ms();//延时20ms,去抖动

if(KEY5==1)//如果20ms后KEY5变为高电平是干扰

return1;//返回1

else//如果20ms后仍为低电平确认有按键动作

return0;//返回0

}

子程序get_key_num()用于检测是否有参赛者按动答题按键。

程序代码如下:

ucharget_key_num()//检测哪个参赛者按键

{

ucharkey_state=0;

key_state=P1;

key_state&=0x0f;//读取P1口的低四位

if(key_state==0x0f)//若均为高电平,说明无人按键

return0;//返回1

else

{

key_state^=0xff;

if(key_state&0x01)return1;//如果KEY1被按下,返回1

elseif(key_state&0x02)return2;//如果KEY2被按下,返回2

elseif(key_state&0x04)return3;//如果KEY3被按下,返回3

elsereturn4;/如果KEY4被按下,返回4

}

}

子程序key_handle()用于对答题按键进行处理。

程序代码如下:

voidkey_handle(ucharkey_number)//按键处理

{

write_digit(DIGIT0,key_number);//显示按键者号码

buz_on();

}

3.报警程序模块

代码如下:

voidbuz_on(void)

{

uchari;

BUZ=0;//开蜂鸣器

for(i=1;i<=25;i++)//延时500ms

delay_20ms;

BUZ=1;//关蜂鸣器

}

子程序foul_handle()用于当有人犯规时报警处理。

程序调用write_digit()函数显示犯规者号码,同时控制蜂鸣器发声。

代码如下:

voidfoul_handle(ucharkey_number)//犯规处理

{

write_digit(DIGIT0,key_number);//显示犯规者号码

write_digit(DIGIT1,0x0f);//显示“FF”

write_digit(DIGIT2,0x0f);

buz_on();//蜂鸣器响

}

子程序time_over_handle(void)用于处理超时情况,即主持人按动启动按键后,并且预设的答题时间到,仍然没有人按答题按键。

子程序调用相关函数显示0,同时控制蜂鸣器发声。

代码如下:

voidtime_over_handle(void)//超时处理

{

write_digit(DIGIT0,0x0);//显示“0”

write_digit(DIGIT1,0x0e);//显示“EE”

write_digit(DIGIT2,0x0e);

buz_on();//蜂鸣器响

}

4.主程序模块

代码如下:

ucharset_time(void)//根据设置决定倒计时时间

{

ucharintr_counter;

if(P3^5==0)intr_counter=160;//8s

elseif(P3^4==0)intr_counter=120;//6s

elseif(P3^3==0)intr_counter=80;//4s

elseintr_counter=200;/如果没有设置,默认为10s

returnintr_counter;

}

子程序init_t0(void)用于初始化定时器T0。

T0工作于方式1,16位定时器模式,定时时间50ms。

代码如下:

voidinit_t0(void)

{

TMOD=0x01;//T0选择工作方式1,16位定时器

TH0=TIMER_HBYTE;//定时时间为50ms

TL0=TIMER_LBYTE;

EA=1;//使能CPU中断

ET0=1;//使能T0溢出中断

TR0=1;//T0运行

}

子程序isr_t0(void)是T0的中断服务程序。

当50ms时间到时,该程序被执行,重新装载T0的计数初值,并判断倒计时时间是否到。

代码如下:

voidisr_t0(void)interrupt1//T0中断服务函数

{

TH0=TIMER_HBYTE;//定时时间为50ms

TL0=TIMER_LBYTE;

intr_counter--;//中断次数

if(intr_counter==0)//倒计时时间到

{

time_over_flg=1;//设置超时标志

TR0=0;//禁止T0运行

}

}

系统主程序流程图

Y

 

图4-3流程图

程序如下所示:

#include

typedefunsignedcharuchar;

sbitLE=P1^4;

sbitKEY5=P3^7;

sbitDIN=P2^4;//定义P2.5控制MAX7219的串行数据输入端

sbitLOAD=P2^3;//定义P2.4控制MAX7219的载入使能端

sbitCLK=P2^2;//定义P2.3控制MAX7219的时钟信号

sbitBUZ=P0^1;

#defineTIMER_HBYTE-50000/256//定时50ms

#defineTIMER_LBYTE-50000%256

ucharintr_counter;//设定的时间,用需要产生的中断次数表示

ucharbdatabyte;//在bdata区定义一个变量,便于位操作

sbitbyte_7=byte^7;

bitfoul_flg;z//是否有人犯规标志

bittime_over_flg;//是否倒计时超时标志

bitkey_flg;//是否有人在规定时间内按键标志

voidmax7219_reset(void);//初始化MAX7219

voidwrite_reg(uchar,uchar);//向控制寄存器写数据

voidwrite_digit(uchar,uchar);//向字型寄存器写数据

voidsend_data(uchar);//底层的硬件驱动

ucharset_time(void);//函数功能:

设置倒计时时间

bitcontrol_key(void);//函数功能:

检测主持人是否按键

ucharget_key_num(void);//函数功能:

检测哪个参赛者按键

voiddisplay_time(void);//函数功能:

显示倒计时剩余时间

voidfoul

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

当前位置:首页 > PPT模板 > 其它模板

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

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