




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山市技师学院
中山市高级技工学校
2008-2009学年度第2学期
文化理论课
备课本
班级________07电子52_________
科目单片机C语言应用程序设计
任课教师杜玲安
教研室电子教研室
系(处)电气应用系
学期授课计划说明
本课程教学目标:
本课程采用项目教学法,把整本书类容分为9个模块,每个模块中需要教材的内容
时就穿插教材内容进去,边做边学,边写边做,力图让学生学得更清楚、更明白、更主动、更
有兴趣,让学生通过一学期的学习,能自己设计一些简单的程序。
《单片机C语言应用程序设计》(第4版)
教材名称、版本、编著者
本学期课时分配
本木
已尚
课学总其中
授余
程期课
总课课教
时讲授习题实验测验复习
课时时学
课时课时课时课时课时
时周
136013617136329626
教学进度表
周习题
-Hj,测验
总(作业、
周或教学内容(实验)
课讲授)
次单课时
时课时
元
(1)51单片机结构(2)数据与数据类型(3)常量
1、LED流与变量(4)数据存储结构与类型(5)keilc和80
18
水灯显示proteaus应用软件使用(6)函数的定义和编写(7)
程序固定格式和编写规范(8)LED流水灯设计指引
1、LED流
(1)LED流水灯程序编写实操
28
水灯显示08
2、静态数(1)静态数码管显示程序设计指引(2)静态数码
3码管显管显示程序程序编写实操826
3、动态数(1)动态数码管显示程序设计指引(2)动态数码
4码管显示管显示程序编写实操826
3、动态数(1)动态数码管显示程序编写实操(2)数组(3)
5码管显示利用数组形式实现的动态数码管显示程序编写实操826
3、动态数(1)指针(2)利用指针形式实现的动态数码管显
6码管显示示程序编写实操(3)结构(4)利用结构形式实现844
的动态数码管显示程序编写实操
4、用延时(1)设计指引(2)用延时的方法做时钟的程序编
7的方法做写实操826
时钟
5、用定时(1)中断原理介绍(2)中断实操(3)定时器
器的方法原理讲解(4)定时器应用实操44
88
做时钟模
块
5、用定时(1)用定时器的方法做时钟的程序编写实操
器的方法08
98
做时钟模
块
(1)按键扫描设计指引
106、按键扫(2)按键扫描程序编写实操826
描
.aie.
早
周习题
节测验
总(作业、
周或教学内容(实验)
课讲授)
次单课时
时课时
元
11实习实习
12实习实习
7、按键处(1)按键处理设计指引26
13理(2)按键处理程序编写实操8
7、按键处(1)按键处理程序编写实操08
14理8
8、简单计(1)计算器原理介绍(2)简单计算器程序编写实
15算器操826
8、简单计(1)简单计算器程序编写实操
16算器808
8、简单计(1)简单计算器程序编写实操
17算器808
18实习实习
9、ADC0832(1)ADC0832模块原理介绍(2)ADC0832模块程序
19模块编写实操826
10、复习考
20试复习考试862
审阅签名:年月日
第1周星期・第5/6节200”F2月16日
课题单片机引脚定义、单片机数据与数据类型授课方式
教学
1、熟悉单片机引脚定义及应用
讲授
2、熟悉单片机数据与数据类型
目的
教
币;用数据与数据类型
学
内
难点51单片机结构
容
分
教具课时2
析
一、组织教学:
清点人数。
二、引入新课
(1)介绍市场单片机的应用
(2)介绍上学期毕业设计情况,通过毕业设计,引起学生对单片机的认识,激发学
生的兴趣。
二、讲授新课
1、单片机结构:
1)引脚:
U1
1939
>XTAL1PO.O/ADO
PO.1/AD1
P0.2/AD2
1836
XTAL2P0.3/AD3
35
P0.4/AD4
P0.5/AD5
P0.6/AD6
RSTP0.7/AD7
21
P2.0/A8
P2.1/A9五
P2.2/A10至
2924
PSEN-P2.3/A11
3025
37ALEP2.4/A12
EAP2.5/A13
27
P2.6/A14
28
P2.7/A15
P110
P1P3.0/RXD五
P1P3.1/TXD五
P1P3.2旭叵
P3.3/1NT1亘
P114
P1P3.4/T0
P1P3.5/T1运
P1正
P3.7W~
AT89C51
<TEXT>
2)结构:
1)XTAL1,XTAL2:晶振,最大32MHz,接两个电容30P以下
2)RST:高电平复位
3)P0.P1.P2,P3,P4□:P0口没上拉电阻,其他都有
4)Psen:片选
5)Ale:地址信号
6)三、课堂总结:a:外部rom选择
7)VCC,GND:VCC=4~5.5V
3、RAM的划分:
审阅签名:年月日
第1周星期三第1/2节2009年2月18日
课题常量与变量、数据存储结构与类型授课方式
教学
1、掌握常量与变量定义
讲授
2、掌握数据存储结构与类型
目的
教
币;用常量与变量、数据存储结构与类型
学
内
难点数据存储结构与类型
容
分
教具课时2
析
一、组织教学
清点人数。
二、复习旧课,引入新课
(1)复习51单片机结构
(2)复习数据与数据类型
三、讲授新课
1、常量与变量:
(1)常量定义:程序运行过程中不能改变的量就是常量。如:
i.数据常量100、4
ii.字符常量:‘a','A','T
iii.字符串常量:“中山技校”“中国”
(2)变量:程序运行过程中可以改变的量就是变量。
例子:
#defineCONST10
main()
(
unsignedvaries;
var=20;
vai^var+1;
res=var*CONST;
)
2、数据存储结构与类型:
(1)存储结构:P59图3-5
(2)存储类型:
(3)存储结构与存储类型的对应关系:P61表3-2
教4、数据与数据类型:
学
P59页图3-1C51的数据结构
过
程三、课堂小结:
(1)51单片机结构(2)数据与数据类型
t\
由
收
彳
苗
V
»-
作
业
布
置
课
后
复杂问题简单化,学生会比较容易接受
分
析
审阅签名:年月日
第1周星期四第5/6节2009年2月19日
课题Keilc应用软件和proteaus应用软件的使用授课方式
教学
1、掌握keilc和proteaus应用软件使用
讲授
2、掌握keilc和proteaus之间的联调
目的
教
币;用Keilc应用软件和proteaus应用软件
学
内
难点keilc和proteaus之间的联调
容
分
教具课时2
析
一、组织教学
清点人数。
二、复习旧课,引入新课
三、讲授新课
1、Kei1c应用软件的使用:
(1)新建项目
FileEditViewProjectDebugPeripheralsToolsSVCSWindowHelp
NewProject...
ImportBVision】Project...
OpenProject
CloseProject
FileExtensions,BooksandEnvironment
Targets3Groups,Files...
SelectDeviceforTarget,Target1'
RemoveItem
OptionsforTarget'TargetV
ClearGroupandFileOptions
|:X|Buildtarget
[S|Rebuildalltargetfiles
演TranslateD”工作目录\04电子51班毕业论文*马伟强"寻轨
差jStopbuild
1D:\工作目录\04电子51班毕业论文,冯伟强'寻轨车\bus.V
2C:\DocumentsandSettings'Administrator'桌面'寻轨工
■
(2)project名称:
CreateHevProjectf?|[X|
保存在d):<5=SCj'圈,
文件名®:|二D模块保存⑤)
保存类型①:|?rojectFiles(♦.uv2)二J取消
2、数据存储结构与类型:
(4)存储结构:P59图3-5
(5)存储类型:
(6)存储结构与存储类型的对应关系:P61表3-2
(3)cpu选择:
教
学
过
程
书
收
(4)新建*.C文件:
V
(5)加入C文件:
审阅签名:年月日
第1周星期五第1/2节2009年2月20日
课题函数的定义和编写、程序固定格式和编写规范授课方式
教学1、掌握函数的定义和编写
2、掌握程序固定格式和编写规范讲授
目的
教
币;用1、代码书写规范、2注释书写规范、3命名规范
学
内
难点函数的定义和编写
容
分
教具课时2
析
一、组织教学
清点人数。
二、复习旧课,引入新课
三、讲授新课
1代码书写规范
1.1缩进的设置
代码书写应该遵从结构化的要求,采用缩进的格式。最小缩进量为4个空格,
整个文件内部应该统一,不要混用Tab键和4个空格这两种情况,因为不同的编辑器对
Tab键的处理方法不同。
1.2嵌套语句(语句块)的格式
对于嵌套式的语句--即语句块(如,if、while、switch等)应该包括在花
括号中。花括号的左括号应该单独占一行,并与关键字对齐。建议即使语句块中只有一
条语句,也应该使用花括号包括,这样可以使程序结构更清晰,也可以避免出错。建议
对比较长的块,在末尾的花括号后加上注释以表明该语言块结束。
范例1:嵌套语句格式
if(value<max)
(
if(value!=0)
(
func(value);
)
}
else
{
error(nThevalueistoobig.n);
}/*if(value<max)*/
2注释书写规范
注释必须做到清晰,准确地描述内容。对于程序中复杂的部分必须有注释加以说明。
注释量要适中,过多或过少都易导致阅读困难。
2.1注释风格
・C语言中使用一组(/*…*/)作为注释界定符。
・注释内容尽量用英语方式表述。
・注释的基本样式参考范例4。
・注释应该出现在要说明的内容之前,而不应该出现在其后。
・除了说明变量的用途和语言块末尾使用的注释,尽量不使用行末的注释方
式。
范例4:几种注释样式
/*
*强调注释
教*/
学/*
*块注释
过*/
程/*单行注释*/
inti;/*行末注释*/
2.2何时需要注释
•如果变量的名字不能完全说明其用途,应该使用注释加以说明。
由・如果为了提高性能而使某些代码变得难懂,应该使用注释加以说明。
收・对于一个比较长的程序段落,应该加注释予以说明。如果设计文档中有流
彳程图,则程序中对应的位置应该加注释予以说明。
苗•如果程序中使用了某个复杂的算法,建议注明其出处。
・如果在调试中发现某段落容易出现错误,应该注明。
V
3命名规范
3.1常量、变量命名
用#define定义的符号常量全部采用大写。
变量命名的基本原则:
・可以选择有意义的英文(小写字母)组成变量名,使人看到该变量就能大
致清楚其含义。
•不要使用人名、地名和汉语拼音。
・如果使用缩写,应该使用那些约定俗成的,而不是自己编造的。
4函数:
4.1函数的定义:为了实现某一功能的小模块,或小程序。函数也叫子程序。
任何一个程序必须有main()函数。
4.2函数分类:
1)标准库函数:用#include包含进去,在C:\Keil\C51\INC里面
2)用户自定义函数:
A.无参数函数:
例:
voidDisplayLed()
{
Pl=0x01;
}
B.有参数函数:
a)有参数入,无参数出:
如:voidDisplayLed(unsignedcharn)
(
Pl=n;
)
/*调用时*/
DisplayLed(OxOl);
b)无参数入,有参数出:
如:unsignedcharadd()
(
unsignedcharres;
res=100+50;
returnres;
)
c)有参数入,有参数出:
如:unsignedcharadd(unsignedcharx,unsignedchary)
{
unsignedcharres;
res=x+y;
returnres;
)
tt=add(100,50);
4.3函数命名方法:动名式,如DisplayLed。,或下划线式display_1ed()
四、课堂小结:
1、代码书写规范、
2、注释书写规范、
3、命名规范
4、函数的定义和编写
作
业
C语言常用英文注解
布
置
课
后
编程规范较多,学生不太愿意记,只能通过以后多练才行
分
析
审阅签名:年月日
第2周星期共8节2009年2月23-27日
课题LED流水灯程序编写实操授课方式
教学1、学会画proteaus图
2、掌握程序的固定格式实操
目的3、学会编程控制LED
教
重点掌握程序的固定格式
学
内
难点学会编程控制LED
容
分
教具课时8
析
一组织教学(2分钟)
1.清点人数,稳定学生情绪
2.提出上课要求
二实验设计
1、画电路图:
U1「
19
P0.1/AD1bfT
P0.2/AD2
18XTAL2P0.3/AD3
P0.4/AM
P0.6/AD5
P0.6/AC6FIB
RSTP0.7/AD7
P2.0//«a
P2.W阳
P2.2/A10
丸浸
PSENP2.3/A11
30
ALEP2.4/A1225
31EA26
P2.5/A1327
P2.6/A1428
P2.7/A15
,
1L1O令
P1.0P3.0/RXD
P1.1P3.1/TXDL1T1.
3.
P1.2P3.2ZINTO.
P1.3P3.3/INT1B.
P1.4P3.4ZT0.
6
P1.5P3.57T1.
7__
P1.6P3.6/WRH!.
_8_P1.7P3.7/RD
AT89C51
<TEXT>
2、程序编写:
#include”reg51.h”
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
voiddelayMs(uintx);
voidsxLed(void);
voidmain()
(
while(l)
(
sxLed();
}
审阅签名:年月日
/*voidsxLed(void)
(
P2=0x01;//00000001
delayMs(200);
P2=0x02;//00000010
教delayMs(200);
P2=0x04;//00000100
学delayMs(200);
P2=0x08;//00001000
过delayMs(200);
P2=0xl0;//00010000
程delayMs(200);
P2=0x20;//00100000
delayMs(200);
P2=0x40;//01000000
delayMs(200);
由P2=0x80;//10000000
叔delayMs(200);
P2=0x80;//00000001
delayMs(200);
P2=0x40;//00000010
delayMs(200);
,P2=0x20;//00000100
delayMs(200);
P2=0xl0;//00001000
delayMs(200);
P2=0x08;//00010000
delayMs(200);
P2=0x04;//00100000
delayMs(200);
P2=0x02;//01000000
delayMs(200);
P2=0x01;//l0000000
delayMs(200);
}*/
voidsxled(void)
uchari,buf;
buf=OxO1;
for(i=0;i<8;i++)
(
P2=buf;
delayMs(200);
buf=buf«l;
)
buf=0x80;
for(i=0;i<8;i++)
{
P2=buf;
buf=buf»l;
delayMs(200);
)
}
voiddelayMs(uintx)
(
uchari;
while(x-)
(
for(i=0;i<250;i++)
(
_nop_();//4us*250=lms
_nop_();
_nop_();
_nop_();
)
)
}
作
业
C语言编程规范
布
置
课
后
刚开始写程序,学生无从下手,并且英文基础太差
分
析
审阅签名:年月日
第3周星期共8节2009年3月2-6日
课题静态数码管显示授课方式
静态数码管显示程序设计指引
教学(1)
(2)静态数码管显示程序编写实操
目的
讲授、实操
教
重点静态数码管显示程序设计
学
内
难点静态数码管显示程序程序编写实操
容
分
教具课时8
析
一组织教学(2分钟)
3.清点人数,稳定学生情绪
4.提出上课要求
二实验设计
1、画电路图:
2、程序编写:
#includenreg5l.h"
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
voiddelayMs(uintx);
voidsxLed(void);
voidmain()
(
while(l)
(
xianshi_shumaguan();
)
)
〃静态显示数码管
voidxianshi_shumaguan()//4*5=20
(
ucharI;
教for(I=0;I<10;I++)
(
学P2=shuzi[i];
P3=Oxff;
过)
)
程
由
I
作
业
编写一个计算器的程序
布
置
¥
后
LEDTABLE的表有点难度,但同学们基本上都能理解,所以这个程序写起来比较容易
分
析
审阅签名:年月日
第4周星期共8节2009年3月8-13日
课题动态数码管显示授课方式
动态数码管显示程序设计指引
教学(1)
(2)动态数码管显示程序程序编写实操讲授、实操
目的
教
重点动态数码管显示程序设计
学
内
难点动态数码管显示程序程序编写实操
容
分
教具课时8
析
一组织教学(2分钟)
5.清点人数,稳定学生情绪
6.提出上课要求
二实验设计
1、画电路图:
2^程序编写:
#include"reg52.hH
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineShiJian5
〃用于控制数码管
ucharnum1,num2,num3,num4;
ucharsystime;
voiddelaylms(ucharshijian);
voidxianshi_shumaguan();
voidmain(void)
(
num1=num2=num3=num4=0;
while(l)
t
教//1000/20=50
xianshi_shumaguan();〃调用显示程序用时20ms
学systime++;
i
)
过)
程//显示数码管(动态扫描)50hz
voidxianshi_shumaguan()//4*5=20
(
P3=~0x01;//0xfe;〃打通第1只数码管
P2=0x3f;〃显示数码管(numl为捽制显示什么数子)
由delayIms(ShiJian);
彳P3=~0x02;〃打通第2只数码管
苗P2=0x06;〃显示数码管(num2为控制显示什么数子)
delaylms(ShiJian);
V
P3=~0x04;〃打通第3只数码管
P2=0x5b;〃显示数码管(num3为控制显示什么数子)
delaylms(ShiJian);
P3=~0x08;〃打通第4只数码管
P2=0x4f;〃显示数码管(num4为控制显示什么数子)
delayIms(ShiJian);
}
//延迟
voiddelaylms(ucharshijian)
{
uchari;
while(shijian—)
(
for(i=0;i<80;i++)
(
_nop_();
_nop_();
_nop_();
_nop_();
)
)
)
作
业
画led电路图
布
置
课
后
同学们对动态扫描的原理不太好理解,需要加强
分
析
审阅签名:年月日
第5周星期共8节2009年3月16-20日
课题动态数码管显示授课方式
动态数码管显示程序编写实操
教学(1)
(2)数组学习讲授、实操
(3)利用数组形式实现的动态数码管显示程序编写实操
目的
教
重点数组
学
内
难点利用数组形式实现的动态数码管显示程序编写实操
容
分
教具课时8
析
一组织教学(2分钟)
1、点人数,稳定学生情绪
2、提出上课要求
二实验设计:
1、数组原理讲解:
数组定义格式:ucharcodeTABLE[]={0x10,0x20};
2、程序编写:
b)回电路图:
•ABCDEFGDP
m
n
n
m
n
「X
.■10
-1PZ
善
二
c)程序编写:
#includeureg52.h"
#include<intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineShiJian5
codeucharshuzi[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};
//用于控制数码管
ucharnuml,num2,num3,num4;
ucharsystime;
voiddelaylms(ucharshijian);
voidxianshi_shumaguan();
voidmain(void)
(
num1=num2=num3=num4=0;
while(l)
{
//1000/20=50
xianshi_shumaguan();〃调用显示程序用时20ms
systime++;
)
}
〃显示数码管(动态扫描)50hz
voidxianshi_shumaguan()//4*5=20
(
P3=~0x01;〃0xfe;〃打通第1只数码管
P2=suzi[numl];〃显示数码管(numl为控制显示什么数子)
delayIms(ShiJian);
P3=~0x02;〃打通第2只数码管
P2=suzi[num2];〃显示数码管(num2为控制显示什么数子)
delayIms(ShiJian);
P3=~0x04;〃打通第3只数码管
P2=suzi[num3];〃显示数码管(num3为控制显示什么数子)
delay1ms(ShiJian);
P3=~0x08;〃打通第4只数码管
P2=suzi|num4|;〃显示数码管(num4为控制显示什么数子)
delayIms(ShiJian);
)
//延迟
voiddelaylms(ucharshijian)
(
uchari;
while(shijian")
教{
for(i=0;i<80;i++)
学(
_nop_();
过_nop_();
_nop_();
程_nop_();
)
)
)
t\
由
收
彳
苗
V
»-
作
业
编写一个delay100ms的子程序
布
置
课
后
同学们对动态扫描的原理不太好理解,需要加强
分
析
审阅签名:年月日
第5周星期共8节2009年3月16-20日
课题动态数码管显示授课方式
、态数码管显示程序编写实操
教学1
2、组学习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 助理广告师考试职业提高计划试题及答案
- 污水干管改造项目创新方案分析
- 广告创意大赛的设计要求与技巧试题及答案
- 潍坊高三一模试题及答案
- 数控国企笔试题目及答案
- 普放三基试题及答案
- 国际新闻考研试题及答案
- 《影像学评估肝脏疾病》课件
- 汽车扭转测试题及答案
- 校企合作在纺织教育中的实施试题及答案
- 张家界2025年张家界市公安局招聘360名警务辅助人员笔试历年参考题库附带答案详解
- 【大数跨境】2025年保温杯出海市场洞察报告
- 《掌握专利申请流程》课件
- 2025届四川省成都市高中毕业班第三次诊断性检测历史试题(含答案)
- 矿业技术服务合同协议
- 特种作业培训取证合同协议
- 2024年黑龙江鹤岗公开招聘社区工作者考试试题答案解析
- 老旧小区改造监理实施细则
- 护理核心制度培训与质量提升
- 退行性腰椎滑脱症诊疗指南(2025年版)课件
- 车间冲压模具管理制度
评论
0/150
提交评论