配套课件-单片机C语言程序设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《配套课件-单片机C语言程序设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配套 课件 单片机 语言程序设计
- 资源描述:
-
1、第一部分第一部分 单片机硬件基础单片机硬件基础 单片微型计算机简称为单片机。单片机在一块芯片上集成了中央处理器单片微型计算机简称为单片机。单片机在一块芯片上集成了中央处理器(CPU),存储器存储器(数据存储器数据存储器RAM、程序存储器、程序存储器ROM)、定时、定时/计数器和计数器和I/O端口等主要部件。端口等主要部件。51系列单片机有系列单片机有4个个8位的双向并行输入位的双向并行输入/输出输出(I/O)端口端口(P0口、口、P1口、口、P2口、口、P3口口),共,共32个个I/O口,每个端口既可以按字节进行输入、输出,也可以按位输入、输出高口,每个端口既可以按字节进行输入、输出,也可以按
2、位输入、输出高/低电低电平。平。1.1 51单片机芯片引脚单片机芯片引脚单片机芯片封装有直插式封装(DIP)与表面贴片式封装(SMD)两种单片机有40个引脚,共分为电源线,端口线和控制线三类。图1.1.1 DIP封装的51单片机引脚图1.1 51单片机芯片引脚单片机芯片引脚1.1.1电源线(1)Vss(20脚):接地引脚。(2)Vcc(40脚):正电源引脚。正常工作时,接+5V电源。1.1.2 端口线51片内有4个8位并行I/O端口P0、P1、P2、P3。他们可以双向使用。(1)P0口3239脚为P0.0P0.7输入/输出引脚。P0口是一个双向的8位并行I/O口,每个I/O口可独立控制,片内没
3、有上拉电阻,输入为高阻态,所以不能正常输出高/低电平,因此,P0端口在使用中需要外接上拉电阻,方可输出高/低电平,如图1.1.2所示,一般上拉电阻选择10k电阻。P0端口的驱动能力为其它端口(P1、P2、P3)的2倍。图1.1.1 DIP封装的51单片机引脚图图 1.1.2 上拉电阻1.1 51单片机芯片引脚单片机芯片引脚(2)P1口18脚为P1.0P1.7输入/输出引脚。P1口是一个准双向的8位并行I/O口,每个I/O口可独立控制,内部具有上拉电阻,故能正常输出高/低电平。I/O口在作为输入时,须先输出高电平准备,所以称为准双向口。(3)P2口2128引脚为P2.0P2.7输入/输出引脚。P
4、2口是一个准双向的8位并行I/O口,每个I/O口可独立控制,内部具有上拉电阻,与P1口相似。图1.1.1 DIP封装的51单片机引脚图图 1.1.2 上拉电阻1.1 51单片机芯片引脚单片机芯片引脚(4)P3口1017脚为P3.0P3.7输入/输出引脚。P3口是一个准双向的8位并行I/O口,每个I/O口可独立控制,内部具有上拉电阻。P3口作为第一功能使用时就是普通的I/O口,与P1口相同。作为第二功能使用时,每一个I/O引脚的定义如表1.1.2所示。P3口的每一个引脚可以单独定义为输入/输出引脚或者是第二功能引脚。图1.1.1 DIP封装的51单片机引脚图表1.1.2 P3口各引脚第二功能定义
5、1.1 51单片机芯片引脚单片机芯片引脚1.1.3 控制线(1)RST(9引脚)单片机的复位引脚。当引脚上出现24个时钟周期以上的高电平时有效。复位后,单片机程序重新开始执行,单片机正常工作时,该引脚应保持低电平。(2)XTAL1和XTAL2(19,18引脚)XTAL1引脚为片内振荡电路的输入端,XTAL2引脚为片内振荡电路的输出端。时钟有两种方式,一种是内时钟振荡方式(如图1.1.3左图),需要在18和19引脚上外接石英晶体和振荡电容,一种是外部时钟振荡方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入(如图1.1.3右图)。图1.1.1 DIP封装的51单片机引脚图图1.1.3 内、
6、外时钟连接方式1.1 51单片机芯片引脚单片机芯片引脚(3)ALE/PROG(30引脚)地址锁存允许/编程引脚。当访问外部程序存储器时,ALE的输出用于锁存地址的低位字节。当不访问外部程序存储器时,ALE端将输出一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当做一个时钟向外输出。(4)EA/Vpp(31引脚)允许访问片外程序存储器/编程电源线。该引脚接高电平,访问片内程序存储器。该引脚接低电平,则访问片外程序存储器。通常在使用中,该脚接高电平。EA=1片内程序存储器有效EA=0片外程序存储器有效,此时必须有外部扩展存储器(5)PSEN(29引脚)片外RPM选通线。图
7、1.1.1 DIP封装的51单片机引脚图1.2 单片机最小系统单片机最小系统单片机最小系统是指用最少的元件组成的一个可以工作的应用系统,对于51单片机来讲,最小系统主要包括单片机、晶振电路、复位电路。如图1.2.1所示为单片机的最小系统原理图。图1.2.1 单片机最小系统原理图1.2 单片机最小系统单片机最小系统1.2.1晶振电路晶振电路(1)时钟信号的产生晶振电路在单片机系统中是不可少的。在单片机系统中,所有的工作都是在同一个节拍下工作,这样才不会冲突。时钟的快慢决定了系统的工作效率,系统时钟是由晶振电路提供的,晶振大小选取由用户自己定,以STC89C52RC增强型8051单片机为例,可接晶
8、振频率为040MHz,推荐值为(11.0592MHz、12MHz),振荡电容的值一般取1030pF,推荐值为(30pF)。图1.2.1 单片机最小系统原理图(2)时序A、时钟周期、时钟周期时钟周期又称为振荡周期,由单片机的内部振荡电路OSC产生,定义为OSC时钟频率的倒数,即T时=1/fosc。时钟频率的大小由晶振的大小决定。B、机器周期、机器周期机器周期为单片机的基本操作周期,在一个机器周期内,CUP可以完成一个最简单的独立操作。一个机器周期由12个时钟周期组成,即机器周期=12*时钟周期。例如:若单片机系统的振荡器频率为12MHz,则可以计算出1个机器周期的时间为1s。1.2 单片机最小系
9、统单片机最小系统1.2.2 复位电路MCS-51 单片机有一个复位引脚RST(9脚),高电平有效,在时钟电路工作以后,当外部电路使得该引脚上出现两个机器周期(24个时钟周期)以上的高电平时,单片机复位。复位有两种方式:上电复位(如图1.2.2左图)和手动复位(如图1.2.2右图)。图1.2.1 单片机最小系统原理图1.2.2 复位电路注意:单片机复位后,P0P3输出都为高电平。1.3 总结总结设计最小系统电路的原理图和PCB图时需要注意一下问题:(1)P0口需要加上上拉电阻,推荐用10k的排阻。(2)在P0、P1、P2、P3各个端口外面加上排针,方便接线用。(3)在电源输入端加入104滤波电容
10、。(4)EA引脚直接接到VCC。(5)电源接线针要多加。(6)设计四个下载程序用的接口针。接口针分别连接到:VCC、GND、P3.0、P3.1。(7)设计PCB时,晶振需要靠近单片机的18、19引脚,晶振的起振电容不能离晶振过远。(8)设计PCB时,单片机的四个下载接口应在电路板的边沿,方便接线。1.4习题习题(1)设51单片机的晶振是12MHZ,请问单片机的时钟周期和机器周期?(2)请问51单片机的起振电容一般是多大?(3)51单片机的引脚有多少个?(4)如果51单片机要使用片内的程序存储器,请问EA引脚需要接什么电平?(5)请问51单片机的哪一个端口内部没有上拉电阻?(6)请问51单片机的
11、哪一个端口有第二功能?(7)51单片机总共有多少个I/O口?(8)51单片机的第几引脚是复位引脚?第二部分第二部分 单片机开发环境单片机开发环境前前 言言 单片机应用系统的仿真开发平台有两个常用的工具软件:Keil C51和Proteus ISIS。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,Keil 用于C语言源程序的编辑、编译、链接调试仿真。Proteus 是英国LabCenter Electronics公司开发的电路分析与实物仿真软件,Proteus软件有ISIS和ARES两个软件构成,其中ISIS是原理图编辑与仿真软件,ARES是布线
12、编辑软件,本文只介绍Proteus ISIS软件。2.1 Keil C的使用的使用Keil C51到目前尽力了多个版本,下面通过Keil Vision 4 版介绍系统的功能和使用。2.1.1 Keil C的安装的安装Keil Vision 4的安装与其他软件安装的方法相同,安装过程比较简单,安装目录按照默认目录就可以。图2.1.1 Keil Vision4的主界面2.1.2 Keil Vision 4界面介绍界面介绍 单击Keil Vision4图标,启动Keil Vision4程序,就可以看到如图2.1.1所示Keil Vision4的主界面。Keil uVision4的主界面提供各种操作菜
13、单,如文件操作、编辑操作、项目维护、项目维护、开发工具选项设置、调试程序、窗口选择和处理以及在线帮助等,工具条按钮提供键盘快捷键(可用户自行设置)。下面以表格的形式简要介绍Keil Vision4中常用的菜单栏、工具按钮和快捷方式。Keil Vision4有两种操作模式:编辑模式和调试模式,通过用 Debug菜单下的Start/Stop Debugging(开始/停止调试模式)命令切换。编辑模式可以建立项目、文件。编译项目、文件产生可执行的程序;调试模式提供的调试器,可以用来调试项目。2.1 Keil C的使用的使用(1)文件菜单(File):文件菜单说明如表2.1.2所示。表2.1.2 文件
14、菜单说明File 菜单工具按钮 快捷键说明 New Ctrl+N 创建一个新的文本文件(源程序文件)Open Ctrl+O 打开一个已有的文件 Close 关闭当前文件 Save Ctrl+S 保存当前文件 Save as 保存并重新命名当前文件Save All 保存所有打开的文本文件(源程序文件)Device Database 维护 Vision4 设备数据库Print Setup 打印机设置 Print Ctrl+P 打印当前文件 Print Preview 打印预览 Exit 退出 Vision42.1 Keil C的使用的使用(2)编辑菜单(Edit):编辑菜单的说明如表2.1.3所示
15、。表2.1.3 编辑菜单Edit 菜单工具按钮 快捷 键说明Undo Ctrl+Z 撤销上次操作Redo Ctrl+Shift+Z 重复上次撤销的操作Cut Ctrl+X 将所选文本剪切到剪贴板Copy Ctrl+C 将所选文本复制到剪贴板Paste Ctrl+V 粘贴剪贴板上的文本Toggle Bookmark Ctrl+F2 设置/取消当前行的书签GotoNextbookmark F2 移动光标到下一个书签Goto Previousbookmark Shift+F2 移动光标到上一个书签Clear All Bookmark 清除当前文件的所有书签Find Ctrl+F 在当前文件中查找文本
16、Replace Ctrl+H 替换特定的文本Find in Files 在几个文件中查找文本2.1 Keil C的使用的使用(3)视图菜单(View)视图菜单的说明如下表2.1.4所示。表2.1.4 视图菜单View 菜单工具按钮 说明Status Bar 显示/隐藏状态栏File Toolbar 显示/隐藏文件工具栏Build Toolbar 显示/隐藏编译工具栏Debug Toolbar 显示/隐藏调试工具栏Project Window 显示/隐藏工程窗口Output Window 显示/隐藏输出窗口Source Brower 显示/隐藏资源浏览器窗口Disassembly Window
17、显示/隐藏反汇编窗口Watch&Call stack indow 显示/隐藏观察和访问堆栈窗口Memory Window 显示/隐藏存储器窗口Code Coverage Window 显示/隐藏代码覆盖窗口PreformanceAnalyzerWindow 显示/隐藏性能分析窗口Serial Window#1 显示/隐藏串行窗口 1Toolbox 显示/隐藏工具箱Periodic Window Update 运行程序时,周期刷新调试窗口Workbook Mode 显示/隐藏工作簿窗口的标签Include Dependencies 显示/隐藏头文件Options 设置颜色、字体、快捷键选项2.1
18、 Keil C的使用的使用(4)工程菜单(Project),常用的工程操作工具如下表2.1.5所示。表2.1.5 工程操作工具Project 菜单工具按钮 快捷 键说明New Project 创建一个新工程Open Project 打开一个已有的工程Close Project 关闭当前工程ComponentsEnvironment,Books 定义工具系列、包含文件和库文件的路径Select Device for Target 从设备数据库中选择一个 CPURemove Item 从工程中删除一个组或文件Options for Target/group/file Alt+F7 设置对象、组或文
19、件的工具选项Build target F7 编译链接当前文件并生成应用Rebuild all target files 重新编译链接所有文件并生成应用Translate Ctrl+F7 编译当前文件Stop build 停止当前的编译链接进程2.1 Keil C的使用的使用(5)调试操作(Debug):常用的调试工具菜单如下表2.1.6所示。表2.1.6 调试菜单Debug 菜单工具按钮 快捷 键说明Start/Stop Debug Session 启动/停止调试模式Go 执行程序,直到下一个有效的断点Step 跟踪执行程序Step Over 单步执行程序,跳过子程序Step Out of c
20、urrent Function 执行到当前函数的结束Run to Cursor line 执行到光标所在行Stop Running 停止程序运行Breakpoints 打开断点对话框Insert/Remove Breakpoint 在当前行插入/清除断点Enable/Disable Breakpoint 使能/禁止当前行的断点Disable All Breakpoint 禁止程序中的所有断点Kill All Breakpoint 清除程序中的所有断点Show Next Statement 显示下一条执行的语句/指令View Trace Records 显示以前执行的指令Enable/Disab
21、le Trace 使能/禁止程序运行跟踪记录Memory Map 打开存储器空间配置对话框Performance Analyzer 打开性能分析器的设置对话框Inline Assembly 对某一行汇编,可以修改汇编Function Editor 编辑调试函数和调试配置文件2.1 Keil C的使用的使用2.1.3 Keil Vision4工程创建方法工程创建方法Keil Vision4 是一个集工程管理、源代码编辑、程序调试仿真于一体的集成开发环境。可以用来编写及编译C源码、汇编代码,连接和生成目标文件,即HEX文件,并且可以调试程序。一般操作步骤如下:(1)创建工程文件。(2)给工程添加程
22、序文件(.C文件或者.ASM文件)。(3)编译程序文件、连接项目、生成HEX文件。(4)仿真运行、调试、观察结果。2.1 Keil C的使用的使用A、启动Keil Vision4 IDE后Keil Vision4总是打开用户上一次处理的工程,要重新建立一个新的工程。建立新工程可以通过执行菜单命令 ProjectNew Vision Project来实现。如图2.1.7图 2.1.7 2.1 Keil C的使用的使用B、为工程选择一个存放的目录和取一个名字,建议每个工程单独建立一个目录存放,并将工程中所需要的文件都放在这个目录下。名字可以用中文,建议文件名:MyProject,保存类型:默认,最
23、后点击保存。如图2.1.8所示:图2.1.8 2.1 Keil C的使用的使用(3)为工程选择目标设备如图2.1.9所示,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil 支持的 CPU很多,我们选择 Atmel公司的 AT89S52 芯片。点击 ATMEL前面的“+”号,展开该层,点击其中的 AT89S52,如图2.1.10所示,然后再点击“OK”按钮,完成选择MCU型号。图2.1.9图2.1.102.1 Keil C的使用的使用(4)在完成选择MCU型号后,软件会提示我们是否要复制一个源文件到这个工程中,这里我们选择“否”,因为我要自己添加一个C语言或者汇编语言源文件,如图2.
24、1.11所示。图2.1.11图2.1.12(5)在执行上一步后,就能在工程窗口的文件页中,出现了“Target 1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,到这里我们就完整的把一个工程建立好了。如图2.1.12所示。2.1 Keil C的使用的使用2.1.4 源文件的建立使用菜单“File-New”如图2.1.13所示或者点击工具栏的新建文件快捷按钮,就可以在项目窗口的右侧打开一个新的文本编缉窗口,如图2.1.14所示。图2.1.13图2.1.142.1 Keil C的使用的使用在建立好文本框后一定要先
25、保存,如果你是先将程序输入到文本框中再保存的话,有时由于特殊原因导致电脑断电或者死机,那么你所花费的时间和精力就相当于白费了,因此我们一定要养成先保存在输入程序的好习惯。而且在先保存再输入程序,在文本框中关键字就会变成其他颜色,有利于我们在写程序时检查所写关键字是否写错。保存文件很简单,也有很多种方法,这里以最常用的四种来讲。第一种方法是直接单击工具条上的保存图标 ;第二种方法是点击菜单栏的“Feil-Save”;第三种方法是点击菜 单栏的“Feil-Save As.”;第四种是按快捷键Ctrl+S;在“文件名(N)”右面的文本框中输入源文件的名字和后缀名,为了好管理文件一般源文件和工程名一致
展开阅读全文