项目10单片机应用技能实训(C语言)教案.doc
- 文档编号:2614751
- 上传时间:2022-11-03
- 格式:DOC
- 页数:15
- 大小:1.70MB
项目10单片机应用技能实训(C语言)教案.doc
《项目10单片机应用技能实训(C语言)教案.doc》由会员分享,可在线阅读,更多相关《项目10单片机应用技能实训(C语言)教案.doc(15页珍藏版)》请在冰豆网上搜索。
单片机应用技能实训(C语言)教案—项目10
项目10温度测试电路制作
任务1A/D、D/A转换器的使用方法
一、案头
任务
学习AD、DA转换器的使用方法
授课时间
年月日
授课班级
教学形式
讲授、讨论
授课时数
2课时
教学用具
教学资源
项目制作成品或元件、课件
课前准备
教学目标
1、理解ADC0808引脚及功能。
2、掌握ADC与单片机的连接及应用编程。
3、了解DA转换器的功能及DAC0832引脚功能。
4、熟悉C语言软件包的制作。
教学重点
1、ADC0808与单片机的连接及应用编程。
教学难点
1、对ADC0808模数转换器应用的理解。
教学过程
1、通过对实际应用项目的讨论,引出项目任务。
2、ADC0808引脚及功能。
3、ADC0808与单片机的连接及应用编程。
4、DAC0832引脚及功能。
5、DAC0832与单片机的连接及应用编程。
6、C语言软件包的制作。
教学后记
二、教学实施过程
实施环节
教学内容
导学方法
组织教学
1、检查学生出勤情况并做好记录。
2、调整学生的注意力,为上课作准备。
互动交流
复习提问
1、MCS-51单片机由几个逻辑功能单元组成?
2、通过项目1~9的制作学习,单片机各功能单元是否都以用到?
3、以同学们的理解,如何制作一个温度控制系统?
本项目的终极目标是制作一个温度测试电路。
提问导思
导入
通过项目1~9的制作学习,我们可以用单片机对数字量控制项目进行设计制作了,可是实际中许多控制是对模拟量进行的,比如电冰箱、电饭锅、电磁炉等。
所以,在本项目中,我们学习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:
时钟输入端,典型频率为640KHz。
VREF(+)、VREF(-):
正、负参考电压输入端。
(2)控制类引脚分别是:
START:
转换启动信号,由低变高时,AD转换器复位,由高变低时启动AD转换。
ADDA、ADDB、ADDC:
模拟通道选择端。
ALE:
地址锁存信号。
使用时该信号可以和START信号连在一起,以便同时锁存通道地址和启动A/D转换。
EOC:
A/D转换结束信号。
此信号常被用来作为中断申请信号。
OE:
允许输出信号高电平有效。
(3)数据类引脚分别是:
IN0~IN7:
8路模拟量输入端。
OUT1~OUT8:
8位数字量输出端。
2、ADC0808与单片机的连接
图10-3是ADC0808与单片机的连接示意图。
图10-3
按图10-3的接线方法,将通道IN0的模拟信号转换为数字信的A/D转换子程序如下:
#include
#include
sbitADC_EOC=P2^0;
sbitU3_2=P2^1;
sbitU3_3_5=P2^2;
sbitU3_6=P2^3;
unsignedintzhjg;
voidADC_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_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项目相同的文件夹中,在头文件中声明就可以直接使用了。
软件包的制作其实很简单,下面以数码管显示函数软件包的制作为例说明软件包的制作步骤。
/***
(1)在通用函数前加入头文件及自定义部分***/
#include
#include
unsignedcharcodetab[10]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,0x80,0x90};//显示数字段码数组
unsignedintdxsj;//待显示数据
/***
(2)编写通用函数***/
voiddelay()//延时函数
{
unsignedchari,j;
for(i=2;i>0;i--)
for(j=250;j>0;j--);
}
voiddisplay()//显示函数
{
unsignedchari,disp_buf[4];//定义显示缓冲区
unsignedintlssj;//临时数据
disp_buf[0]=dxsj/1000;//显示数据第3位(最高位)
lssj=dxsj%1000;
disp_buf[1]=lssj/100;//显示数据第2位
lssj=lssj%100;
disp_buf[2]=lssj/10;//显示数据第1位
disp_buf[3]=lssj%10;//显示数据第0位(小数点后第1位)
for(i=0;i<4;i++)
{
P1=tab[disp_buf[i]];
if(i==2)
{
P1=tab[disp_buf[i]]&0x7f;
}
P3=0x10<
delay();
}
}
/***(3)起名保存为.h文件***/
用多媒体展示图10-2,老师介绍各引脚功能。
用多媒体展示图10-3,老师讲解各引脚的连接原理。
详细介绍子程序关键指令的作用。
课堂小结
1、ADC0808引脚功能及用法。
2、ADC0808与单片机的连接及应用编程。
课后作业
自我测评1题、2题、3题。
任务2温度测试电路硬件、软件设计
一、案头
任务
温度测试电路硬件、软件设计
授课时间
年月日
授课班级
教学形式
讲授、讨论
授课时数
2课时
教学用具
教学资源
课件、单片机应用制作成品
课前准备
教学目标
1、了解温度转换电路的工作原理。
2、掌握A/D转换器的使用。
3、掌握温度测试电路的整体构成。
4、理解应用程序的编程思路。
教学重点
1、温度测试电路的整体构成。
2、应用程序的编程思路。
教学难点
1、应用程序的编写思路。
教学过程
1、复习A/D转换器的使用方法。
2、介绍项目任务要求。
3、根据项目任务要求引导设计硬件电路。
4、应用程序流程图绘制。
5、应用程序设计。
教学后记
二、教学实施过程
实施环节
教学内容
导学方法
组织教学
1、检查学生出勤情况并做好记录。
2、调整学生的注意力,为上课作准备。
互动交流
复习提问
1、A/D转换器的作用是什么?
2、如何启动A/D转换器DAC0808?
提问导思
导入
本项目是一个比较综合性的项目制作,下面我们利用所学知识根据项目要求进行项目硬件电路设计。
项目要求如下:
应用单片机及温度传感器、A/D转换器、数码管等外围器件构成温度测试电路。
要求用4位LED数码管来显示环境温度值,显示数值精确到小数点后一位。
启发学习积极性
讲授新课
一、项目硬件电路设计
1、电路构成方案设计
根据项目要求,本项目硬件由单片机最小应用系统、温度转换电路(将温度转换为电压信号)、A/D转换电路和数字显示电路构成。
2、电路设计
根据电路构成方案,对各组成部分进行设计。
温度转换电路由LM35及放大电路构成,如图10-9所示。
A/D转换电路如图10-3所示。
数字显示电路由4位一体的数码管采用动态显示方式显示温度值,如图10-10所示。
将温度转换电路、AD转换电路及数字显示电路,根据实际情况,合理的组合在一起,即可设计出温度测试电路的硬件电路。
3、元件选择
(1)复习晶振电路元件及复位电路元件的选择。
(2)数字显示电路的元件的选择。
(3)温度转换电路的元件选择:
LM35为温度传感器;LM358为集成运放,与R19(12K)、R20(3K)、R21(12K)、R22(3K)构成5倍放大器。
二、应用程序编写
本项目的程序比较大,主要由AD转换子程序、数据处理子程序和显示子程序及主程序构成。
主程序流程图如图10-5所示。
图10-5
数据处理子程序的作用是将AD转换得到的温度数字量转换为十进制的温度值。
经ADC0808转换后得到的数字量值为X,对应的温度值T为:
T===
由于单片机的算术运算指令都是整数运算,而我们又希望计算结果能够精确到小数点后一位,所以,编程时可采取下式进行数据计算。
10T=
经过上述运算后,得到10T的二进制数值,输出显示测量结果时,将小数点左移一位即是正常的数值。
根据上述程序编写思路,编写程序如下:
#include
#include
#include
sbitADC_EOC=P2^0;
sbitU3_2=P2^1;
sbitU3_3_5=P2^2;
sbitU3_6=P2^3;
unsignedintdxsj;
unsignedintzhjg;
voidADC_zh()
{
ADC_EOC=1;//为读EOC信号准备
U3_2=1;U3_3_5=1;U3_6=1;//为A/D转换准备
U3_3_5=0;U3_2=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 10 单片机 应用 技能 语言 教案