项目9单片机应用技能实训C语言教案设计Word下载.docx
《项目9单片机应用技能实训C语言教案设计Word下载.docx》由会员分享,可在线阅读,更多相关《项目9单片机应用技能实训C语言教案设计Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
教学难点
1、对LED屏显示方式理解。
教学过程
1、通过对显示屏的讨论,引出项目任务。
2、LED屏的结构及工作原理。
3、LED屏的显示方式。
4、LED屏与单片机的接线方法。
5、在C51中调用汇编语言子程序的方法。
教学后记
二、教学实施过程
实施环节
教学容
导学方法
组织教学
1、检查学生出勤情况并做好记录。
2、调整学生的注意力,为上课作准备。
互动交流
复习提问
1、项目8中数码管的显示方式是动态显示还是静态显示?
2、以同学们的理解,LED屏是什么?
本项目的终极目标是制作一个单片机控制的LED屏显示电路。
提问导思
导入
在项目6和项目8中,用数码管来显示数字,也可以用来显示一些字符,但是,显示字符时有一定局限性,所以,当要显示一些英文字符时,考虑用LED屏。
在进行项目制作之前,学习LED屏的相关知识。
启发学习积极性
讲授新课
一、LED点阵显示模块的结构、工作原理及显示方式
1、LED点阵显示模块结构及工作原理
LED点阵显示模块是一种能显示图形、字符和汉字的显示器件。
一个LED点阵显示模块一般由8×
8个LED发光二极管方阵组成,其外形如图9-2所示。
8×
8LED点阵显示模块原理结构如图9-3所示。
我们可以把每一个LED发光点理解为一个像素,8×
8点阵显示屏可以显示在64像素围的任何图形。
图9-3图9-2
2、LED点阵显示模块的显示方式
LED点阵显示模块的显示方法必须采用动态扫描方式,一般采用逐行扫描。
以图9-3所示为例,一幅图形的每行由一个8位二进制数据构成,将这些数据称为显示数据点阵码。
比如显示字符“O”的点阵码为:
3CH、42H、42H、42H、42H、42H、42H、3CH(如图9-4所示)。
一般显示汉字采用的是16×
16的点阵模式或者更多,但是原理是相同的。
图9-4
3、LED显示模块与单片机的连接
一个8×
8LED显示模块与单片机的连接需要两个并行端口,一个端口接行线,另一个端口接列线。
用两个8×
8LED显示模块可构成8×
16点阵,则要有三个并行端口与其相连,一个并行端口接8位行线,另两个并行端口与16位列线相连。
当并行端口不够用时,可用项目十中介绍的并行I/O端口扩展方法进行端口的扩展。
图9-5是单片机与两个8×
8LED显示模块的接线示意图。
图9-5
二、C51调用汇编语言子程序的方法
1、C51程序调用汇编语言子程序的编写方法
(1)先按照C语言的格式来编写汇编语言子程序架构,并将SRC_CONTROL激活(激活方法参照项目8)。
(2)对该子程序架构进行编译后,就会在列表文件中清楚地看到产生的汇编程序(扩展名为.SRC)。
(3)按照.SRC文件结构,重新编写汇编语言子程序。
2、在C51中调用汇编语言程序需注意事项
(1)被调用汇编语言子程序要在主程序前先进行声明。
(2)保证参数的正确传递。
(3)编译时要将SRC_CONTROL激活,将汇编语言子程序以及相应的库函数添加到项目中。
3、应用举例
例9-1编写一个汇编语言延时子程序,在C语言中调用该延时程序,从P1.0输出方波。
(1)先用C语言编写延时子程序(delay.c)如下:
voiddelay()
{;
}
(2)编译后,产生的列表文件如下:
NAMEDELAY
?
PR?
delay?
DELAYSEGMENTCODE
PUBLICdelay
;
voiddelay()
RSEG?
DELAY
delay:
;
SOURCELINE#1
{
SOURCELINE#2
}
SOURCELINE#4
RET
ENDOFdelay
END
(3)按照.SRC文件结构,重新编写汇编语言子程序如下:
PUBLICdelay
MOV30H,#200
D1:
MOV31H,#250
DJNZ31H,$
DJNZ30H,D1
(4)编写C程序,在主程序中调用延时子程序,程序如下:
#include<
reg51.h>
sbitp10=P1^0;
externdelay();
//声名汇编语言子程序
voidmain()
{
while
(1)
p10=!
p10;
delay();
用多媒体展示图9-2、图9-3。
对照图9-3介绍其工作原理。
细致说明点阵码的含义。
重点说明连接原理及实际使用时的注意事项。
通过举例说明C语言调用汇编语言子程序的方法步骤。
课堂小结
1、LED显示模块的结构原理。
2、LED显示模块的显示方式。
3、LED显示模块与单片机接线方式
4、在C51中调用汇编语言子程序的方法。
课后作业
自我测评1题、2题、3题。
任务2LED屏显示电路硬件、软件设计
LED屏显示电路硬件、软件设计
课件、单片机应用制作成品
1、掌握LED显示模块显示方式。
2、掌握LED屏显示电路的整体构成。
3、理解应用程序的编程思路。
1、LED屏显示电路设计。
2、应用程序的编程思路。
1、应用程序的编写思路。
1、复习LED显示模块的显示方式及点阵码。
2、介绍项目任务要求。
3、根据项目任务要求引导设计硬件电路。
4、应用程序流程图绘制。
5、应用程序设计。
1、LED显示模块的显示方式如何?
2、怎样获得LED点阵码?
在学习了LED屏的相关知识后,我们利用所学知识进行项目硬件电路设计。
项目要求如下:
利用单片机及相关扩展芯片,制作点阵LED屏显示电路来实现字符显示。
要求用两个8×
8点阵LED模块来显示“OK”两个字符。
一、项目硬件电路设计
1、电路构成方案设计
根据项目要求,本项由两个LED模块来显示字符,需要3个端口,使用P0、P2、P3口。
本项目硬件由单片机最小应用系统、输出驱动电路、LED点阵显示模块电路构成。
2、电路设计
根据电路构成方案,对各组成部分进行设计。
难点是输出驱动电路构成,硬件电路原理如图9-6所示。
图9-6电路原理
3、元件选择
(1)复习晶振电路元件及复位电路元件的选择。
(2)LED点阵模块及限流电阻的选择。
选用共阳模块,限流电路R10~R25:
100Ω
(3)扩展芯片选择:
74HC573,上拉电阻R2~R9:
10K。
二、应用程序编写
1、应用程序流程图绘制
该项目要开机后需显示“OK”两个字符。
根据LED点阵扫描显示原理,绘制主程序流程图如图9-7所示。
图9-7
2、程序设计
根据流程图编写程序,参考程序如下:
#include<
unsignedcharcodedzm1[8]=
{0xc3,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xc3};
unsignedcharcodedzm2[8]=
{0x11,0xb7,0xaf,0x9f,0xaf,0xb7,0xbb,0x18};
//OK点阵吗
voiddelay();
//声名延时函数
/*****以下是主函数***********/
unsignedchari,j;
P0=0x00;
//清屏
j=0x01;
//指向第一行
for(i=0;
i<
8;
i++)
P0=j;
//输出行信号
P2=dzm1[i];
//输出相应行点阵码
P3=dzm2[i];
//调用延时函数
j=j<
<
1;
//左移指向下一行
P0=0x00;
老师和同学共同讨论电路构成方案。
老师和同学共讨论设计,在黑板上画出设计图如图9-6。
通过提问或讨论方式由同学进行选择。
。
可考虑用多媒体展示图10-7。
由老师进行讲解。
由老师和同学一起完成程序编写。
1、LED屏显示电路控制电路设计。
2、应用程序设计,关键是程序流程图设计。
自我测评5题、6题。
任务3LED屏显示电路的计算机仿真
LED屏显示电路的计算机仿真
老师演示、学生练习
机房、相关课件
1、LED屏显示电路设计的计算机仿真验证。
2、提高工具软件的使用熟练程度。
3、熟练电路应用程序设计。
2、程序编写与修改。
1、仿真电路运行出错时的修改调试。
1、proteus仿真电路绘制步骤复习。
2、用keil进行程序汇编步骤复习。
3、布置练习作业,学生进行练习并验证电路效果,老师进行指导。
1、我们设计的LED屏显示电路有几行几列?
显示什么字符?
刚才同学们对LED屏显示电路的功能作了叙述,下面就根据上次课进行的电路设计及程序编写,用计算机仿真验证本次项目设计的正确性和运行效果。
一、使用proteus绘制仿真电路图的步骤
对照图9-6进行仿真电路绘制。
图9-6
1、将所需元器件加入到对象选择器窗口
电阻、电容、电解电容、按键、晶振的英文符号分别是“RES”“CAP”“CAP-ELEC”“BUTTON”“CRYSTAL”;
绿色点阵模块的英文符号是“MATRIX-8×
8-GREEN”。
2、放置元器件至图形编辑窗口
3、移动对象和调整对象朝向
4、放置电源及接地符号
5、元器件之间的连线
6、编辑对象的属性设置元件参数
二、使用keil进行程序汇编的步骤
1、源文件的建立
输入完源程序后,保存该文件,注意必