1、单片机应用技能实训(C语言)教案项目1项目1 认识单片机及其工具软件任务1 认识单片机一、案头任务认识单片机授课时间年 月 日授课班级教学形式讲授授课时数2课时教学用具多媒体教学资源单片机芯片、单片机应用制作成品、课件课前准备教学目标1、了解什么是单片机及其应用领域。2、熟悉单片机的外部特征及引脚功能。3、掌握MCS-51单片机的总体结构。4、理解CPU、振荡器、程序存贮器、数据存贮器的作用。5、掌握单片机最小应用系统的电路构成。教学重点1、单片机的引脚功能。2、单片机最小应用系统的电路构成。教学难点1、控制信号引脚功能的理解。2、对单片机最小应用系统复位电路的理解。教学过程1、 通过生活中实
2、际情境的介绍,引出单片机的应用领域,并说明什么是单片机。2、 单片机的外部特征及引脚功能讲授。重点介绍引脚功能及使用方法,对控制信号引脚功能可举例说明。3、 MCS-51单片机总体结构及各组成单元作用讲授。4、 单片机最小应用系统的电路构成及各部分作用讲授。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、 检查学生出勤情况并做好记录。2、 调整学生的注意力,为上课作准备。互动交流复习提问1、同学们都用过电脑,请问电脑由哪几部分组成?2、以同学们的理解,单片机是什么?3、以同学们的理解,机器人的内核是什么?提问导思导入除了上面提到的机器人外,如智能冰箱、微电脑控制电磁炉、遥控电视等都
3、用到了单片机。什么时单片机呢?单片机是单片机微型计算机的简称,是将微处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器、输入/输出电路、中断系统等电路集成到一块芯片上,构成一个最小却完善的计算机系统。-。展示单片机芯片及单片机应用制作成品。启发学习积极性讲授新课MCS-51系列单片机是Intel公司于1980年推出的产品,许多单片机生产厂商沿用或参考了其体系结构,像Atmel、Philips等著名的半导体公司都推出了兼容MCS-51的单片机产品。所以,我们以MCS-51单片机为例来介绍单片机的基本知识。一、MCS-51单片机的外部特征及引脚功能常见的MCS-51单片机多
4、采用40引脚双列直插(DIP)封装。实物同学们已看到,其引脚分布如图1-4所示。40个引脚中有2个主电源引脚,2个外接晶振引脚,4个控制信号引脚,32个I/O口引脚。各引脚功能如下。 图1-41、主电源引脚:Vcc(40脚)和Vss(20脚)Vcc:接 +5VVss:接地2、外接晶振引脚:XTAL1(19脚)和XTAL2(18脚)在使用内部振荡电路时,XTAL1和XTAL2用来外接石英晶体和微调电容,与内部电路共同作用产生时钟脉冲信号,时钟脉冲的频率为晶振频率。在使用外部时钟时,用来输入时钟脉冲。3、控制信号引脚:RST/VPD、ALE/、/VPPRST/VPD(9脚):双功能引脚,复位功能(
5、RST)或备用电源(VPD)功能。ALE/(30脚):双功能引脚,地址锁存信号输出(ALE)或编程脉冲输入()。(29脚):外部程序存储器的读选通信号引脚,当访问外部程序存储器时,该引脚产生负脉冲作为外部程序存储器的选通信号。/VPP(31脚):双功能引脚,程序存储器选择控制功能()或编程电源输入(VPP)。当=0时,CPU对程序存储器的访问限定在外部程序存储器;当=1时,CPU访问从内部程序存贮器04KB地址开始,并可以自动延至外部超过4KB的程序存储器。4、I/O口引脚:P0.0P0.7、P1.0P1.7、P2.0P2.7、P3.0P3.732个I/O口引脚分成4组,分别用于4个I/O端口
6、P0、P1、P2、P3的8位I/O口位引脚。P0.0P0.7对应P0,P1.0P1.7对应P1,P2.0P2.7对应P2,P3.0P3.7对应P3。二、MCS-51单片机总体结构MCS-51单片机的总体结构如图1-5所示。单片机内部逻辑功能部件有中央处理器、振荡/分频器、程序存储器、数据存储器、定时器/计数器、中断控制系统、扩展功能控制电路、并行接口电路和串行接口电路,它们通过内部三总线有机地连接起来。 图1-5 图1-61、中央处理器CPUCPU是单片机分析和运算的核心部件,是单片机的指挥中心,它的作用是读入和分析每条指令,根据每条指令的功能要求,控制各个功能部件执行相应的操作。2、振荡/分
7、频器振荡/分频器的作用是与外部电路一起构成时钟振荡电路产生时钟脉冲,经分频器分频产生单片机所需的时基脉冲信号,为单片机各种功能部件提供统一而精确的执行控制信号,是单片机执行各种动作和指令的时间基准。MCS-51单片机的时钟振荡电路构成有两种形式:内部时钟方式和外部时钟方式,如图1-6所示。单片机的其他功能部件的结构、作用以及应用将在后续相关内容中进行介绍。三、单片机最小应用系统单片机最小应用系统是指维持单片机正常工作所必须的电路连接。该系统接到+5V电源就能够独立的工作,完成一定的功能。下面以ATMEL公司生产的单片机AT89S51为例,介绍单片机最小应用系统。AT89S51与MCS-51单片
8、机内部结构相似,含有4K内部程序存储器,将时钟电路和复位电路连接完成即可构成单片机最小应用系统。由AT89S51构成的单片机最小应用系统示意图如图1-7所示。 图1-7最小应用系统时钟电路由C2、C3和晶振X1与单片机内部电路构成。该振荡器为单片机内部各功能部件提供一个高稳定性的时钟脉冲信号,以便为单片机执行各种动作和指令提供基准脉冲信号。单片机的时钟电路的作用好似一个生命的心脏一样。由S0、C1和R1构成单片机的上电复位加按键复位电路。作用是当单片机系统上电时复位,使单片机开始工作;当系统出现故障或死机时,用按钮复位,使单片机重新开始工作。电路连接完成后,将程序写入单片机程序存储器,接上电源
9、,单片机最小应用系统就可以工作了。用多媒体展示图1-4重点介绍RST功能使用重点介绍的用法用多媒体展示图1-5、图1-6展开介绍复位电路工作原理用多媒体展示图1-7课堂小结1、单片机的外部特征及引脚功能。2、单片机总体结构-9个逻辑功能部件。3、单片机最小应用系统电路构成。课后作业自我测评13题。任务2 仿真软件proteus的使用一、案头任务仿真软件proteus的使用授课时间年 月 日授课班级教学形式老师演示、学生练习授课时数2课时教学用具教学资源机房、多媒体、相关课件课前准备教学目标1、熟悉proteus的的工作界面。2、掌握使用proteus进行仿真电路图绘制的基本操作。3、掌握放置电
10、源及接地符号的方法。4、掌握元件参数设置的方法。5、掌握使用proteus进行电路仿真运行的步骤。教学重点1、使用proteus进行仿真电路图的绘制。2、元件参数的设置。3、使用proteus进行电路仿真。教学难点1、电路元件的查找及参数设置。2、电路虚拟仪器的放置。教学过程1、仿真软件proteus的功能简介。2、打开proteus软件,介绍其工作界面。3、proteus基本操作演示。4、完成仿真电路绘制后,进行仿真的步骤介绍。5、布置练习作业,学生进行练习,老师进行指导。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准
11、备。互动交流复习提问1、同学们都学过电子技术,请问作电子电路实验的步骤?2、同学们用过什么仿真软件?提问导思导入利用仿真软件进行仿真,与作实际电路实验的步骤基本相同,但不需要元件成本,可以快速、反复、多参数进行实验仿真。Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,该软件具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真等各种电路的仿真功能。有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等,功能极其强大。下面介绍Proteus ISIS软件的工作环境和一些基本操作。启发学习积极性讲授新课一、进入Proteu
12、s工作界面双击桌面上的ISIS 6 Professional图标即可进行其工作界面。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。二、proteus基本操作下面以图1-9为例介绍proteus基本操作图1-9 例图1、将所需元器件加入到对象选择器窗口单击对象选择器按钮,弹出“Pick Devices”页面,在“Keywords”输入AT89C51(AT89S51与AT89C51兼容),系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中。在“Results”栏中的列表项中,双击“
13、AT89C51”,则可将“AT89C51”添加至对象选择器窗口。按同样方法,将其他所需的元件(红色发光二极管LED-RED、电容CAP、电阻RES、晶振CRYSTAL等)加入到对象选择器窗口。单击“OK”按钮,结束对象选择。2、放置元器件至图形编辑窗口在对象选择器窗口中,点击选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置,单击鼠标左键,完成该对象放置。按照相同操作,将电容、晶振等其他元件放置到图形编辑窗口中。由于发光二极管需要8个,所以点击选中发光二极管后,在图形编辑区域适当的位置再反复点击放置8次,此时总共放置了8只发光二极管,二极管名的标示系统会自动区分。同样方法可以放置其他元
14、件。3、移动、删除对象和调整对象朝向将鼠标移到该对象上,单击鼠标右键,此时我们已经注意到,该对象的颜色已变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。选中对象后,再次右击鼠标,即可将对象删除。选中对象后,用鼠标左键点击旋转按钮可以使对象旋转,点击镜象按钮可以使对象按x轴镜象或按y轴镜象。4、放置电源及接地符号我们会发现许多器件没有Vcc 和GND引脚,其实他们隐藏了,仿真时系统使用默认的电源为其供电。其他电路引脚需要连接电源时,可以点击工具箱的接线端按钮,这时对象选择器将出现一些接线端,在器件选择器里点击GROUND,鼠标移到原理图编辑区,左
15、键点击一下即可放置接地符号;同理也可以把电源符号POWER放到原理图编辑区。5、元器件之间的连线Proteus的智能化可以在你想要画线的时候进行自动检测。比如将电阻R1的左端连接到D1的右端。当鼠标的指针靠近R1左端的连接点时,鼠标指针前面就会出现一个“”号,表明找到了R1的连接点,单击鼠标左键,移动鼠标(不用拖动鼠标),将鼠标的指针靠近D1右端的连接点时,鼠标指针前面又会出现一个“”号,表明找到了D1的连接点,同时屏幕上出现了粉红色的连接,单击鼠标左键,粉红色的连接线变成了深绿色,这一连线就完成了。Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路
16、径连线。在连线过程中,我们可以用左击鼠标的方法来手动选择连线的路径。同理,我们可以完成其它连线。在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。6、编辑对象的属性对象一般都具有文本属性,这些属性可以通过一个对话框进行编辑。编辑单个对象的具体方法是:先右键点击选中对象,然后用左键点击对象,此时出现属性编辑对话框。图1-19是电阻的编辑对话框,这里你可以改变电阻的标号、电阻值、PCB封装以及是否把这些东西隐藏等,修改完毕,点击“OK”按钮即可。 图1-19 编辑电路参数对话框设置完元件参数,电路硬件制作的计算机仿真就完成了。还有一些Proteus的基本操作,有的与Word相似,有
17、的可在软件使用中进一步学习,在这里就不一一介绍了。三、仿真运行在进行模拟电路、数字电路仿真时,只须点击仿真运行按钮就可以了。当仿真单片机应用系统时,应先将应用程序目标文件载入单片机芯片中,再进行仿真运行。载入目标文件的方法是,先选中单片机芯片,再左击该芯片后出现如图1-20对话框,再点击按钮,出现文件选项对话框,双击由Keil软件编译生成的.hex目标文件,最后点击OK按钮,将目标文件载入单片机芯片中,就可以进行仿真运行了。 图1-20 载入目标文件对话框四、学生练习,老师指导,进行单片机最小应用系统的绘制。单片机最小应用系统电路图如图1-7所示。 单片机最小应用系统图利用多媒体或机房相关软件
18、进行操作演示,介绍proteus工作界面。展示仿真电路课件,并以此电路为例进行基本操作演示。课堂小结1、proteus的工作界面。2、proteus的基本操作-6个步骤。3、proteus用于单片机系统的仿真时的操作步骤。课后作业项目反复训练与思考题1、2。任务3 汇编软件keil的使用及单片机最小应用系统仿真一、案头任务汇编软件keil的使用及单片机最小应用系统仿真授课时间年 月 日授课班级教学形式老师演示、学生练习授课时数2课时教学用具教学资源机房、多媒体、相关课件课前准备教学目标1、熟悉keil的工作界面。2、掌握使用keil的操作步骤。3、掌握利用keil进行程序编译及程序修改方法。4
19、、掌握两工具软件的使用。教学重点1、使用keil进行汇编的操作步骤。2、掌握利用keil进行程序汇编及程序修改方法。3、使用proteus进行电路仿真。教学难点1、利用keil进行程序汇编及程序修改。2、仿真运行中的错误查找。教学过程1、汇编软件keil的功能简介。2、打开keil软件,介绍其工作界面。3、keil工程的建立及设置介绍。4、编译、连接及程序修改介绍。5、复习proteus基本操作。6、布置练习作业,学生进行练习,老师进行指导。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问1、prote
20、us基本操作有哪几步?2、用proteus仿真单片机系统要哪几步?提问导思导入 在使用proteus进行单片机系统仿真时需要载入目标文件,该目标文件要使用keil将编写的C语言源程序进行编译生成的。下面介绍keil的基本操作方法。启发学习积极性讲授新课一、Keil工程的建立首先启动Keil软件,可以直接双击uVision快捷图标以启动该软件,软件启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部分特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil,那么
21、这三个标签页全是空的。1、源文件的建立点击菜单“File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入汇编语言源程序。录入完源程序后,保存该文件,注意必须加上扩展名(C语言源程序一般用.c为扩展名),这里假定将文件保存为“方波输出.c”。需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意文本编辑器编写,但Keil编辑器对汉字的支持不好,建议使用UlterEdit之类的编辑软件进行源程序的录入。2、建立工程文件点击“Project-New Project”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可
22、以在编辑框中输入一个名字(比如项目1),不需要扩展名。点击“保存”按钮,出现第二个对话框。这个对话框要求选择目标CPU(即你所用的芯片的型号),Keil支持的CPU很多,我们选择AT89S51芯片。点击ATMEL前面的“+”号,展开该层,点击其中的AT89S51,然后再点击“确定”按钮,回到主界面。此时,在工程窗口的文件页中,出现了“Tangct1”,前面有“+”号,点击“+”号展开可以看到下一层的“Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入。点击“Source Group1”使其反白显示,然后点击鼠标右键,出现一个下拉菜单,
23、选中其中的“Add file to Group sorce Group1”,出现一个对话框。该对话框要求寻找源文件。该对话框下面的“文件类型”默认为C source file(*.c),也就是以.c为扩展名的文件。在列表框中找到“方波输出.c”文件,双击该文件将其加入工程。二、工程的设置(针对我们的单片机制作项目进行简单设置)工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先右击左边 Project 窗口的 Target 1,弹出下拉菜单,点击Option for targettarget1即出现对工程设置的对话框,这个对话框可谓非常复杂,共有10个页面,要全部搞清可不容易,好在绝大
24、部份设置项取默认值就行了。设置对话框中的Target页面,如图1-27所示,Xtal后面的数值是晶振频率值,默认值是所选目标CPU的最高可用频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为6。 图1-27设置对话框中的 OutPut 页面,如图1-28所示,这里面也有多个选择项,其中 Creat Hex file用于生成可执行代码文件(可以用编程器写入单片机芯片的.hex格式文件,文件的扩展名为.hex),默认情况下该项未被选
25、中,如果要写片做硬件实验,就必须选中该项,这一点是初学者易疏忽的,在此特别提醒注意。 图1-28按钮“ Select Folder for objects ” 是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一个文件夹中。Name of Executable用于指定最终生成的目标文件的名字,默认与工程的名字相同,这两项一般不需要更改。其他页面设置取默认值。三、编译、连接在设置好工程后,即可进行编译、连接。点击Build target按钮,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;如果点击Rebuild All target files
26、按钮,将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的,而点击按钮Translate,则仅对该文件进行编译,不进行连接。通常使用按钮。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后,最终会得到如图1-29所示的结果,提示获得了名为项目1.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于Keil的仿真与调试,这时可以进入下一步调试的工作。 图1-29四、复习用proteus绘制仿真电路步骤。五、学生练习,老师指导,进行单片机
27、最小应用系统的绘制。并对方波输出程序进行汇编后,用proteus进行仿真验证。利用多媒体或机房相关软件进行操作演示。此时,可以录入从P1.0输出方波的源程序,或复制该源程序。课堂小结1、keil工程的建立-源文件建立和工程文件的建立。2、工程的设置。3、编译、连接及改错。4、proteus仿真复习。课后作业自我测评8题、9题。任务4 单片机最小应用系统制作与调试一、案头任务单片机最小应用系统制作与调试授课时间年 月 日授课班级教学形式学生动手操作、老师指导授课时数4课时教学用具万用表、电烙铁、示波器等教学资源实训设备、相关课件课前准备单片机芯片及相关电子元件采购、准备。教学目标1、熟悉使用万能
28、板制作小项目进行实际项目制作实验。2、掌握使用万能板制作项目硬件的步骤。3、掌握相关元件测试的方法。4、掌握使用相关工具进行电路制作的操作方法。5、掌握使用仪表进行电路测试方法,提高仪表使用的熟练程度。6、掌握单片机最小应用系统的电路构成工作特征。教学重点1、掌握使用万能板制作单片机项目的操作步骤。2、掌握相关元件的测试方法。3、掌握单片机最小应用系统的电路构成及工作特征。教学难点1、项目硬件的电路接线图绘制。2、电路调试中的故障查找。教学过程1、实训室操作规程强调。2、单片机最小应用系统各元件及使用工具简介。3、学生进行元件测试及元件布局设计并绘制电路接线图。4、分组进行硬件电路制作。5、分
29、组进行硬件电路调试。6、布置作业。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问提问导思导入 第一次在实训室进行动手操作,宣读实训室操作规程,强调操作纪律及安全。简单介绍相关元件及最小应用系统工作特征,项目硬件制作的步骤,由学生分组展开实际操作。建议每组2人,最好每组不超过3人。启发学习积极性项目制作一、认识项目相关元件及元件测试本项目的相关元件有单片机芯片、晶振、电容、电解电容、电阻、按键、集成块座、数据线插座、万能板等。由学生识别各相关元件并用万用表对相关元件进行测试。二、元件布局设计及电路接线图
30、1、布局设计由学生依据电路原理图1-32,并根据电路元件实际进行电路布局设计。元件布局设计时应考虑方便接线,并兼顾美观大方。 图1-322、绘制电路接线图各小组根据所设计的布局图并依据电路原理图进行电路接线图绘制,接线图必须按元件的实际位置绘制,接线图绘制完成后,要妥善保存。三、按元件高低层次依次进行插装与焊接 1、40脚IC插座插装与焊接 2、晶振、电容、电阻插装与焊接 3、按键、电解电容、数据线插座插装与焊接四、电路连接1、根据电路接线图进行各元件之间的连接。2、完成各元件的连接后,将电源线引出或将USB座焊接在电路板上,使用电脑上的5V电源。五、硬件电路调试1、通电之前,先用万用表检查各
31、电源线与地线之间是否有短路现象,测试40脚IC插座各脚对地电阻值并记录,分析各电阻值是否合理。若发现有不合理值,则要进行分析查找及处理。2、不插单片机芯片,接通电源,检查所有插座或器件的电源端是否有符合要求的电压值,如发现电压值偏离较多,应立即中断供电并检查处理。接地端电压是否为0V,测试40脚IC插座各脚对地电压并记录,分析各电压值是否合理。3、插上单片机芯片,接通电源,用万用表测量单片机芯片各引脚电压并记录,分析各引脚电压是否合理,尤其注意18、19、30脚的电压,初步判断时钟电路是否起振,单片机电路是否有“生命”特征。4、可以通过测试18、19、30脚波形来进一步判定单片机最小系统是否具
32、备“生命”特征,即已经正常工作了。六、写入应用程序试运行由老师示范程序写入的操作步骤,再由学生动手实际操作,最后用示波器测试输出波形。学生分组进行动手制作,老师巡回指导或示范操作。老师进行巡回指导由学生动手操作,老师进行巡回指导,必要时进行示范操作。将所测试数据列表记录并妥善保存。有条件则要用示波器进行测试项目制作小结1、元件测试方法。2、电路接线图绘制很重要。3、元件插装与焊接及电路连接。4、硬件电路调试。5、程序写入与运行调试。课后作业技能反复训练与思考题3题、5题。任务5 项目相关知识延申-C语言概述一、案头任务项目相关知识延申授课时间年 月 日授课班级教学形式讲授授课时数2课时教学用具
33、多媒体教学资源单片机教学课件课前准备教学目标1、了解C语言的特点。2、熟悉Keil C的基本结构。3、熟悉Keil C的数据类型、变量、关键字。4、掌握Keil C的常用运算符。5、掌握Keil C的基本语句。教学重点1、Keil C的数据类型、常用运算符。2、Keil C的基本语句作用。教学难点1、Keil C数据类型、变量的理解。教学过程1、C语言的特点介绍。2、C语言程序基本结构介绍。3、Keil C的数据类型与常用数据类型。4、Keil C的变量与关键字。5、Keil C的运算符与常用运算符。6、Keil C的基本语句。教学后记二、教学实施过程实施环节教学内容导学方法组织教学1、检查学
34、生出勤情况并做好记录。2、调整学生的注意力,为上课作准备。互动交流复习提问1、单片机最小应用系统由哪几部分组成?2、计算机由哪两大部分组成?提问导思导入在任务1中学习了单片机的总体结构,MCS-51内部由9个逻辑功能单元构成,这是硬件部分。今天我们开始学习单片机的应用开发软件-Keil C。启发学习积极性讲授新课一、C语言特点C语言是一种计算机程序设计高级语言。它结合了高级语言的结构性和汇编语言的实用性。广泛应用于单片机应用程序设计、单片机嵌入式系统开发及编写系统软件。其主要特点如下:1、可以像汇编语言一样对位、字节和地址进行操作。2、具有各种各样的运算符和数据类型,引入了指针概念,程序效率更
35、高。3、以函数形式呈现,模块化的结构方式使程序层次清晰,便于识读、使用、维护以及调试。二、Keil C程序基本结构C语言程序由若干个函数(主程序和子程序)构成。举例如下:/*以下为指定头文件*/#include/*以下为定义区,定义全局变量、功能函数等*/delay(int);unsigned char x,y;/*以下是主函数*/main()int i,j;unsigned char led;led=0xff;/*以下是子函数*/delay(int x)int i,j;for(i=0;ix;i+)1、指定头文件头文件(*.h)内部包含的是预先定义好的一些基本数据,指定头文件一般有下面两种方式
36、。#include 或#include头文件名 。例如:#include,reg51.h是定义MCS-51单片机的各个专用寄存器。2、定义区用来定义程序中用到的常数、变量、函数等,跟在指定头文件之后,其作用范围包括主函数和所有子函数。在C语言中,子函数的位置随意性比较大,所以建议在声明区提前声明使用到的所有子函数。3、主函数(主程序)主函数以main()开头,其内容放在其后的一对大括号“”里,包括定义区与程序区。这里定义区里定义的常数、变量等只作用于主程序。4、子函数及中断服务函数(1)子函数是一种具有相对独立功能的程序,其结构与主程序相似。函数格式如下:返回数据类型 函数名(传入数据类型)函
37、数可将要处理的数据传入该函数,也可将函数处理完成的数据返回到调用它的程序中。如将一个字符型数据(char)传入函数,处理完成后返回一个整型数据(int),假定其函数名为“SUB_name”,则函数可以这样定义:int SUB_name(char x)如果不需要传入函数,则可在小括号内用void代替,函数可以这样定义:int SUB_name(void)如果不要返回数据,则可以在函数名左侧用void代替,函数可以这样定义:void SUB_name(char x)(2)中断子程序格式如下:void 中断子程序名(void) interrupt中断编号 using 寄存器组中断子程序的结构与函数的
38、结构类似,不过中断子程序不能传入和传出数据。5、注释注释就是程序说明,不参与程序编译。C语言注释以“/*”开头,以“*/”结束,也可以用“/”开头,在符号右侧进行注释。注释可以跟在指令后面,也可以单独一行存在。 三、Keil C的数据类型在定义常数和变量时,我们要告知编译程序需要保留多大的位置,这就需要定义数据类型。Keil C提供了通用数据类型和8051的特殊数据类型,如表1-3、表1-4所示。编写C程序时常用的数据类型如下:类型名称位数范围char字符型8-128+127unsigned char无符号字符型80255int整型16-32768+32767unsigned int无符号整型
39、16065535bit位型10、1(用于访问0x200x2f位寻址区)sbit位型10、1(用于访问0x800xff可位寻址区)四、Keil C的变量与关键字定义变量的格式如下:存贮种类 数据类型 存贮器类型 变量名表;(1)变量名跟在数据类型之后,其遵循以下原则:变量名可以使用大小写字母、数字和下划线;第一个字符不能是数字;不能使用关键字。(2)特殊的变量数组和指针数组是相同类型的数据集合在一起的数据结构;指针则是存放存储器地址的变量。这两个特殊的变量在程C程序的作用非常重要。(3)关键字是编译程序保留特殊用途的字符串。ANSI C的关键字如表1-5所示。Keil C也有一些特有的关键字如表
40、1-6所示。下面举几个变量定义的例子如下:sbit S1=P10; /定义S1为位型变量等于P1.0。unsigned int i; /定义i为无符号整型变量。unsigned char jzt; /定义jzt为无符号字符型变量。五、Keil C的运算符运算符是程序语句中的操作符号,Keil C有以下几种运算符。(1)算术运算符算术运算符是进行算术运算的操作符号。有+、-、*、/、%五种。(2)递增、递减运算符递增、递减运算符的符号为+(递增)、-(递减)。(3)关系运算符用来处理两个量之间的大小关系,结果为真时为1,反之为0。常用关系运算符如下:=(相等)、!=(不等)、(大于)、=(大于等
41、于)、=(小于等于)。(4)逻辑运算符逻辑运算符是进行逻辑运算的操作符号,常用的逻辑运算符号如下:&(逻辑与)、|(逻辑或)、!(逻辑非)。(5)布尔运算符布尔运算符是针对变量中的每一个位进行逻辑操作的。常用的布尔运算符如下:&(与运算)、(取补运算)、|(或运算)、(右移)等。(6)赋值运算符赋值运算符是“=”。除=以外,还有一些复合运算符,如表1-10所示。六、Keil C的基本语句Keil C提供了多种判断、循环、跳转语句。(1)循环语句用在循环结构中,极大的减少了源程序中需要重复书写的工作量,将程序控制在指定的循环里。常用的循环语句有while语句、do while语句和for语句。(
42、2)判断语句用在选择结构中,使源程序根据条件决定程序的流程。Keil C提供的判断语句有条件选择语句if else和多分支选择语句switch case。(3)跳转语句用在循环结构中,实现源程序中有条件或者无条件的跳转,以改变源程序的流程;或者返回一个值给定义的函数,用于条件判断。如break、continue、goto、 return语句。break语句的用法后面项目还有详细讲解,continue语句与break语句用法类似,不同的是break语句是结束并跳出循环,而continue语句是结束本次循环,继续下一次循环。go to是Keil C提供的无条件跳转指令(尽量避免使用),其使用格式如
43、下:go to 标号;当执行到本语句时,将跳转到该标号所对应的语句上去。例如:go to loop;loop:P0=0x0f; /当执行到go to语句时,下一步将执行P0=0x0f语句。return语句是Keil C提供的返回值语句,通常用来给定义的函数返回一个值,其格式如下。return x;/x为一个数据类型变量。如果我们定义一个函数如下:int get(void)int x,i,j;x=i+j;return x; /如果i+j=5,那么将有get()=5。简单介绍C语言特点及程序基本结构。重点说明主函数的特点及重要性。使用多媒体展示C的数据类型表。重点介绍常用数据类型。重点介绍变量的定义方法及注意点。举例之后要同学练习定义几个变量。对运算符的使用,学生不熟习的要进行举