《单片机技术应用 教案(机工)1-1控制单个发光二极管的亮与灭---8-2 波形发生器的制作.docx》由会员分享,可在线阅读,更多相关《单片机技术应用 教案(机工)1-1控制单个发光二极管的亮与灭---8-2 波形发生器的制作.docx(246页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机应用技术电子教案授课对象二年级第一学期的机电类专业学生授课日期第1次课教材单片机应用技术出版社机械工业出版社授课课题控制单个发光二极管的亮与灭课时安排2课时教学目标1 .知识:掌握如何用单片机控制单个发光二极管的亮与灭。2 .技能:学会用编程软件编写程序,绘图软件绘制原理图并调试成功。3 .情感:培养学生分析问题、解决问题的能力,培养学生查询资料的能力和团结协作的意识。教学重点用单片机控制单个发光二极管的亮与灭教学难点学习赋值语句在单片机编程中的运用课型新授课教学方法工程教学法教学场景机房教学用具多媒体设备、电脑教学过程教学环节教学步骤与内容教学组织 形式(全体 讲授、分组 讲授等)教学
2、 时间导入新课复习通过前面的学习,我们已经了解了单片机的结构以及 单片机I/O 口的分布情况,也对编程软件和仿真软件有了一定 的掌握,下面我们引入一个现实的例子来学习如何控制一位发 光二极管的亮或者灭。引入新课。全体讲授10新课学习【任务描述】硬件通电或复位后,P1.0管脚控制的发光二极管点亮或熄 火。1 .假设循环体只有一句语句,大括号可以省略,假设循环体大于 一句语句,必须要用大括号将其括起来。2 .循环体中要启改变判别式变量,使判别式走向不成立的操 作语句,否那么容易造成死循环。二、函数的定义与调用编写程序的时候,常常会出现功能一样或者重复的程序段, 将这些程序段“封装”起来,并给它们分
3、类起名,当有需要的 时候就调用它们,这就是程序中的函数。1 .函数的定义函数定义是把函数的类型、名字、参数、函数体等信息告 诉编译系统,在函数调用时系统将会对相应的信息进行调用和 计算,定义格式如下:函数类型 函数名(形式参数表);( 局部变量定义函数体例子A:定义一个函数,求两个整数的和int mun(int x,int y)定义了一个名为mun()的函数,该函数类型为整型,看两 个个整型参数x, yo inti;/局部变量i=x+y;函数体return i;)2 .函数的调用在C语言编程中,函数功能的执行是通过函数的调用来实 现的,调用的格式如下:函数名(实参列表);例子B:调用例子A的函
4、数,对式子66+88+23=进行 求和,存于变量S中。void main()int a=66,b=88,c=23, S;S=mun(a, b);S=mun(c, S);1.8X8LED点阵的结构示意图如图5-2o图5-2 8X8LED点阵的内部结构图从图中可以看出,8X8LED点阵共由64个发光二极管组成, 每个发光二极管是放置在行线和列线的交叉点上,当对应的某 一行置1高电平,且某一列置。低电平,那么相应的发光二极管 就点亮;因此要用8X8LED点阵来显示一个字符或汉字,只需 要根据字符或汉字图形中的线条或笔画,通过点亮多个相应发 光二极管就可以了。但这要通过取模软件来完成,取出字符或 汉字
5、需要显示线条或笔画的字模,然后由单片机控制输出驱动 显示,如上任务。但是要比拟完美的显示汉字信息或图形,单个8X8LED 点阵模块很难做到,因为LED的点数(也称为象数)不够,因 此要显示信息量大的汉字或图形,需要n多个8X8LED点阵合 拼成一个大的显示屏才行。2.8X8LED点阵的封装和引脚64个发光二极管按照行共阳、列共阴8个一组的方式封 装成一个模块,这样就有8行、8列共16个引脚。其实物图 如图5-3和电路模块符号图如图5-4o16 15 14 13 12 11 10 91 2 3 4 5 6 7 8图5-3 8X8LED点阵实物图 图5-4 8X8LED点阵符号图 但8X8LED点
6、阵的引脚并不是很有规律,千万不要想象成1 8个引脚是行,916引脚是列。而且不同厂家产品的点阵外 部引脚排列规律还可能不一样。以下是常见的8X8LED点阵引 脚对应行、列的关系表:表5-2 8X8LED点阵模块引脚行号H0H1H2H3H4H5H6H7引脚号9148121725列号L0L1L2L3L4L5L6L7引脚 号1334106111516如你买到一块新的8X8LED点阵,可以用万用表先按表中 引脚进行检测,不同时可按型号上网查找相关资料。课堂 小结本节课重点任务是了解8x8LED点阵结构和控制原理,学会使用 8x8LED点阵显示简单。全体讲 授5课后 作业复习8x8LED点阵结构和控制原
7、理,完成相应练习题独立完 成5教学利用工程教学,学生有明确的学习目标,根据任务完成情况及时检验学习效果。 后记单片机应用技术电子教案授课对象二年级第一学期的机电类专业学生授课日期第17课教材单片机应用技术出版社机械工业出版社授课课题控制RT1602液晶屏显示课时安排2课时教学目标L知识:掌握如何用单片机控制RT1602液晶屏显示。2 .技能:学会用编程软件编写程序,绘图软件绘制原理图并调试成功。3 .情感:培养学生分析问题、解决问题的能力,培养学生查询资料的能力和团结协作的意识。教学重点用单片机实现控制RT1602液晶屏显示教学难点RT1602液晶屏控制原理课型新授课教学方法工程教学法教学场景
8、机房教学用具多媒体设备、电脑教学过程教学环节教学步骤与内容教学组 织形式 (全体讲授、分 组讲授 等)教 学 时 间导入新课前面我们已经学习了学习了 8x8LED点阵显示控制,如果换成RT1602液晶显 示器,如何实现呢?引入新课。全体讲 授10新课学习通过单片机控制RT1602液晶屏实现字符串和实时时钟显示。【任务分析】1 .点按KI,用于设定调节“时、分、秒”时间功能和停止、开始计 时功能。2 .点按K2,用于调节“时、分、秒”加1功能。3 .点按K3,用于调节“时、分、秒”减1功能。4 . P0 口为数据输出端直接连接液晶屏的数据端口,P2. 0和P2. 1连 接液晶屏的RS和E端。【任
9、务实施】根据任务分析,设计出硬件电路图,在Proteus上进行绘制,然后在Keil 软件中采用C语言对单片机进行编程,使用Proteus进行仿真和调试 活动1绘制电路原理图单片机控制RT1602液晶屏实现时钟显示的电路设计如图5-5所示。 电路中KI、K2、K3分别连接P3.0、P3. 1、P3. 2作为控制按钮,用于调 节时间。P0 口输出端直接连接液晶屏的数据端DOD7。P2.0、P2.1接 RS和E端。XT 人L 1XTZKL2RWTFQ C M AA.e0/1/234 0 67O/XKO 1/AOQ 2 ZXK 1 O 1Q 2 W/K 1 NPN O/K1 3P2 G/K1-1PN/
10、7/人 1。F3 O/XDF3 1/TXOR9.245ZSF31 1P3/TOF3 *VT1 户 O .O/VV3QIN3c067 o/INaclor 00000000 qq.fppqpf全体讲 授、教师 演示、上 机实训60图5-5控制RT1602液晶屏显示本任务单片机控制RT1602液晶屏显示功能是:第一行显示字符串 “The time is: ;第二行实时时钟显示,用开关KI、K2、K3进行当前时间调节。方法:点按K1用来设定调秒、分、 时,通过K2或K3进行加1或减1的数字变化,调完后最后点按K1重 新开始计时。图5-2所示电路图中的元器件参数见表5-6表5-6图5-6所示电路图中的元
11、器件参数XJC2RP1持阻10KQ3LCD1LM016L16024srss按键活动2编写程序文件单片机控制RT1602液晶屏实现时钟显示的C语言程序如下: #include #define uint unsigned int ftdefine uchar unsigned char uchar code dat 口=“0123456789 ; /09 数字uchar code str12 = ,The time is:“; /字符串uchar code mo = ,:; 冒号 sbit kl=P3 0;sbit k2=P3;sbit k3=P3八2;sbit RS=P2P;sbit E=P21
12、;uchar t, s;char shi,fen, miao;void delay (uint i)while(i一);void wrc (uchar com)写指令(delay (2); 延时RS=O; /RS = O 写指令P0=com;E=1;delay (2);E=0;void wrd (uchar d)写数据delay (2); 延时RS=1; RS=1 写数据P0=d;E=1;delay(2);E=0;void init (void) 初始化/*常数定义*/(wrc (0x38); 写显示2行指令wrc(OxOc); 写开显示指令wrc (0x06); 写右移指令wrc (0x01
13、); 写清屏指令)void xianshiO (uchar x, y, shu) 显示 1 个字符(位置,行,数if (y=l)x=x+0x40; 第2行+0x40,第1行挑过x=x+0x80; 0x80为第0位地址wrc (x) ; /写地址wrd (shu) ; / 写数据void xianshi2 (uchar x, y, n, uchar *chan)显示字符串位置,行,个数,字符串uchar i;if (y=l)x=x+0x40; 第2行+0x40,第1行挑过x=x+0x80; 0x80为第0位地址for (i=0; iXTAL1ZTAL2RST PSENPl 0P11PI 2PI
14、3PI 4PI 5PI 6PI 7AT89C51仿真中cs为低电平有效实际是高电平有效因此取反P2 0/A8P21/A9P2 2M10P2 3IA11P2 4XA12P2 5JA13P2 6XA14P2 7JA15P3WRXD P31OXDP3 2n7而P3 3flNTTP3 4H-0P3 5H-1P36A P3 7/RD图5-8控制128X64液晶屏显示图5-8所示电路图中的元器件参数见表5-9表5-9图5-8所示电路图中的元器件参数- 1UIAT89C522RP1排阻10KQ3LCD1LM012864128644SPSS按健活动2编写程序文件单片机控制12864液晶屏显示“欢迎使用”的C语
15、言程序如下:ttincludc reg51.h#define uint unsigned int#define uchar unsigned char/*12864引脚及常数定义*/sbit rs=P2 7; /* rs = l 与数据,rs = O 与指令 */sbit rw=P26; /* rw=l 读,rw=O 写 */sbit e=P25; /*读,写使能,高电平有效,1-0下沿锁定数据*/sbit csl=P2-4; /*左屏片选,高电平有效*/sbit cs2=P2-3; /*右屏片选,高电平有效*/# define on 0x3f /* 开显示命令 */ttdefine x 0x
16、b8 /* x 地址(0 页)*/# define y 0x40 /* y 地址(0 列)*/# define z OxcO /* Z地址(0行开始显示)*/uchar code zimo32=/汉字字模表/汉字库:宋体16X16纵向取模下高位,数据排列:从左到右从上到下/*一文字:欢一*/0x14, 0x24, 0x44, 0x84, 0x64, OxlC, 0x20, 0x18, OxOF,0xE8,0x08,0x08,0x28,0x18,0x08, 0x0,0x20, 0x10, 0x4C, 0x43, 0x43, 0x2C, 0x20, 0x10, OxOC, 0x03, 0x06,
17、0x18, 0x30, 0x60,0x20, 0x0,/*一文字:迎一*/0x40, 0x41, OxCE, 0x04, 0x00, OxFC, 0x04, 0x02, 0x02, OxFC, 0x04, 0x04, 0x04, OxFC,0x00, 0x0,0x40, 0x20, OxlF, 0x20, 0x40, 0x47, 0x42, 0x41, 0x40, 0x5F, 0x40, 0x42, 0x44, 0x43,0x40, 0x0,/*一文字:使-*/0x40, 0x20, OxFO, OxlC, 0x07, 0xF2, 0x94, 0x94, 0x94, OxFF, 0x94, 0
18、x94, 0x94, 0xF4,0x04, 0x0,0x00, 0x00, 0x7F, 0x00, 0x40, 0x41, 0x22, 0x14, OxOC, 0x13, 0x10, 0x30, 0x20, 0x61,0x20, 0x0,/*一文字:用-*/0x00, 0x00, 0x00, OxFE, 0x22, 0x22, 0x22, 0x22, OxFE, 0x22, 0x22,0x22, 0x22,OxFE,0x00, 0x0,0x80, 0x40, 0x30, OxOF, 0x02, 0x02, 0x02, 0x02, OxFF, 0x02, 0x02, 0x42, 0x82, 0x
19、7F,0x00, 0x0,;void delay(uint i) 延时(while(i-);void wrc (uchar com) /*写命令 参数:com为要发送的命令*/delay (3); 忙等待(因ISIS仿真LCD没有忙信号)rs=0; rw=0; /rs=0 , rw=0 写命令P0=com; 送出命令,e=l; e=0; 1-0使之有效void wrd (uchar d) /*写数据 参数:d为要发送的数据*/delay;忙等待(因ISIS仿真LCD没有忙信号)rs=l ;rw=0; /rs=l , rw=0 写数据教学环节教学步骤与内容教学组织 形式(全体 讲授、分组 讲授等
20、)教学 时间我们已经学习了如何通过单片机控制一位发光二极管的闪导入新课导入新课烁,如果要实现用单片机控制多盏发光二极管的闪烁,该如何全体讲授10闪烁。新课学习那么称之为共阴极接法,单片机输出1点亮LED灯。工作原理:当单片机引脚输出1时(约5伏),LED灯两端电势相同,全体讲授、 教师演示、 上机实训60实现的呢?今天这节课我们就来学习一下!【任务描述】硬件通电或复位后,P1.0管脚控制LED灯实现亮和灭交替【任务分析】通过I/O 口赋值,对P0 口上的八根引脚同时进行高低电平 的控制,控制引脚上的LED灯交替闪烁。【任务实施】根据任务分析,设计出硬件电路图,在Proteus上进行绘 制,然后
21、在Keil软件中采用C语言对单片机进行编程,使用Proteus进行仿真和调试。活动1绘制电路原理图如图1-5所示,LED0至LED7 一端通过总线接至P2 口的P2.0至P2.7弓I脚,另一端接5伏电源,这种接法叫做共阳极接法,单片机输出。点亮LED灯;假设LED灯的另一端一起接地,无电流流过,故熄灭;当单片机引脚输出。时(约。伏),LED 灯两端有一个正向导通的5伏电压,LED灯点亮。其中,与LEDAT89C51XTAL1XTAL2RSTPO.O/CO PO.I/ZOI P0.2/0 P0.3/AB P0.4/XO4 P0.5/O5 P0.6/ZC6 P0.7/O7P2.0/X8n.iMP2
22、.2/A10P$ENP2.3/A11ALEP2.4/A12氏P2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/DPI.2P3.2/IN1DPI.3P3.3/1MHPI.4P3.4/1DPl.6P3.5mPI.6P3.6ATVRP1.7P3.7 而堂PO=d; 送出数据e=l; e=0; 1-0使之有效void clr() 初始化清屏函数uchar i, j;wrc (on); 开显示csl=cs2=l; 同时选中左右屏for(j=0; j8; j+) 共 8 页wrc (x+j); /光标到i页wrc (y); 光标到0列wrc (z); 光标到0行fo
23、r (i=0; i64; i+) 共 64 列wrd (0x00); 写0x00数字清屏)void shi (uchar H, L, zi, n, uchar *ma)显示:页,歹!J,字体,字数,字模地址uchar i, j, m;for (m=0;mn;m+) 字个数 n(for (j=0 ;j2;j+) /一个字占 2 页wrc (x+H+j) ;/写起始页+ j页wrc(y+L+zi*m); 写起始列+ 一个占的列数(zi*r)for (i=0; izi; i+) 一个字的列数wrd (*ma+);取各个字模(写入字码数据)void xian() /显示函数csl=l;cs2=0;cs
24、l=l;cs2=0;选择左半屏shi (3, 32, 16, 2, zimo0); 从第3页32列取zimo第0个字开始2个字,显示欢迎csl=0;cs2=l;csl=0;cs2=l;选择右半屏shi (3, 0, 16, 2,zimo2); 从第3页0列取zimo第2个字开始2个字,显示使用void main ()主函数clrO; 初始化清屏xian() ;/ 显示while(l); 等待)活动3仿真运行编写好程序文件后,生成hex文件,在Proteus的单片机中加载该 hex文件,运行后,观察液晶屏的显示情况。【知识链接】一、12864LCD液晶显示器1602LCD液晶显示器只能显示数字、字符和少量自定义的简易图形, 这在一些复杂的应用场合不能满足要求。而12864LCD液晶显示器上可 以显示字符、汉字、自定义图形等,显示灵活,控制方便,应用更广。 12864LCD液晶显示器分为自带字库和不带字库两种。这里介绍的是不 带自库的12864LCD液晶显示器。1. 12