项目10单片机应用技能实训(C语言)教案

上传人:fe****16 文档编号:131470987 上传时间:2020-05-08 格式:DOC 页数:15 大小:1.67MB
返回 下载 相关 举报
项目10单片机应用技能实训(C语言)教案_第1页
第1页 / 共15页
项目10单片机应用技能实训(C语言)教案_第2页
第2页 / 共15页
项目10单片机应用技能实训(C语言)教案_第3页
第3页 / 共15页
项目10单片机应用技能实训(C语言)教案_第4页
第4页 / 共15页
项目10单片机应用技能实训(C语言)教案_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《项目10单片机应用技能实训(C语言)教案》由会员分享,可在线阅读,更多相关《项目10单片机应用技能实训(C语言)教案(15页珍藏版)》请在金锄头文库上搜索。

1、单片机应用技能实训(C语言)教案项目10项目10 温度测试电路制作任务1 A/D、D/A转换器的使用方法一、案头任务学习AD、DA转换器的使用方法授课时间年 月 日授课班级教学形式讲授、讨论授课时数2课时教学用具教学资源项目制作成品或元件、课件课前准备教学目标1、理解ADC0808引脚及功能。2、掌握ADC与单片机的连接及应用编程。3、了解DA转换器的功能及DAC0832引脚功能。4、熟悉C语言软件包的制作。教学重点1、ADC0808与单片机的连接及应用编程。教学难点1、对ADC0808模数转换器应用的理解。教学过程1、通过对实际应用项目的讨论,引出项目任务。2、ADC0808引脚及功能。3、

2、ADC0808与单片机的连接及应用编程。4、DAC0832引脚及功能。5、DAC0832与单片机的连接及应用编程。6、C语言软件包的制作。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问1、MCS-51单片机由几个逻辑功能单元组成?2、通过项目19的制作学习,单片机各功能单元是否都以用到?3、以同学们的理解,如何制作一个温度控制系统?本项目的终极目标是制作一个温度测试电路。提问导思导入通过项目19的制作学习,我们可以用单片机对数字量控制项目进行设计制作了,可是实际中许多控制是对模拟量进行的,比如电冰箱、

3、电饭锅、电磁炉等。所以,在本项目中,我们学习A/D、D/A转换器的相关知识,从而能够进行模拟量控制。启发学习积极性讲授新课一、A/D转换器简介目前A/D转换器品种很多,8位的有ADC0808、ADC0809、AD570等,下面以ADC0808为例介绍AD转换器的引脚功能及其与单片机的连接。1、ADC0808的引脚功能ADC0808芯片是28脚双列直插封装,这些引脚根据功能可以分为三类引脚,分别是电源类5个、控制类7个和数据类16个。图12-2是ADC0808的逻辑符号。 图12-2(1)电源类引脚分别是:VCC(11脚):电源正极。GND(13脚):电源负极。Clock :时钟输入端,典型频率

4、为640KHz。VREF(+)、VREF(-):正、负参考电压输入端。(2)控制类引脚分别是:START:转换启动信号,由低变高时,AD转换器复位,由高变低时启动AD转换。ADDA、ADDB、ADDC:模拟通道选择端。ALE:地址锁存信号。使用时该信号可以和START信号连在一起,以便同时锁存通道地址和启动A/D转换。EOC:A/D转换结束信号。此信号常被用来作为中断申请信号。OE:允许输出信号高电平有效。(3)数据类引脚分别是:IN0IN7:8路模拟量输入端。OUT1OUT8 :8位数字量输出端。2、ADC0808与单片机的连接图10-3是ADC0808与单片机的连接示意图。 图10-3按图

5、10-3的接线方法,将通道IN0的模拟信号转换为数字信的A/D转换子程序如下:#include /含_nop_()函数#include sbit ADC_EOC=P20;sbit U3_2=P21;sbit U3_3_5=P22;sbit U3_6=P23;unsigned int zhjg;void ADC_zh() ADC_EOC=1; /为读EOC信号准备 U3_2=1; /为A/D转换准备 U3_3_5=1;U3_6=1; U3_3_5=0; U3_2=0; /使START、ALE端由0变1 _nop_(); _nop_();_nop_();/空操作等待ADC0808复位完成 U3_3

6、_5=1; /使START由1变0,启动AD转换 U3_2=1; _nop_(); while(ADC_EOC=1);/等待转换开始 while(ADC_EOC=0);/等待转换结束 U3_3_5=0; U3_6=0; /使OE端为1 P0=0xff; /读转换结果准备 zhjg=P0; U3_3_5=1;U3_6=1;二、C语言软件包的制作在实际项目的制作编程中,常有一些函数在不同的项目中都能用到(比如项目6和本项目中都用到了数码管的动态显示函数),为方便编程,可以将通用函数制作成软件包。在项目编程时将该软件包保存于keil项目相同的文件夹中,在头文件中声明就可以直接使用了。软件包的制作其实

