版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目项目1 单片机控制单灯闪烁单片机控制单灯闪烁(1)会描述什么是单片机,单片机的特点及应用等知识。)会描述什么是单片机,单片机的特点及应用等知识。(2)初步学会使用单片机的开发工具)初步学会使用单片机的开发工具Keil C、仿真软件、仿真软件Proteus进行仿真。进行仿真。(3)学会使用仿真软件)学会使用仿真软件Proteus制作单片机的最小系统电路图。制作单片机的最小系统电路图。(4)学会使用)学会使用Keil C编写单灯闪烁的控制程序。编写单灯闪烁的控制程序。(5)学会进行软硬件联合仿真。)学会进行软硬件联合仿真。1.1 学习目标学习目标1 项目名称项目名称 单片机控制单灯闪烁单片机控
2、制单灯闪烁2 项目要求项目要求(1)练习使用练习使用Keil c51,Proteus,STC下载软件等开发工具。下载软件等开发工具。(2)使用使用AT89C51单片机作为仿真控制器,单片机作为仿真控制器,STC89C51作为硬件电路控制器,控作为硬件电路控制器,控制制1个发光二极管闪烁,时间间隔为个发光二极管闪烁,时间间隔为0.1S。(3)发挥功能:发挥功能:调整发光二极管亮度。调整发光二极管亮度。发光二极管修改为共阴极接法,如何修改电路图和程序。发光二极管修改为共阴极接法,如何修改电路图和程序。使用单片机使用单片机P2.0引脚控制发光二极管以引脚控制发光二极管以0.2S的时间间隔闪烁。的时间
3、间隔闪烁。3 项目分析项目分析使用使用AT89c51单片机的一个引脚控制一个发光二极管以单片机的一个引脚控制一个发光二极管以0.1秒的时间间隔闪烁。秒的时间间隔闪烁。单片机要工作,必须有时钟电路、复位电路和电源电路,它们和单片机一起构单片机要工作,必须有时钟电路、复位电路和电源电路,它们和单片机一起构成的电路称为单片机的最小系统,是单片机控制电路的基础,是必须掌握的单成的电路称为单片机的最小系统,是单片机控制电路的基础,是必须掌握的单片机基本电路。片机基本电路。1.2 项目描述项目描述 发光二极管(发光二极管(LED,电路符号,电路符号 )是一种最常用的指示器件,近几年因其成本)是一种最常用的
4、指示器件,近几年因其成本下降和节能的特点大量使用在照明设备中。发光二极管有极性之分,当有足够的下降和节能的特点大量使用在照明设备中。发光二极管有极性之分,当有足够的正向电流(正极流向负极的电流,约正向电流(正极流向负极的电流,约10mA30mA)通过时便会发光。)通过时便会发光。01D1LED-GREENR1200AT89C51P1.0低电平低电平亮亮持续持续0.1秒秒D2LED-GREENR2200AT89C51P1.0高电平高电平灭灭持续持续0.1秒秒.循环循环 图图1-1-a 发光二极管工作原理发光二极管工作原理 图图1-1-b 发光二极管闪烁工作原理发光二极管闪烁工作原理1.2 项目描
5、述项目描述 由于单片机系统常常使用由于单片机系统常常使用+5V电源,而发光二极管电源,而发光二极管D1只需要只需要2V左右的左右的电压就可以被点亮,点亮时电流约为电压就可以被点亮,点亮时电流约为15mA。如果在发光二极管。如果在发光二极管D1两端两端直接加直接加+5V将有可能烧毁它。于是我们常常在测量二极管好坏的时候或者将有可能烧毁它。于是我们常常在测量二极管好坏的时候或者是电路设计中串联一个限流电阻是电路设计中串联一个限流电阻R1。假设发光二极管工作电流为。假设发光二极管工作电流为15mA,正常工作时两端的压降正常工作时两端的压降VF=2V,所以电阻,所以电阻R1上应该分担的电压为上应该分担
6、的电压为3V。于。于是得电阻是得电阻R1的阻值为:的阻值为:R1=3V/15mA=200。如果此电阻取值较大,则。如果此电阻取值较大,则发光二极管亮度不够,取发光二极管亮度不够,取1K以内的阻值即可(如图以内的阻值即可(如图1-1-a所示)。所示)。当单片机的当单片机的P1.0口输出低电平时(接地),发光二极管口输出低电平时(接地),发光二极管D1正、负极之间正、负极之间获得电压而被点亮;当获得电压而被点亮;当P1.0口输出高电平时(口输出高电平时(+5V),发光二极管),发光二极管D1则则熄灭。所以要实现发光二极管以熄灭。所以要实现发光二极管以100m s时间间隔闪烁,变成了让单片机时间间隔
7、闪烁,变成了让单片机的的P1.0口以口以100ms为间隔输出高、低电平。(如图为间隔输出高、低电平。(如图1-1-b所示)所示)1.2 项目描述项目描述 图图1-2 单个发光二极管闪烁控制框图单个发光二极管闪烁控制框图1.2 项目描述项目描述单片机的概念:单片机的概念:把把CPU(进行运算、控制)、(进行运算、控制)、RAM(数据存储)、(数据存储)、ROM(程序存储)、输入(程序存储)、输入/输输出设备(例如:串行口、并行口等)、定时器出设备(例如:串行口、并行口等)、定时器/计数器、计数器、A/D,D/A等集成到一块等集成到一块集成电路芯片中形成的微处理器就称为单片机,单片机也称为集成电路
8、芯片中形成的微处理器就称为单片机,单片机也称为MCU(Micro Controller Unit),即微控制器。,即微控制器。1.3.1单片机基础单片机基础 (1)单片机的产生和发展)单片机的产生和发展单片机是由美国的单片机是由美国的INTEL公司于公司于1971年发明的,经历了年发明的,经历了SCM、MCU、SoC三大阶段。三大阶段。(2)单片机硬件特性)单片机硬件特性单片机集成度高。单片机集成度高。51系列单片机包括系列单片机包括CPU、4KB容量的容量的ROM(8031 无)、无)、128 B容量的容量的RAM、 2个个16位定时位定时/计数器、计数器、4个个8位并行口、位并行口、1个全
9、双工串口行口。个全双工串口行口。 系统结构简单,使用方便,实现模块化。系统结构简单,使用方便,实现模块化。 单片机可靠性高,可工作到单片机可靠性高,可工作到106 107小时无故障。小时无故障。 处理功能强,速度快。处理功能强,速度快。 1. 单片机相关知识单片机相关知识1.3 相关知识相关知识(3)单片机的应用)单片机的应用 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。单片机应用大致可分如下几个范畴:单片机应用大致可分如下几个范畴: 在智能仪器仪表上的应用。(请查阅资料,写出在智能仪器仪表
10、上的应用。(请查阅资料,写出2种以上应用种以上应用 )在工业控制中的应用。在工业控制中的应用。 (请查阅资料,写出(请查阅资料,写出2种以上应用种以上应用 )在家用电器中的应用。在家用电器中的应用。 (请查阅资料,写出(请查阅资料,写出2种以上应用种以上应用 )在计算机网络和通信领域中的应用。(请查阅资料,写出在计算机网络和通信领域中的应用。(请查阅资料,写出2种以上应用种以上应用 ) 单片机在医用设备领域中的应用。(请查阅资料,写出单片机在医用设备领域中的应用。(请查阅资料,写出2种以上应用种以上应用 ) 在各种大型电器中的模块化应用。(请查阅资料,写出在各种大型电器中的模块化应用。(请查阅
11、资料,写出2种以上应用种以上应用 ) 单片机在汽车设备领域中的应用。(请查阅资料,写出单片机在汽车设备领域中的应用。(请查阅资料,写出2种以上应用种以上应用 ) 1.3.1单片机基础单片机基础 (4)主要单片机的分类)主要单片机的分类 AVR系列系列/PIC系列系列51系列单片机系列单片机(5)嵌入式系统)嵌入式系统 ARM处理器除具有单片机的功能外,还可以运行嵌入式操作系统,可以看成处理器除具有单片机的功能外,还可以运行嵌入式操作系统,可以看成简化了的简化了的PC,因而可以实现许多单片机系统不能完成的功能。比如:嵌入式,因而可以实现许多单片机系统不能完成的功能。比如:嵌入式web服务器,服务
12、器,java虚拟机等,从而在智能手机、物联网应用等领域应用广泛。虚拟机等,从而在智能手机、物联网应用等领域应用广泛。1.3.1单片机基础单片机基础 单片机芯片单片机芯片 电源:电源:AT89S51的的VCC(40管脚)和管脚)和GND(20管脚)分别为电源端和接地端,管脚)分别为电源端和接地端,AT89S51的供电电压范围为直流的供电电压范围为直流+4.0+5.5V。振荡电路:振荡电路:XTAL1、XTAL2复位引脚:复位引脚:RST并行口:并行口:P0、P1、P2、P3,4个端口个端口32位位2 单片机最小系统单片机最小系统1.3.1单片机基础单片机基础 PSENEA :访问程序存储控制信号
13、:访问程序存储控制信号/加编程电压加编程电压 :外部:外部ROM读选通信号读选通信号 ALE/ :地址锁存控制信号:地址锁存控制信号/编程脉冲输入端编程脉冲输入端 P3口第二功能说明如表口第二功能说明如表1-2所示所示 1.3.1单片机基础单片机基础 表表1-2 单片机单片机P3口第二功能说明表口第二功能说明表1.3.1单片机基础单片机基础 时钟电路用于产生单片机工作所需的时钟控制信号,其性能影响单片机系统的稳定性。时钟频率影响单片机的运行速度。常用时钟电路有两种:内部时钟电路和外部时钟电路。XTAL1端(19管脚)、XTAL2(18管脚)内部有一个片内振荡器结构,但仍然需要在XTAL1和XT
14、AL2之间连接一个晶振Y1,并加上两个容量介于2040pF的电容C1、C2组成时钟电路,如图所示1-4(a)所示。晶振的频率决定了该系统的时钟频率,比如晶振频率选择12MHz,那么单片机工作的频率就是12MHz。根据系统对速度的要求,一般可以选择1.2MHz12MHz的晶振。通常我通常我们使用们使用12MHz的晶振。的晶振。(1)时钟电路)时钟电路(a)内部时钟电路)内部时钟电路 (b)外部时钟电路)外部时钟电路1.3.1单片机基础单片机基础 振荡周期振荡周期:振荡周期是单片机的基本时间单位。主频为fosc,则振荡周期是主频的 倒数。如12MHZ晶振的时钟周期就是1/12MHZ。时钟周期时钟周
15、期:时钟周期为振荡周期的2倍。分为两个节拍,为P1和P2,每拍为一个振荡周期。机器周期机器周期:6个时钟周期,12个振荡周期组成一个机器周期个振荡周期组成一个机器周期,所以12MHZ晶振的时晶振的时钟周期就是:钟周期就是:12*(1/12MHZ)=1us。指令周期指令周期:若干个机器周期(1、2、4个)组成指令周期。图图1-5 时钟周期时钟周期1.3.1单片机基础单片机基础 AT89S51单片机的单片机的RST端(端(9管脚)是复位端。当向管脚)是复位端。当向RST端输入一个端输入一个2个机器个机器周期的高电平单片机就会复位,复位后单片机从周期的高电平单片机就会复位,复位后单片机从0000H开
16、始执行程序。如果在单片开始执行程序。如果在单片机执行程序的过程中触发复位,则单片机立即放弃当前操作而被强行从头开始执机执行程序的过程中触发复位,则单片机立即放弃当前操作而被强行从头开始执行程序。行程序。(2)复位电路)复位电路 1.3.1单片机基础单片机基础 (3)电源电路)电源电路方法方法1:使用电源适配器:使用电源适配器 在市场上购买一个额定电压在市场上购买一个额定电压5V,额定电源大于,额定电源大于500mA的电源适的电源适配器,购买一个直流插座,将配器,购买一个直流插座,将+5v输出接单片机的输出接单片机的40脚,脚,GND接接20脚即可对单片机供电。脚即可对单片机供电。方法方法2:使
17、用:使用USB线供电线供电 图图1-7 A型型USB接头接头 根据表根据表1-3和图和图1-7所示,将所示,将USB线的一端接线的一端接PC机,另一端剪断,机,另一端剪断,将红色线接单片机的将红色线接单片机的40脚,黑色线接脚,黑色线接20脚即可对单片机供电。脚即可对单片机供电。引引脚脚名名称称描述描述颜色颜色1VCC电源 红色2D-数据-白色3D+数据+ 绿色4GND地黑色 表表1-3 A型型USB接头定义接头定义1.3.1单片机基础单片机基础 方法方法3 自己制作单片机供电电源。参考图自己制作单片机供电电源。参考图1-8进行。进行。 图图1-8 78系列三端稳压电路供电电路系列三端稳压电路
18、供电电路 1.3.1单片机基础单片机基础 XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124
19、P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRCFILE=led.hex+5vX1CRYSTALC122pFC222pFC322uFR21kR310k 最小系统,是使用最少的外围元器最小系统,是使用最少的外围元器件让单片机能够工作的电路。件让单片机能够工作的电路。AT89C51单片机的最简系统如图所单片机的最简系统如图所示,首先,单片机的示,首先,单片机的VCC接接+5V,GND接地获得工作电源。(仿真不接地获得工作电源。(仿真不用接)此外,还得有复位电路和振用接)此外,还得有复位电路和振荡电路。单片机的(荡电路。单片机的(31管脚管脚 )也接)也接到了到了
20、+5V上,这是由于目前单片机上,这是由于目前单片机均自带程序存储器,在不需要扩展均自带程序存储器,在不需要扩展ROM,直接使用内部自带的程序存,直接使用内部自带的程序存储器的时候,就要把此引脚接高电储器的时候,就要把此引脚接高电平。平。(4)最小系统)最小系统1.3.1单片机基础单片机基础 1. 数字量与模拟量数字量与模拟量(1)数字量)数字量数字量:物理量的变化在时间上和数量上数字量:物理量的变化在时间上和数量上都是离散的。它们数值的大小和每次变都是离散的。它们数值的大小和每次变化的增减变化都是某一个最小数量单位化的增减变化都是某一个最小数量单位的整数倍,而小于这个最小数量单位的的整数倍,而
21、小于这个最小数量单位的数值没有任何物理意义。数值没有任何物理意义。例如:统计书本生产线上的书本数量,得例如:统计书本生产线上的书本数量,得到的就是一个数字量,最小数量单位的到的就是一个数字量,最小数量单位的“1”代表代表“一本一本”书,小于书,小于1的数值没有任的数值没有任何物理意义。何物理意义。数字信号:表示数字量的信号。如矩形脉数字信号:表示数字量的信号。如矩形脉冲,如图冲,如图1-13(a)所示。)所示。数字信号通常都是以数码形式给出的。不数字信号通常都是以数码形式给出的。不同的数码不仅可以用来表示数量的不同同的数码不仅可以用来表示数量的不同大小,而且可以用来表示不同的事物或大小,而且可
22、以用来表示不同的事物或事物的不同状态。事物的不同状态。数字电路:工作在数字信号下的电子电路。数字电路:工作在数字信号下的电子电路。(2)模拟量)模拟量模拟量:物理量的变化在时间上和数值上都模拟量:物理量的变化在时间上和数值上都是连续的。是连续的。例如:热电偶工作时输出的电压或电流信号例如:热电偶工作时输出的电压或电流信号就是一种模拟信号,因为被测的温度不就是一种模拟信号,因为被测的温度不可能发生突跳,所以测得的电压或电流可能发生突跳,所以测得的电压或电流无论在时间上还是在数量上都是连续的。无论在时间上还是在数量上都是连续的。模拟信号:表示模拟量的信号。如正弦信号,模拟信号:表示模拟量的信号。如
23、正弦信号,如图如图1-13(b)所示。)所示。模拟电路:工作在模拟信号下的电子电路。模拟电路:工作在模拟信号下的电子电路。这个信号在连续变化过程中的任何一个取值这个信号在连续变化过程中的任何一个取值都有具体的物理意义,即表示一个相应都有具体的物理意义,即表示一个相应的温度。的温度。1.3.2数制和编码tuut (a) (b) 图1-13 数字信号与模拟信号 数制:把多位数码中每一位的构成方法以及从低位到高位的进位规则称为数制。在单片机电路中经常使用的计数进制有十进制、二进制和十六进制。(1)十进制数(Decimal) 十进制是日常生活中最常使用的进位计数制。在十进制数中,每一位有09十个数码,
24、所以计数的基数是10。超过9的数必须用多位数表示,其中低位和相邻高位之间的进位关系是“逢十进一”。 任意十进制数 D 的展开式: ki是第 i 位的系数,可以是09中的任何一个。例:将十进制数12.56展开为:(2)二进制数(Binary)二进制数的进位规则是“逢二进一”,其进位基数R=2, 每位数码的取值只能是0或1,每位的权是2的幂。任何一个二进制数,可表示为: 例如: 1.3.2数制和编码1032101232)375.11(21212021212021)011.1011(210110610510210156.12iikD102.几种常用的数制(3)八进制数(Octal)八进制数的进位规则
25、是“逢八进一”,其基数R=8,采用的数码是0、 1、 2、 3、 4、 5、 6、 7, 每位的权是 8 的幂。 任何一个八进制数也可以表示为: 例如: (4)十六进制数(Hexadecimal)十六进制数的特点是: 采用的16 个数码为0、 1、 2、 、 9、 A、 B、 C、 D、 E、 F。 符号AF分别代表十进制数的1015。 进位规则是“逢十六进一”基数R=16,每位的权是16的幂。 任何一个十六进制数, 可以表示为: 例如: 任意 N 进制数展开式的普遍形式: 其中 ki 是第 i 位的系数;ki 可以是 0 N-1 中的任何一个;N 称为计数的基数;Ni 称为第 i 位的权。1
26、.3.2数制和编码2.几种常用的数制1010128)5 .254(5 . 068764384868783)4 .376(iikD16102101216)0664.939(16116116111610163)113(ABiiNkD(5)不同进制数的对照表 对于以上4种数制,关键是要对015这16个数字的二、八、十、十六进制形式非常熟悉,达到看到十进制数就能说出二进制和十六进制的程度。4种进制数字的对照如表1- 4所示。1.3.2数制和编码2.几种常用的数制十进制二进制八进制十六进制0000010102020303040405050606070708100911101211131214131514
27、161517(1)十二转换 整数转换除2取余法。例如:将(57)10转换为二进制数: 小数转换乘2取整法。例如:将(0.724)10转换成二进制小数。1.3.2数制和编码3. 不同数制间的转换(2)二十转换二进制数转换成十进制数时,只要将二进制数按权展开,然后将各项数值按十进制数相加,便可得到等值的十进制数。例如: 同理,若将任意进制数转换为十进制数,只需将数(N)R写成按权展开的多项式表示式,并按十进制规则进行运算, 便可求得相应的十进制数(N)10。 (3)二进制数与八进制数、十六进制数之间的相互转换八进制数和十六进制数的基数分别为8=23,16=24, 所以三位二进制数恰好相当一位八进制
28、数,四位二进制数相当一位十六进制数,它们之间的相互转换是很方便的。二进制数转换成八进制数的方法是从小数点开始,分别向左、向右,将二进制数按每三位一组分组(不足三位的补0),然后写出每一组等值的八进制数。 1.3.2数制和编码3. 不同数制间的转换10211242)75.22(2121212121)11.10110(例如,求(01101111010.1011)2的等值八进制数: 二进制 001 101 111 010 101 100 二进制 001 101 111 010 101 100 八进制 1 5 7 2 . 5 4 所以 (01101111010.1011)2=(1572.54) 8 二
29、进制数转换成十六进制数的方法和二进制数与八进制数的转换相似,从小数点开始分别向左、向右将二进制数按每四位一组分组(不足四位补0),然后写出每一组等值的十六进制数。例如,将(1101101011.101)转换为十六进制数: 0011 0110 1011.1010 3 6 B . A 所以 (1101101011.101)2=(36B.A)16 八进制数、十六进制数转换为二进制数的方法可以采用与前面相反的步骤,即只要按原来顺序将每一位八进制数(或十六进制数)用相应的三位(或四位)二进制数代替即可。 例如,分别求出(375.46)8、(678.A5)16的等值二进制数: 二进制 011 111 10
30、1 . 100 110二进制 0110 0111 1000.1010 0101 所以 (375.46)8=(011111101.100110)2, (678.A5)16=(011001111000.10100101)21.3.2数制和编码3. 不同数制间的转换(1)算术运算算术运算:当两个数码分别表示两个数量大小时,它们可以进行数量间的加、减、乘、除等运算。这种运算称为算术运算。二进制算术运算的特点:逢二进一。二进制算术运算的特点:逢二进一。数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。二进制四则运算规则:加法 000,01101,1110 减法 000,101,110,
31、01-1 乘法 000,01100,111 除法 010,111 1.3.2数制和编码4.二进制数的运算(2)原码、反码和补码和补码运算二进制数的正、负表示方法通常采用的是在二进制数的前面增加一位符号位。这种形式的数称为原码。原码:符号位为0表示这个数是正数,符号位为1表示这个数是负数。以下各位表示数值。为避免在求补码的过程中做减法运算,通常是先求出N的反码,然后在负数的反码上加1而得到补码。反码:正数的反码等于原码,负数的反码:符号位不变,以下各位按位取反。补码:正数的补码等于原码,负数的补码:符号位不变,以下各位按位取反,加1。1.3.2数制和编码例1:写出带符号位二进制数00011010
32、(+26)、10011010(-26)、00101101(+45)、和10101101(-45)的反码和补码。解: 原码 反码 补码0001101000011010000110101001101011100101111001100010110100101101001011011010110111010010110100115.几种常用的编码 不同的数码不仅可以表示数量的大小,而且还可以表示不同事物或事物的不同状态在用于表示不同事物的情况下,这些数码已经不再具有表示数量大小的含义了,它们只是不同事物的代号而已。这些数码称为代码。例如:每个人编一个身份证号码,每个学生编一个学号。为了便于记忆和查找
33、,在编制代码时总要遵循一定的规则,这些规则就称为码制。(1)十进制代码用四位二进制码的10 种组合表示十进制数09,简称BCD码(Binary Coded Decimal)。 这种编码至少需要用四位二进制码元,而四位二进制码元可以有 16 种组合。当用这些组合表示十进制数09时, 有六种组合不用,如表1-5的第二列所示。8421 BCD码8421 BCD码是最基本和最常用的BCD码, 它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10 组代码,即用00001001分别代表它所对应的十进制数,余下的六组代码不用。需
34、要注意的是8421 BCD码本质就是十进制数,只不过用二进制形式描述。余3 码余3码是8421 BCD码的每个码组加3 (0011)形成的。 余3码也具有对9互补的特点,即它也是一种9的自补码,所以也常用于BCD码的运算电路中。 用BCD码可以方便地表示多位十进制数,例如十进制数(579.8)10可以分别用8421 BCD码、余3 码表示为 1.3.2数制和编码码余码3842110)1011.110010101000()1000.100101110101()8 .579(BCD1.3.2数制和编码十进制数余 0000000111000101002001001013001101104010001
35、11501011000601101001701111010810001011910011100表1-5 二种常用的BCD码1.3.2数制和编码(2)格雷码格雷码又称循环码。每一位的状态变化都按一定的顺序循环。如果从0000开始,最右边一位的状态按0110顺序循环变化,右边第二位的状态按00111100顺序变化,右边第三位按0000111111110000顺序循环变化。其特点是:自右向左,每一位状态状态中连续的0、1数目增加一倍;编码顺序依次变化时,相邻两个代码之间只有一位发生变化。(3)美国信息交换标准代码(ASC)是一组7位二进制代码,共128个,其中包括表示09的十个代码,表示大、小英文字
36、母的52个代码,32个表示各种符号的代码及34个控制码。ASC码表如表1-6所示。在表1-6中,ASCII码为十进制数,括号内为十六进制数,十六进制形式更常用。如09的ASCII码十六进制为(0 x300 x39);大写字母AZ的ASCII码十六进制为(0 x410 x5A);小写字母az的ASCII码十六进制为(0 x610 x7A);大小写相差0X20。在后续学习的液晶显示程序中,会使用ASCII码显示字符信息。1.3.2数制和编码ASCIIASCII值值控制字符控制字符ASCIIASCII值值控制字符控制字符ASCIIASCII值值控制字符控制字符ASCIIASCII值值控制字符控制字符
37、0(0 x00)NUT32(0 x20)(space)64(0 x40)96(0 x60)、1(0 x01)SOH33(0 x21)!65(0 x41)65(0 x41)A A97(0 x61)97(0 x61)a a2(0 x02)STX34(0 x22)”66(0 x42)66(0 x42)B B98(0 x62)98(0 x62)b b3(0 x03)ETX35(0 x23)#67(0 x43)67(0 x43)C C99(0 x63)99(0 x63)c c4(0 x04)EOT36(0 x24)$68(0 x44)68(0 x44)D D100(0 x64)100(0 x64)d d
38、5(0 x05)ENQ37(0 x25)%69(0 x45)69(0 x45)E E101(0 x65)101(0 x65)e e6(0 x06)ACK38(0 x26)&70(0 x46)70(0 x46)F F102(0 x66)102(0 x66)f f7(0 x07)BEL39(0 x27),71(0 x47)71(0 x47)G G103(0 x67)103(0 x67)g g8(0 x08)BS40(0 x28)(72(0 x48)72(0 x48)H H104(0 x68)104(0 x68)h h9(0 x09)HT41(0 x29)73(0 x49)73(0 x49)I I1
39、05(0 x69)105(0 x69)i i10(0 x0A)LF42(0 x2A)*74(0 x4A)74(0 x4A)J J106(0 x6A)106(0 x6A)j j11(0 x0B)VT43(0 x2B)+75(0 x4B)75(0 x4B)K K107(0 x6B)107(0 x6B)k k12(0 x0C)FF44(0 x2C),76(0 x4C)76(0 x4C)L L108(0 x6C)108(0 x6C)l l13(0 x0D)CR45(0 x2D)-77(0 x4D)77(0 x4D)M M109(0 x6D)109(0 x6D)m m14(0 x0E)SO46(0 x2
40、E).78(0 x4E)78(0 x4E)N N110(0 x6E)110(0 x6E)n n15(0 x0F)SI47(0 x2F)/79(0 x4F)79(0 x4F)O O111(0 x6F)111(0 x6F)o o16(0 x10)DLE48(0 x30)48(0 x30)0 080(0 x50)80(0 x50)P P112(0 x70)112(0 x70)p p17(0 x11)DCI49(0 x31)49(0 x31)1 181(0 x51)81(0 x51)Q Q113(0 x71)113(0 x71)q q18(0 x12)DC250(0 x32)50(0 x32)2 28
41、2(0 x52)82(0 x52)R R114(0 x72)114(0 x72)r r19(0 x13)DC351(0 x33)51(0 x33)3 383(0 x53)83(0 x53)X X115(0 x73)115(0 x73)s s20(0 x14)DC452(0 x34)52(0 x34)4 484(0 x54)84(0 x54)T T116(0 x74)116(0 x74)t t21(0 x15)NAK53(0 x35)53(0 x35)5 585(0 x55)85(0 x55)U U117(0 x75)117(0 x75)u u22(0 x16)SYN54(0 x36)54(0
42、x36)6 686(0 x56)86(0 x56)V V118(0 x76)118(0 x76)v v23(0 x17)TB55(0 x37)55(0 x37)7 787(0 x57)87(0 x57)W W119(0 x77)119(0 x77)w w24(0 x18)CAN56(0 x38)56(0 x38)8 888(0 x58)88(0 x58)X X120(0 x78)120(0 x78)x x25(0 x19)EM57(0 x39)57(0 x39)9 989(0 x59)89(0 x59)Y Y121(0 x79)121(0 x79)y y26(0 x1A)SUB58(0 x3A
43、):90(0 x5A)90(0 x5A)Z Z122(0 x7A)122(0 x7A)z z27(0 x1B)ESC59(0 x3B);91(0 x5B)123(0 x7B)28(0 x1C)FS60(0 x3C)94(0 x5E)126(0 x7E)31(0 x1F)US63(0 x3F)?95(0 x5F)127(0 x7F)DEL表1-6 ASC码表(1)首先我们要养成一个习惯:每个项目建立一个空文件夹,把该项目的工程文)首先我们要养成一个习惯:每个项目建立一个空文件夹,把该项目的工程文件、件、C程序文件、程序文件、Proteus仿真图形文件放到里面,以避免和其他项目的文件混合,仿真图形
44、文件放到里面,以避免和其他项目的文件混合,如下图如下图1-8先创建了一个名为先创建了一个名为“dpj”文件夹。文件夹。 (2)启动)启动KEIL C软件软件1.3.3 单片机编程软件单片机编程软件Keil C使用使用(3)点击)点击“project - New uVision Project”新建一个工程:新建一个工程: 在对话框,选择将工程放在刚才建立的在对话框,选择将工程放在刚才建立的“dpj”文件夹下,给这个工程取个文件夹下,给这个工程取个名名“test”后保存,不需要填后缀。后保存,不需要填后缀。1.3.3 单片机编程软件单片机编程软件Keil C使用使用(4)在弹出对话框中,在)在弹
45、出对话框中,在CPU类型下我们找到并选中类型下我们找到并选中“Atmel”下的下的AT89C51或或52:(5)以上工程创建完毕,接下来开始建立一个源程序文本文件:)以上工程创建完毕,接下来开始建立一个源程序文本文件: 1.3.3 单片机编程软件单片机编程软件Keil C使用使用(6)写入或复制一个完整的)写入或复制一个完整的C程序程序源程序存盘,在如图源程序存盘,在如图1-15对话框中输入源程序文件名名称,在这里笔者对话框中输入源程序文件名名称,在这里笔者示例输入示例输入“test”,这个名称,同样大家可以按规则命名。注意一定要加,这个名称,同样大家可以按规则命名。注意一定要加上后缀名:如果
46、采用上后缀名:如果采用C语言,则是语言,则是“test.c”;汇编语言,则是;汇编语言,则是“test.asm”,然后保存。然后保存。 1.3.3 单片机编程软件单片机编程软件Keil C使用使用/*程序:程序:xm1-1.c 功能:控制一个信号灯闪烁程序功能:控制一个信号灯闪烁程序*/#include /包含头文件包含头文件REG51.H,定义了,定义了MCS-51单片机的特殊功能寄存器单片机的特殊功能寄存器sbit P1_0=P10;/定义位名称定义位名称,注意自定义的位变量注意自定义的位变量P1_0其字母其字母P大写小写均可,而大写小写均可,而/P10是特殊功能寄存器的是特殊功能寄存器的
47、1位,所以位,所以P必须大写。必须大写。void delay(unsigned char i); /延时函数声明延时函数声明void main()/主函数主函数 while(1) P1_0=1; /点亮信号灯点亮信号灯 delay(100);/调用延时函数,实际变量为调用延时函数,实际变量为100,实现,实现0.1S延时。延时。 P1_0=0; /熄灭信号灯;熄灭信号灯; delay(100);/调用延时函数,实际变量为调用延时函数,实际变量为100,实现,实现0.1S延时。延时。 /函数名:函数名:delay/函数功能:实现软件延时函数功能:实现软件延时/形式参数:形式参数:unsigned
48、 char i; i控制外循环次数,共循环控制外循环次数,共循环i*124次,实现次,实现i*1ms延时。延时。/返回值:无返回值:无void delay(unsigned char i) /延时函数,无符号字符型变量延时函数,无符号字符型变量i为形式参数为形式参数 unsigned char j,k;/定义无符号字符型变量定义无符号字符型变量j和和k for(k=0;ki;k+)/双重双重for循环语句实现软件延时循环语句实现软件延时 for(j=0;j124;j+);/采用采用12MHZ晶振,则此循环的时间约为晶振,则此循环的时间约为1ms1.3.3 单片机编程软件单片机编程软件Keil
49、C使用使用如图如图1-16所示,右键单击所示,右键单击“Source Group1” 选择选择“Add Files”,在对话框中在对话框中找到自己刚才存盘的找到自己刚才存盘的C文件,单击一次文件,单击一次“ADD”即可完成,注意在点即可完成,注意在点“ADD”按按钮时会感到奇怪,怎么对话框不会消失呢?不管它,直接点击钮时会感到奇怪,怎么对话框不会消失呢?不管它,直接点击“Close”关闭就关闭就行了,此时大家可以看到程序文本字体颜色已发生了变化。如果要移除文件,行了,此时大家可以看到程序文本字体颜色已发生了变化。如果要移除文件,在左侧文件窗口中,右键单击相应的在左侧文件窗口中,右键单击相应的C
50、文件,在菜单中选择文件,在菜单中选择“Remove File”,确定即可移除文件。确定即可移除文件。(7)项目中加入源程序)项目中加入源程序 1.3.3 单片机编程软件单片机编程软件Keil C使用使用 (8)项目并进行设置)项目并进行设置 在在Output栏勾选中栏勾选中Create HEX File,使编译器输出单片机需要的,使编译器输出单片机需要的HEX文件文件设置晶振频率,建议初学者修改成设置晶振频率,建议初学者修改成12M,因,因12MHZ方便计算指令周期方便计算指令周期1.3.3 单片机编程软件单片机编程软件Keil C使用使用(9)工程项目创建和设置全部完成!点击保存并编译)工程
51、项目创建和设置全部完成!点击保存并编译 注意避免出现没有加入源程序就编译。此时没有错误提示,显示注意避免出现没有加入源程序就编译。此时没有错误提示,显示2个警告休息。查看的方法是点击个警告休息。查看的方法是点击Source Group1左边的加号展开项目左边的加号展开项目文件,看到有编辑的文件,看到有编辑的C程序名字才能编译。程序名字才能编译。 编译的编译的C源程序一定要保证图中源程序一定要保证图中1和和2是同一个程序。初学者可能会是同一个程序。初学者可能会修改的是一个程序,而加入项目中编译的是另外一个程序。修改的是一个程序,而加入项目中编译的是另外一个程序。 温馨提示:温馨提示:C51常见错
52、误参考附录一。常见错误参考附录一。1.3.3 单片机编程软件单片机编程软件Keil C使用使用(1) 进入进入Proteus ISIS(2)工作界面介绍)工作界面介绍 1.3.4 仿真工具仿真工具Proteus使用使用 (3)单击)单击File/New Design,在对话框中单击,在对话框中单击“OK”新建文件,保存为新建文件,保存为RW1.DSN。 (4)加入以下元器件。在图)加入以下元器件。在图1-23所示器件对话框中输入以下元器件的名字,所示器件对话框中输入以下元器件的名字,出现器件后,在绘图区域单击鼠标就会出现器件,再在指定位置单击一下鼠标出现器件后,在绘图区域单击鼠标就会出现器件,
53、再在指定位置单击一下鼠标即可将器件放在绘图区域中。即可将器件放在绘图区域中。 1.3.4 仿真工具仿真工具Proteus使用使用(5)按图连线)按图连线XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3
54、.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRCFILE=led.hex+5vX1CRYSTALC122pFC222pFC322uFR21kR310kD1LED-GREENR1220 l注意器件之间要有一定的位置,靠太近则会连接不上。注意器件之间要有一定的位置,靠太近则会连接不上。l也不要将器件直接放在线上就认为连接好了。也不要将器件直接放在线上就认为连接好了。l连接好电路图后单击连接好电路图后单击“Tools/Electrical Rule Che
55、ck”,进行电气规则,进行电气规则检查。显示检查。显示“Netlist Generated OK”和和“No ERC errors found”则表示通则表示通过了电气规则检查。过了电气规则检查。1.3.4 仿真工具仿真工具Proteus使用使用(6)仿真调试)仿真调试 a) 在仿真电路图上选中单片机在仿真电路图上选中单片机AT899C51,双击,双击AT89C51,在出现的对,在出现的对话框里点击话框里点击Program File:后面打开文件的按钮,装入:后面打开文件的按钮,装入HEX文件,然后文件,然后点击点击“OK”按钮;按钮;b) 点击模拟调试按钮的运行按钮,进人调试状态;点击模拟调
56、试按钮的运行按钮,进人调试状态;c) 观察发光二极管是否一亮一灭在闪烁。观察发光二极管是否一亮一灭在闪烁。 1.3.4 仿真工具仿真工具Proteus使用使用1 启动下载软件 下载操作按照下图进行操作。下载操作按照下图进行操作。1.3.5 下载工具下载工具STC下载软件使用下载软件使用 当显示一个蓝色的进度条后,给实验板通电就可以完成程序下载过程(如果实验板已经通电,则必须关掉电源 5 秒钟再次通电)。一定要是先断电再点下载再开电! 2 下载程序 1 启动下载软件1.3.5 下载工具下载工具STC下载软件使用下载软件使用 先用鼠标右键单击桌面上的“我的电脑”图标,选择“管理”,打开如图1-34的“计算机管理”对话框,在左边选择“设备管理”后,再在右边选择“端口”,单击“端口”左侧的“+”号,将端口打开,即可看到计算机的串口及串口号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026西安未央汉城医院招聘考试备考题库及答案解析
- 2026浙江温州市洞头区海霞文化发展中心第二期招聘笔试备考题库及答案解析
- 2026四川乐山市沐川县招聘城镇公益性岗位1人考试备考题库及答案解析
- 2026中国东航空保管理部校园招聘考试备考题库及答案解析
- 四川电信实业集团有限责任公司下属事业单位2026年上半年公开招聘工作人员补充笔试模拟试题及答案解析
- 2026四川成都市武侯区望江路社区卫生服务中心招聘1人笔试模拟试题及答案解析
- 2026年四川省内江市隆昌市全国普通高中初三二月大联考英语试题含解析
- 2026年江苏省南京玄武区重点中学初三模拟测试英语试题含解析含解析
- 山东省青岛育才中学2026届初三5月阶段性考试语文试题含解析
- 清洁能源技术运用保证承诺书4篇
- 郑州大学高层次人才考核工作实施办法
- 土壤氡浓度检测方案
- 2024年中国农业大学招聘笔试真题
- DBJT13-366-2021 建筑工程附着式升降脚手架应用技术标准
- 麻醉科应急预案及流程
- 上海市第一至十八届高一物理基础知识竞赛试题及答案
- DB3303T 031-2021 民营经济健康发展评价指标体系
- 《皮肤性病学4》课程标准
- 动火作业方案及安全措施
- 财务管理实习报告范文
- 水运港口专题知识讲座
评论
0/150
提交评论