项目8单片机应用技能实训(C语言)教案(DOC 18页).doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《项目8单片机应用技能实训(C语言)教案(DOC 18页).doc》由用户(2023DOC)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目8单片机应用技能实训C语言教案DOC 18页 项目 单片机 应用 技能 语言 教案 DOC 18
- 资源描述:
-
1、单片机应用技能实训(C语言)教案项目8项目8 数字显示交通灯控制电路制作任务1 项目相关知识学习一、案头任务项目相关知识学习授课时间年 月 日授课班级教学形式讲授、讨论授课时数2课时教学用具教学资源项目制作成品或元件、课件课前准备教学目标1、掌握简单I/O端口扩展的接线方法。2、掌握简单I/O端口扩展应用程序的编写。3、熟悉在C51中直接插入汇编语言程序的编程方法。教学重点1、简单I/O端口扩展的接线方法。2、简单I/O端口扩展应用程序的编写。教学难点1、对同时扩展8位并行输出和输入的理解。教学过程1、通过对交通灯功能的讨论,引出项目任务。2、简单I/O端口扩展的芯片简介。3、简单I/O端口扩
2、展的接线方法及程序编写。4、在C51中直接插入汇编语言程序的编程方法。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问1、根据前面所学知识,如何进行I/O端口的扩展?2、交通灯的作用是什么?有什么功能?本项目的终极目标是制作一个单片机控制的能显示倒计时时间的交通灯控制电路。提问导思导入在项目6中用数码管显示时间,为了不造成资源浪费,我们利用串行口方式0进行输出口扩展。但利用串行口方式0扩展并行输出口,在使用上有一定局限性,所以,我们在进行项目制作之前,学习MCS-51单片机简单I/O口的扩展方法。启发学
3、习积极性讲授新课一、并行I/O端口的扩展由于简单I/O端口扩展方法简单实用,下面对该方法加以介绍。1、简单I/O端口扩展芯片简介通常采用三态缓冲器(例如74LS244、74LS541)来扩展并行输入,用8D锁存器(例如74LS373、74HC573)来扩展并行输出。图8-2是74LS541和74HC573的逻辑符号图。74LS541是三态缓冲器,74HC573是8D锁存器,采用20脚双列直插封装。图8-2 74LS541 74HC573逻辑符号图2、简单I/O端口扩展举例例8.1 利用两个8D锁存器74HC573扩展两个8位并行输出口。单片机扩展两个8位并行输出端口的硬件电路如图10-3所示,
4、在预处理命令中将p20定义为P2.0,将p21定义为P2.1。当需要将A中数据从U2输出时,执行如下指令:p20=0; /U2锁存数据p21=0; /U3锁存数据P0=ACC; /将ACC数据送给P0p20=1; /数据从U2输出p20=0; /U2锁存数据当需要将A中数据从U3输出时,执行如下指令:p20=0; /U2锁存数据p21=0; /U3锁存数据P0=ACC; /将ACC数据送给P0p21=1; /数据从U3输出p21=0; /U3锁存数据 图8-3 扩展并行输出采用本例方法,利用P0、P2最多可扩展8个8位并行输出端口。例8.2 采用74LS541和74LS373为单片机扩展8位并
5、行输入和8位并行输出端口。扩展输入输出端口的硬件电路如图8-4所示,将74LS541和74LS373作为单片机的外部数据存贮器单元来进行操作。由于74LS541和74LS373通过逻辑电路只与16位地址线中的P2.0相连,都是在P2.0为0时被选通的,所以二者的口地址都为FEFFH。图8-4当需要输入和输出数据时可通过如下程序完成。char xdata *p1=0xfeff; /定义外部数据地址unsigned char a=0x02;a=*p1; /将74LS541对应端口数据输入*p1=a; /输出数据给74LS373对应端口二、C51中插入与汇编语言程序1、在C51中直接插入汇编语言程序
6、方法当需要在C51源程序中插入汇编语言程序时,可使用#pragma asm和#pragma endasm语句包含插入的汇编语言程序。格式如下:#pragma asm汇编语言程序#pragma endasm例如编写程序从P2.7输出方波,要求在C51程序中直接插入汇编语言程序。程序如下:#includesbit p27=P27;void main()while(1) P27=!p27; #pragma asmMOV R1,#250 D1:DJNZ R1,D1 #pragma endasm 图8-5 激活SRC_CONTROL2、使用keil c进行编译注意事项(1)将SRC_CONTROL激活。
7、激活方法是:在Project窗口中包含汇编语言程序的C文件上右击鼠标,从弹出的快捷菜单中选择Options for file命令,双击右边的Generate Assembler SRC File和Assemble SRC File,使复选框由无效变为有效状态。如图8-5所示。(2)根据选择的编译模式,把相应的库文件(如Small模式,库文件为keilC51LIBC51S.LIB)加入的工程中。用多媒体展示图8-2进行介绍。重点介绍引脚使用。用多媒体展示图8-3,介绍连接方法,重点介绍编程方法。用多媒体展示图8-4,介绍连接方法。重点介绍编程方法。课堂小结1、简单I/O端口扩展方法及芯片介绍。2
8、、简单I/O端口扩展的接线及编程。3、C51中插入与汇编语言程序。课后作业自我测评1题、2题。任务2 数字显示交通灯控制电路硬件、软件设计一、案头任务数字显示交通灯控制电路硬件、软件设计授课时间年 月 日授课班级教学形式讲授、讨论授课时数2课时教学用具教学资源课件、单片机应用制作成品课前准备教学目标1、掌握简单I/O端口扩展的应用。2、掌握数字显示交通灯控制电路的整体构成。3、理解应用程序的编程思路。教学重点1、应用I/O扩展完成数字显示交通灯控制电路设计。2、应用程序的编程思路。教学难点1、应用程序的编写思路。教学过程1、复习提问简单I/O端口扩展方法,讨论交通灯控制特点。2、介绍项目任务要
9、求。3、根据项目任务要求引导设计硬件电路。4、应用程序流程图绘制。5、应用程序设计。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、 检查学生出勤情况并做好记录。2、 调整学生的注意力,为上课作准备。互动交流复习提问1、I/O端口的扩展有哪几种方法?2、数码管的动态显示方法?3、讨论交通灯控制的功能特点?提问导思导入在学习了简单I/O口扩展方法后,我们利用所学知识进行项目硬件电路设计。项目要求如下:(1)东西、南北各用两位数码管显示相应路口的倒计时时间。(2)东西、南北各用三个灯(红、黄、绿)来指挥交通。(3)装一个紧急事件按键(或开关),当该按键闭合时,进入紧急事件状态,使各方向
10、均亮红灯。启发学习积极性讲授新课一、项目硬件电路设计1、电路构成方案设计根据项目要求,本项目硬件由按键电路(紧急事件)、单片机最小应用系统、扩展输出电路、数码管显示电路和交通灯电路(发光二极管代替)构成。扩展输出用芯片74HC73来完成。2、电路设计根据电路构成方案进行设计,关键是扩展输出及显示电路的设计。硬件原理图如图8-7所示。 图8-7 交通灯控制电路原理图3、元件选择 (1)复习晶振电路元件及复位电路元件的选择。(2)复习发光二极管电路元件选择。(3)数码管及限流电阻的选择。(4)扩展芯片选择:74HC573,上拉电阻R2R9:10K。二、应用程序编写1、应用程序流程图绘制根据交通灯的
11、实际转换规律,每隔一定时间要进行倒计时时间及灯控数据的变换,由4组数据周期交替变换,其变化规律如表8-1所示。当紧急事件按键按下时,东西南北均亮红灯。表8-1 交通灯控制信号变化规律表数组灯控信号数据变换数据时间间隔东西倒计时时间南北倒计时时间第一组东西绿灯、南北红灯25秒25秒30秒第二组东西黄灯、南北红灯5秒5秒5秒第三组东西红灯、南北绿灯25秒30秒25秒第四组东西红灯、南北黄灯5秒5秒5秒该程序设计可考虑由倒计时时间显示函数、外部中断0的中断函数、定时器T0的中断函数、交通灯状态查询与转换控制函数、主函数等几部分组成。关键是交通灯状态查询与转换控制函数,其作用是:不断的查询交通灯的状态
12、,当倒计时时间为0时,进行交通灯状态的转换,该函数的参考流程图如图8-8所示。 图8-8在该流程图中,交通灯状态用变量dzt值来表示。定义如下:2、程序设计由于程序比较大,课上只进行关键程序的编写。程序如下:#include /含_nop_()函数#include #define EWGNSR 0 /东西绿南北红#define EWYNSR 1 /东西黄南北红#define EWRNSG 2 /东西红南北绿#define EWRNSY 3 /东西红南北黄#define LINIT 4 /初始化 #define JJSJ 5 /紧急事件sbit NS_R = P27;/南北红sbit NS_G
13、= P25;/南北绿sbit NS_Y = P26;/南北黄sbit EW_R= P24;/东西红sbit EW_G = P22;/东西绿sbit EW_Y= P23;/东西黄sbit U2_LE = P21;/锁存sbit U3_LE = P20;/sbit p10=P10;unsigned char t0cs; /1秒定时次数unsigned char NSsj; /南北倒计时时间unsigned char EWsj;/东西倒计时时间unsigned char dzt; /交通灯状态unsigned char code_data10= 0xc0,0xf9,0xa4,0xb0,0x99,0x
展开阅读全文