7、很简单,下面以数码管显示函数软件包的制作为例说明软件包的制作步骤。/*(1)在通用函数前加入头文件及自定义部分*/#include /含_nop_()函数#include unsigned char code tab10 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /显示数字段码数组unsigned int dxsj; /待显示数据/*(2)编写通用函数*/void delay() /延时函数unsigned char i,j;for(i=2;i0;i-)for(j=250;j0;j-);void display() /显示函数un

8、signed char i,disp_buf4; /定义显示缓冲区unsigned int lssj; /临时数据disp_buf0 = dxsj/1000; /显示数据第3位(最高位)lssj=dxsj%1000;disp_buf1 = lssj/100; /显示数据第2位lssj=lssj%100;disp_buf2 = lssj/10;/显示数据第1位disp_buf3 = lssj%10;/显示数据第0位(小数点后第1位) for(i=0;i4;i+) P1=tabdisp_bufi; if(i=2) P1=tabdisp_bufi&0x7f; P3=0x10i; delay(); /

9、*(3)起名保存为 .h文件*/用多媒体展示图10-2,老师介绍各引脚功能。用多媒体展示图10-3,老师讲解各引脚的连接原理。详细介绍子程序关键指令的作用。课堂小结1、ADC0808引脚功能及用法。2、ADC0808与单片机的连接及应用编程。课后作业自我测评1题、2题、3题。任务2 温度测试电路硬件、软件设计一、案头任务温度测试电路硬件、软件设计授课时间年 月 日授课班级教学形式讲授、讨论授课时数2课时教学用具教学资源课件、单片机应用制作成品课前准备教学目标1、了解温度转换电路的工作原理。2、掌握A/D转换器的使用。3、掌握温度测试电路的整体构成。4、理解应用程序的编程思路。教学重点1、温度测

10、试电路的整体构成。2、应用程序的编程思路。教学难点1、应用程序的编写思路。教学过程1、复习A/D转换器的使用方法。2、介绍项目任务要求。3、根据项目任务要求引导设计硬件电路。4、应用程序流程图绘制。5、应用程序设计。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、 检查学生出勤情况并做好记录。2、 调整学生的注意力,为上课作准备。互动交流复习提问1、A/D转换器的作用是什么?2、如何启动A/D转换器DAC0808?提问导思导入本项目是一个比较综合性的项目制作,下面我们利用所学知识根据项目要求进行项目硬件电路设计。项目要求如下:应用单片机及温度传感器、A/D转换器、数码管等外围器件构

11、成温度测试电路。要求用4位LED数码管来显示环境温度值,显示数值精确到小数点后一位。启发学习积极性讲授新课一、项目硬件电路设计1、电路构成方案设计根据项目要求,本项目硬件由单片机最小应用系统、温度转换电路(将温度转换为电压信号)、A/D转换电路和数字显示电路构成。2、电路设计根据电路构成方案,对各组成部分进行设计。温度转换电路由LM35及放大电路构成,如图10-9所示。A/D转换电路如图10-3所示。数字显示电路由4位一体的数码管采用动态显示方式显示温度值,如图10-10所示。将温度转换电路、AD转换电路及数字显示电路,根据实际情况,合理的组合在一起,即可设计出温度测试电路的硬件电路。3、元件

12、选择 (1)复习晶振电路元件及复位电路元件的选择。(2)数字显示电路的元件的选择。(3)温度转换电路的元件选择:LM35为温度传感器;LM358为集成运放,与R19(12K)、R20(3K)、R21(12K)、R22(3K)构成5倍放大器。二、应用程序编写本项目的程序比较大,主要由AD转换子程序、数据处理子程序和显示子程序及主程序构成。主程序流程图如图10-5所示。 图10-5数据处理子程序的作用是将AD转换得到的温度数字量转换为十进制的温度值。经ADC0808转换后得到的数字量值为X,对应的温度值T为:T=由于单片机的算术运算指令都是整数运算,而我们又希望计算结果能够精确到小数点后一位,所以

13、,编程时可采取下式进行数据计算。 10T= 经过上述运算后,得到10T的二进制数值,输出显示测量结果时,将小数点左移一位即是正常的数值。根据上述程序编写思路,编写程序如下:#include /数码管温度显示软件包#include /含_nop_()函数#include sbit ADC_EOC=P20;sbit U3_2=P21;sbit U3_3_5=P22;sbit U3_6=P23;unsigned int dxsj;unsigned int zhjg;void ADC_zh() ADC_EOC=1; /为读EOC信号准备 U3_2=1; U3_3_5=1;U3_6=1; /为A/D转换准备 U3_3_5=0; U3_2=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号