应用电子教案Word格式文档下载.docx
《应用电子教案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《应用电子教案Word格式文档下载.docx(38页珍藏版)》请在冰豆网上搜索。
2月21日
月日
班级(人数)
应电0991(24)
教学目的
【知识目标】使学生掌握单片机的IO口的基本开发方法和技巧
【能力目标】培养学生对汇编语言和C语言的使用能力
【德育目标】培养学生养成基本的编程思路和电子开发方法
教学重点
单个IO口的输入和输出控制
教学难点
IO口的输入和输出控制
教学方法
多媒体课件讲授+实物演示
教具/设备
万用表、单片机开发试验箱、计算机
作业
教学后记
授课教师
年月日
审签
课题二单片机键盘和显示控制
独立按键控制
矩阵按键控制
单个数码管显示控制
3-4
3月7日
【知识目标】使学生掌握单片机键盘和数码管显示的基本开发方法和技巧
单片机对键盘的控制
单片机对数码管显示控制
数码管静态显示控制
数码管动态显示控制
数码管动态译码显示控制
中断控制
5
25
3月21日
【知识目标】使学生掌握单片机动态数码管显示和中断的基本开发方法和技巧
单片机动态数码管显示
外部中断
课题三单片机IIC总线通信控制
IIC总线通信控制基础
单片机控制24C32存储通信
单片机控制24C32读取通信
6
3月28日
【知识目标】使学生掌握单片机IIC总线通信控制的基本开发方法和技巧
课题四单片机高级显示系统控制
单片机控制液晶LCD1602显示
单片机控制液晶LCD12864显示
7
4月4日
【知识目标】使学生掌握单片机对液晶LCD控制的基本开发方法和技巧
课题五单片机AD/DA转换控制
单片机控制AD0809转换
单片机控制AD0832转换
8
4月11日
【知识目标】使学生掌握单片机对AD/DA转换控制的基本开发方法和技巧
课题六单片机课程设计
模拟交通灯控制
篮球计分器控制
9
4月18日
【知识目标】使学生掌握单片机的综合使用能力和技巧
课题七综合复习及考试
10
4月25日
组织教学:
复习理论课讲述的单片机的相关知识,强化实训操作的要求和设备的应用方法,指导学生在实训课中进行必要的练习,并根据设备硬件的特点完成I/O输出实验和实训作业。
讲授新课:
1.通过演示讲授试验箱的模块上各个I/O口的简单操作和学习单片机输出口的输出程序的设计方法。
2.选择了P1口作为I/O口输出,也可以选择CPU的其它I/O口,需要注意的是,如果选择P0口作为输出口时,必需加上拉电阻,(由于P0口内部是漏极开路电路,必须外接上拉电阻才能输出高电平,不过本实验模块已接有上拉电阻)。
3.C程序讲解:
包含的库函数#include<
reg51.h>
intrins.h>
延迟函数
voiddelay(unsignedcharx)
{
unsignedchari;
while(x--)
for(i=0;
i<
250;
i++)
{
_nop_();
}
}
主函数
voidmain()
P2=0;
P1=0;
P3=0;
while
(1)
P0=dat[i++];
//输出
delay(60);
//延迟
if(dat[i]==0)//判断是否为最后一个数据
i=0;
//回到第一个状态
要显示的数据函数
unsignedcharcodedat[]=
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x40,
0x20,0x10,0x08,0x04,0x02,0x01,0x03,0x06,0x0c,
0x18,0x30,0x60,0xc0,0x60,0x30,0x18,0x0c,0x06,
0x03,0x07,0x0e,0x1c,0x38,0x70,0xe0,0x70,0x38,
0x1c,0x0e,0x07,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,
0xf0,0x0f,0xf0,0x0f,0xc0,0x30,0x0c,0x03,0x0c,
0x30,0xc0,0x30,0x0c,0x03,0x0c,0x30,0xc0,0x18,
0x24,0x42,0x81,0x42,0x24,0x18,0x3c,0x66,0xc3,
0x66,0x3c,0x7e,0xe7,0x7e,0xff,0x00
};
实训内容:
1.利用51-52MCU模块的P0口做输出口,实验板上的P0口接有八只
发光二极管不需进行硬件连接,编写一些程序,使发光二极管具有各
种亮法。
2.不用查表法编写程序,使输出效果与实例程序一样。
注意事项:
1.需要计算延时的地方,检查一下选择的是6M晶振还是12M晶振。
2.使用P3口作为I/O口时,不要再定义它的第二功能。
3.调试该程序时,可以灵活使用单步、断点和变量观察等方法,来观察程序执行的流程和各中间变量的值。
巡回指导:
1.
2.
布置作业:
1.如何改变程序使发光二极管改变亮法?
2.如何不用查表法编写程序,使输出效果与上面实例程序一样?
复习理论课讲述的单片机的相关知识,强化实训操作的要求和设备的应用方法,指导学生在实训课中进行必要的练习,并根据设备硬件的特点完成I/O输入实验和实训作业。
1.通过实验应掌握利用07(键盘)模块对01(51-52MCU)模块上各个I/O口进行简单控制。
2.选择了P3口作为I/O口输入,也可以选择CPU的其它I/O口,方法同上,但是选择P1口作为输入口时,必须先对它置“1”,若不先置“1”读入的数据是不正确的。
当然,也可以同时选择好几个口,只要改变硬件连接和程序即可。
主函数
P1=0;
while
(1)
ACC=P3;
//读取按键值
P0=ACC;
//输出按键值
4.分析电路的结构和特点
1.在实验中用P1口做输入时,若不先向P1口写人“1”而直接读取引脚,会出现什么现象?
2.如何利用改变硬件的连接和改动程序使输入口进行变换?
复习理论课讲述的单片机的相关知识,强化实训操作的要求和设备的应用方法,指导学生在实训课中进行必要的练习,并根据设备硬件的特点完成外部中断实验和实训作业。
1.通过实验掌握对01(51-52MCU)模块的外部中断的使用及相关编程。
2.利用51-52MCU模块提供的外部中断和07(键盘)模块的按键,编写程序,让P0口外接的发光二极管循环点亮,当键盘模块按键S1按下使P0口输出发生变化,使之闪烁5次,之后又恢复原来状态。
中断服务程序:
voidinterrupt0(void)interrupt0using0
unsignedcharj;
for(j=0;
j<
5;
j++)//循环5次
P0=0xff;
//全亮
delay(100);
//延迟
P0=0;
//全灭
//延迟
e=1;
voidmain(void)
IT0=1;
//下降沿触发
EX0=1;
//使能外中断0
EA=1;
//总中断使能
//装入
8;
P0=e;
e=e<
<
1;
//左移移位
1.练习中也可以使用外部中断1,或者同时使用2个外部中断,这时要注意2个中断的优先级别。
2.按键时,往往会有抖动,就需要进行去抖处理。
软件方法:
进入中断时,程序中采用延时以躲过抖动(大约20—30ms即可)。
硬件方法:
可以采用去抖动电路消除抖动(如触发器等)。
2.使用P3.2(INTO)或P3.3(INT1)时,程序中就不要再使用P3.2和P3.3作为I/O口了。
1.若在实验中采用中断INT1,应如何修改实验程序?
2.用中断扩展专用芯片如何扩展多级中断?
如扩展4个外部中断?
(提示:
利用与门74LS21)。
复习理论课讲述的单片机的相关知识,强化实训操作的要求和设备的应用方法,指导学生在实训课中进行必要的练习,并根据设备硬件的特点完成定时中断实验和实训作业。
1.通过实验应掌握01(51-52MCU)模块上的单片机的内部定时器T0的使用和编程方法,进一步掌握中断处理程序的编程。
2.利用51-52MCU模块的P1.1做输出口,外接示波器,编写程序,使P1.1口输出不同频率的方波。
定时器初始化程序:
VoidinitTimer(void)
TMOD=0x0;
//设置定时器的工作方式0
TH0=0x63;
//装入计数初值高八位TL0=0x18;
//装入计数初值低八位TR0=1;
//启动T0
ET0=1;
//允许T0中断
//总中断允许
中断服务程序:
voidtimer0(void)interrupt1
//重装计数初值高八位TL0=0x18;
//重装计数初值低八位P1_1=!
P1_1;
//输出
initTimer();
//设置中断函数
while
(1);
//等待中断
1.采用定时器T0的方式0:
使用6MHZ晶振,在P1.1上输出一个周期为20ms的方波,12M时输出周期为10ms的方波。
2.采用定时器T0的方式1:
使用6MHZ晶振,在P1.1上输出一个周期为40ms的方波,12M时输出周期为20ms的方波。
3.采用定时器T0的方式2:
使用6MHZ晶振,在P1.1上输出一个周期为400us的方波,12M时输出周期为200us的方波。
4.使用定时器T1,这时你要注意定时器的控制寄存器,要作相应的设置。
如果使用的MCU是AT89S52的话,其内部多了一个定时器TIMER2,具体设置可以查一下相关资料。
2.实验中是如何实现定时时间的扩展的?
能否实现更长时间的扩展?
复习本周所讲述的课题内容,强化实训操作的要求和设备的应用方法,并根据设备硬件的特点和本周课程提出实训作业,并对作业进行评价,作为本周课题成绩。
1.通过实验应掌握01(51-52MCU)模块上的单片机的内部定时器T1的使用和编程方法,进一步掌握中断处理程序的编程。
2.利用51-52MCU模块的P1.7做输出口,外接示波器,编写程序,使P1.7口输出不同频率的方波。
3.分析电路的结构和特点
4.C程序讲解:
参考定时器初始化程序:
1.采用定时器T1的方式0:
使用6MHZ晶振,在P1.7上输出一个周期为20ms的方波,12M时输出周期为10ms的方波。
2.采用定时器T1的方式1:
使用6MHZ晶振,在P1.7上输出一个周期为40ms的方波,12M时输出周期为20ms的方波。
3.采用定时器T1的方式2:
使用6MHZ晶振,在P1.7上输出一个周期为400us的方波,12M时输出周期为200us的方波。
1.要求学生以组为单位完成实训内容,时间为3小时。
2.对所有完成的情况做点评,指出学生练习中存在的问题。
复习理论课讲述的单片机的相关知识,强化实训操作的要求和设备的应用方法,指导学生在实训课中进行必要的练习,并根据设备硬件的特点完成模块编制不同电子音调的程序实验和实训作业。
1.通过实验应掌握利用07(键盘)模块对01(51-52MCU)模块上各个I/O口进行简单控制。
利用51-52MCU模块上的P1.0口通过外接放大电路,用扬声器来发声。
用线将51-52MCU模块的P1.0口和放大电路连接。
连接完后将做实验用到的实验模块的电源打开。
通过下载线将编好的程序生成HEX文件下载到CPU里了。
3.音乐播放程序讲解:
CPU();
{SINGING(a1,b1);
stop();
SINGING(a2,b2);
stop();
SINGING(a3,b3);
播放函数
voidSINGING(unsignedchar*a,unsignedchar*b)
unsignedchartime;
unsignedcharx1,x2;
for(i=0;
a[i]!
=0;
{x1=*(a+i);
time=x1&
0x0f;
x1>
>
=4;
x1=x1&
if(x1!
=0)
{x1--;
x2=x1<
TH0=*(b+x2);
y1=*(b+x2);
TL0=*(b+x2+1);
y2=*(b+x2+1);
TR0=1;
else
TR0=0;
continue;
delay(time);
停止播放函数
voidstop(void)
P13=0;
P2=m;
e1=0xff;
e2=0xfe;
n=1;
delay(30);
//30一圈60两圈
e1=0xfe;
n=0;
voidCPU(void)
{TMOD=0x1;
IE=0x82;
P13=0;
K=1;
f=0;
中断函数
voidtim0(void)interrupt1using1
P13=!
P1