《单片机入门与提高培训.ppt》由会员分享,可在线阅读,更多相关《单片机入门与提高培训.ppt(122页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机入门与提高培训2021/9/271一、学好单片机的必要性1、从就业角度目前各电子公司都离不开单片机设计者,需求较大,就业率高。2、从学习知识本身单片机是专业课里的基础课,是培养软硬件设计基础最合适的一门技术。学好单片机有利于以后较复杂课程的学习,比如,嵌入式系统、dsp、fpga等课程。2021/9/272二、学好单片机的基础条件1、兴趣第一,具备学习电子技术的兴趣是学好单片机的最重要的条件,基础差可以从头开始一点点弥补,脑子笨可以靠勤奋弥补,没有钱买学习工具可以从嘴里省,但没有兴趣只能劝你换个方向了,毕竟你已过了培养兴趣的时期了。2、坚持,学习中不可避免的要碰到困难,有的同学学好了,他
2、可以享受其中的快乐;有的同学没学好,他在怀疑自己的智商,世上无笨人,一句话“缺乏坚持”。2021/9/273三、学习单片机的几点建议1、要有一些必备学习工具:电脑(配置不用太高)、学习板(单片机开发板)、焊接工具。2、要掌握一门语言,汇编语言或C语言都行,推荐使用C语言。3、熟练使用一种编译软件,推荐Keil C。4、会用一种电路图和PCB设计工具,推荐protel。5、好好利用网络资源,尽可能自己解决问题,这也是提高自学能力的一种方法。6、要舍得在学习上投入时间、精力、钱,少上几次网吧,少吃几样零食,剩下的钱就可以买很多元器件,一年的零花钱够买好几块开发板了。记住买这些不是乱花,这是投资,它
3、的回报率是最高的。2021/9/274本次培训使用的开发板 2021/9/275参考书单片机原理与实例应用 万隆主编 清华大学出版社 2011年1月单片原理及应用技术 万隆、巴奉丽主编 清华大学出版社 2010年3月学习C语言的好书:C Primer Plus Stephen Prata著 人民邮电出版社2021/9/276本次培训要达到的目标:能够熟悉单片机的内部结构和工作原理能够熟练掌握单片机常用的外围电路的使用能够熟悉常用的总线协议的应用能够熟悉单片机开发环境和调试过程能够熟练掌握C语言的编程方式2021/9/2772021/9/278一、常用电子元件基础知识一、电阻器基础知识电阻器是电
4、路元件中应用最广泛的一种,主要用途是稳定和调节电路中的 电流和电压,其次还作为分流器分压器和负载使用。2021/9/2791分类 在电子电路中常用的电阻器有固定式电阻器和电位器。按制作材料和工艺不同,固定式电阻器可分为:膜式电阻(碳膜 RT、金属膜 RJ、合成膜 RH 和氧化膜 RY)、实芯电 阻(有机 RS 和无机 RN)、金属线绕电阻(RX)、特殊电阻(MG 型光敏电阻、MF 型热 敏电阻)四种。2021/9/2710碳膜电阻器 气态碳氢化合物在高温和真空中分 解,碳沉积在瓷棒或者瓷管上,形成一 层结晶碳膜。改变碳膜厚度和用刻槽的 方法变更碳膜的长度,可以得到不同的 阻值。碳膜电阻成本较低
5、,性能一般。2021/9/2711金属膜电阻 在真空中加热合金,合金蒸发,使 瓷棒表面形成一层导电金属膜。刻槽和 改变金属膜厚度可以控制阻值。这种电 阻和碳膜电阻相比,体积小、噪声低、稳定性好,但成本较高。2021/9/2712电位器 2021/9/2713电阻的参数 额定功率:在规定的环境温度和湿度下,假定周围空气不流通,在长期连续负载 而不损坏或基本不改变性能的情况下,电阻器上允许消耗的最大功率。一般选其额定功率比它在电路中消耗的功率高 1-2 倍。额定功率分 19 个等级,常 用的有 0.05W、0.125W、0.25W、0.5W、1W、2W、3W、5W、7W、10W2021/9/271
6、4标称阻值:产品上标示的阻值,其单位为欧,千欧、兆欧,标称阻值都应符合下 表所列数值乘以 10N欧,其中N为整数。2021/9/2715允许误差:电阻器和电位器实际阻值对于标称阻值的最大允许偏差范围,它表示 产品的精度,允许误差的等级如下表所示。2021/9/2716电阻器的在电路中的参数标注方法有3种,即直标法、色标法和数标法。a、直标法是将电阻器的标称值用数字和文字符号直接标在电阻体上,其允许偏差则用百分数表示,未标偏差值的即为20%.如4.7K。2021/9/2717b、数码标示法主要用于贴片等小体积的电路,在三为数码中,从左至右第一,二位数表示有效数字,第三位表示10的倍幂或者用R表示
7、(R表示0.)如:472 表示 4710 2(即4.7K);104则表示100KR22表示0.22122=1200=1.2K1402=14000=14KR22=0.22、17R8=17.8、000=0、0=0.2021/9/2718c、色环标注法使用最多,普通的色环电阻器用4环表示,精密电阻器用5环表示,紧靠电阻体一端头的色环为第一环,露着电阻体本色较多的另一端头为末环。2021/9/2719电容电容器是一种储能元件,在电路中用于调谐、滤波、耦合、旁路、能量转换和延 时。电容器通常叫做电容。2021/9/27202021/9/2721常用电容的结构和特点 铝电解电容 它是由铝圆筒做负极,里面装
8、有液 体电解质,插入一片弯曲的铝带做正极 制成。还需要经过直流电压处理,使正 极片上形成一层氧化膜做介质。它的特 点是容量大,但是漏电大,误差大,稳 定性差,常用作交流旁路和滤波,在要 求不高时也用于信号耦合。电解电容有 正、负极之分,使用的时候,正负极不要接反2021/9/2722陶瓷电容 用陶瓷做介质,在陶瓷基体两面喷 涂银层,然后烧成银质薄膜做极板制 成。它的特点是体积小,耐热性好、损 耗小、绝缘电阻高,但容量小,适宜用 于高频电路。铁电陶瓷电容容量较大,但是损耗 和温度系数较大,适宜用于低频电路。2021/9/2723钽、铌电解电 容 它用金属钽或者铌做正极,用稀硫 酸等配液做负极,用
9、钽或铌表面生成的 氧化膜做介质制成。它的特点是体积 小、容量大、性能稳定、寿命长、绝缘 电阻大、温度特性好。用在要求较高的 设备中。2021/9/2724电容器的容量单位电容量的单位是法拉(F),简称法。通常法的单位太大,常用它的百万分之一作单位,称为微法(F),更小的单位是皮法(pF),它们之间的关系是1f=106f 1f=106 pf1nf=103 pf通常在容量小于 10000pF 的时候,用 pF 做单位,大于 10000pF 的时候,用 uF 做单位。2021/9/2725二、电容的主要参数二、电容的主要参数(1)标称容量 是指电容两端加上电压后它能储存电荷的能力。储存电荷越多,电容
10、量 越大:反之,电容量越小。标在电容外部上的电容量数值称电容的标称容量。2021/9/2726常用固定电容的标称容量系列 2021/9/2727(2)额定耐压值 是表示电容接入电路后,能连续可靠地工作,不被击穿时所能承受的最大直流电压。使用时绝对不允许超过这个电压值,否则电容就要损坏或被击穿。一般选择电容额定电压应高于实际工作电压的10%20%。如果电容用于交流电路中,其最大值不能超过额定的直流工作电压(3)允许误差电容的容量误差一般分为三级,即:士5%、士10%、士20%,或写成 I 级、II 级、III 级。有的电解电容的容量误差可能大于20%。2021/9/2728电容器的标注方法1.直
11、标法:电容器的直标法与电阻器的直标法一样,在电容器外壳上直接标出标称容量和允许偏差。还有不标单位的情况,当用整数表示时,当用整数表示时,单位为单位为pFpF;用小数表示时,单位为;用小数表示时,单位为F F。举例:2200为2200pF。0.056为0.056F有时用小于四位数表示标称容量,如22为22 pF2021/9/2729直标法示例2021/9/27302.色标法顺着引线方向,第一、二环表示有效值,第三环表示倍乘。也有用色点表示电容器的主要参数。电容器的色标法与电阻相同。2021/9/27313.文字符号法:采用单位开头字母(P、n、m、F)来表示单位量,允许偏差和电阻的表示方法相同。
12、电容器的标注方法.1%PF,C.%PF,.%PF,1%PF小于1PF的电容,其允许偏差用字母代替:2021/9/2732电容器文字符号法示例电容量标注方法电容量标注方法0.1pFp11F 1 0.59pFP595.9F 5 91pF1p33F 33 5.9pF5p9590F 590 100pF100p1000F 1m1000pF1n5900F 5m93300pF3n333103F 33m5900pF5n9590103 F 590m59000pF59n1F1F330000pF330n3.3F3F3590000pF590n5.9F5F92021/9/27334.数码法:是用三位数来表示标称容量,再
13、用一个字母表示允许偏差,如104、103等。电容器的标注方法贴贴片片薄薄膜膜电电容容 前两位数是表示有效值有效值,第三位数为倍乘倍乘,即10的多少次方。对于非电解电容器,其单位为pF,而对电解电容器而言单位为F。2021/9/2734电容器数码法举例 标称100的电容容量为 10100=10pF.标称223的电容容量为 22103=22000 pF=0.022F 电解电容100 容量为 10100=10F 电解电容010 容量为 01100=1100=1F 标称229的电容容量为 2210-1=2.2 pF这种表示法的容量范围仅限于1.09.9pF2021/9/2735单片机什么是单片机?在一
14、片集成电路芯片上集成微处理器、存储器、I/O接电路,从而构成了单芯片微型计算机,即单片机2021/9/273651单片机的内部结构图2021/9/2737CPU:中央处理器包括运算器和控制器两部分电路 运算器是由算数逻辑单元、累加器A、寄存器B、暂存器(TEMP)、程序状态寄存器(PSW)组成。控制器是由指令寄存器IR、指令译码器ID、程序计数器PC、数据指针DPTR、堆栈指针SP、RAM地址寄存器、时钟发生器以及控制逻辑组成的。2021/9/2738存储器:51系列单片机的ROM和RAM是截然分开、分别寻址的结构,称为哈佛结构,CPU会用不同的指令访问不同的存储器空间。2021/9/2739
15、I/O接口接口 1并行接口并行接口2串行接口:串行接口:P3.0串行接口输入端和串行接口输入端和P3.1串行接口输出端串行接口输出端 2021/9/2740引脚分布2021/9/2741如何让它工作?最小系统2021/9/2742电源、地时钟电路:内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz12MHz之间。2021/9/2743可以了解一下时序一个节拍的宽度实际上就等于一个振荡周期;一个状态包括两个节拍;一个机器周期由6个状态周期组成。2021/9/2744复位电路参考最小系统电
16、路2021/9/2745程序存储器:复位:0000H和几个中断入口地址(p18)数据存储器:工作寄存器区(R0-R7)00H-1FH位寻址区20H2FH堆栈特殊功能寄存器区2021/9/2746数据存储器的映像2021/9/2747第二讲 C51 的基础知识C语言优点:应用广泛:单片机、dsp、嵌入式不依赖硬件,方便移植C提供了很多函数,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。2021/9/2748C-51C-51与与ASM-51ASM-51相比,有如下优点:相比,有如下优点:1.对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步了解;2.寄存器分配、不同存贮器
17、的寻址及数据类型等细节可由编译器管理;3.程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;4.提供的库包含许多标准子程序,具有较强的数据处理能力;5.由于具有方便的模块化编程技术,使已编好程序可容易地移植;2021/9/2749C51数据类型数据类型数据类型长度取值范围字符型signed char1Byte-128+127unsigned char1Byte0255整型signed int2Bytes-32768+32767unsigned int2Bytes065535长整型signed long4Bytes-2147483648+2147483647unsigned long4
18、Bytes04294967295浮点型float4Bytes1.175494E-383.402823E+38指针型*13 Bytes对象的地址位型bit1bit0或1sbit1bit0或1访问SFRsfr1Byte0255sfr162Bytes065535需注意在C51编译器中int和short相同,float和double相同 2021/9/2750数据的存储器类型数据的存储器类型2021/9/2751这里有个要注意的:当用sbit访问内部数据存储区的可位寻址区,则必须要有用bdata存储类型声明的变量并且是全局的,即必须有如下变量声明:int bdata ibase;/可位寻址的整型变量c
19、har bdata array4;/可位寻址的字符型数组变量ibase和bary是可位寻址的,因此这些变量的每个位是可以直接访问和修改的,故可以用sbit关键字声明新的变量,来访问它们的各个位,例如:sbit mybit0=ibase0;/ibase的第0位sbit mybit15=ibase15;/ibase的第15位2021/9/2752C-51C-51的包含的头文件的包含的头文件通常有通常有:reg51.h reg52.h math.h ctype.h reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.hstdio.h stdl
20、ib.h absacc.h 2021/9/2753C-51C-51的运算符的运算符与与C C语言基本相同:语言基本相同:+-*/+-*/(加(加 减减 乘乘 除)除)=(位右移(位右移 位左移)位左移)&|&|(按位与按位与 按位或按位或)(按位异或按位异或 按位取反按位取反)2021/9/2754 C-51C-51的基本语句的基本语句 与标准与标准C C语言基本相同:语言基本相同:if if 选择语言选择语言 while while 循环语言循环语言 for for 循环语言循环语言 switch/case switch/case 多分支选择语言多分支选择语言 do-while do-whi
21、le 循环语言循环语言 2021/9/2755中断服务程序中断服务程序函数名()函数名()interrupt interrupt n n using using m m 函数内部实现函数内部实现.I/OI/O口定义口定义sbit beep=P23;sbit beep=P23;2021/9/2756其它c语言方面的知识,我们会边讲边介绍。2021/9/2757KEIL C51开发环境结合软件讲解2021/9/2758第三讲 基本I/O的使用51系列单片机有4组I/O端口,每组端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0P3)、一个输出驱动器和输入缓冲器。通常把
22、4组端口笼统地表示为P0P3。2021/9/2759一、I/O口的输出控制:任务一 点亮一个LED灯任务二 流水灯实验原理图参考开发板说明书练习1:控制8个led左右循环。作业一:P0口做通用I/O输出口,控制8只发光二极管从左到右依次点亮,再依次熄灭。参考lesson 12021/9/2760二、I/O的输出控制独立按键的使用任务三:初始化学习板上的小灯为全灭,然后按下独立按键key1点亮led0,key2点led1,-key4-led3。2021/9/2761练习二 利用独立按键来控制8个led循环亮灭的速度。按key1循环速度加,按key2循环速度减。2021/9/2762第四讲 数码管
23、显示LED显示器是单片机应用系统中常用的输出器件。它是由若干个发光二极管组成的,当发光二极管导通时,相应的一个点或一个笔画发亮。2021/9/2763共阴极数码管公共端接地,共阳极数码管公共端接电源。每段发光二极管需要510mA的驱动电流才能正常发光,一般需加限流电阻控制电流的大小。2021/9/27642.显示原理显示原理以共阴极为例:LED数码管的ag七个发光二极管。共阴极LED显示器的发光二极管的阴极连在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。2021/9/2765 数码管字型码显示字符共阳极字码共阴极字码显示字符共阳极字码共阴极字码0
24、FCHB3EH160HC9CH2DAHD7AH3F2HE9EH466HF8EH5B6HPCEH6BEHU7DH7E0HL1CH8FEHH76H9E6H“灭”00HAEEH2021/9/2766数码管的显示方法可以分为两种,即静态显示和动态显示。1)LED静态显示 静态显示就是当要显示某个数字时,可以通过给LED的数据引脚设置相应的高低电平即可实现显示相应数据。2021/9/2767任务一 编写程序,让开发板上的数码管显示数值0.任务二 编写程序,让数码管从0-F依次循环显示,时间间隔一秒。电路图参考开发版说明书练习:编写程序,让开发板上的8位数码管先第0位显示0,其他位不显示,然后第1位显示1
25、,每次只有1位数码管显示,按此顺序显示到7,时间间隔为1秒。2021/9/27682)LED动态显示所谓动态显示就是将要显示的数按显示数的顺序在各个数码管上一位一位的显示,它利用人眼的驻留效应使人感觉不到是一位一位显示的,而是一起显示的。2021/9/2769任务三 在开发板上显示12345678练习二实现从1 to 99计数,利用两位数码管.2021/9/2770第5讲 定时器/计数器 51系列单片机内部有两个16位可编程定时器/计数器,即定时器T0和定时器T1。微 处 理 器(CPU)TH1TL1TH0TL0TCONTMOD图6-17 定时/计数器T0、T1的结构框图P3.5(T1)P3.
26、4(T0)2021/9/2771定时/计数器的工作原理 定时/计数器T0和T1的实质是加1计数器,即每输入一个脉冲,计数器加1,当加到计数器全为1时,再输入一个脉冲,就使计数器归零,且计数器的溢出使TCON中的标志位TF0或TF1置1,向CPU发出中断请求。只是输入的计数脉冲来源不同,把它们分成定时与计数两种功能。作定时器时脉冲来自于内部时钟振荡器,作计数器时脉冲来自于外部引脚。2021/9/2772定时/计数器的控制与实现 1.工作方式寄存器 TMOD(89H)用于设置定时/计数器的工作方式,低4位用于T0,高4位用于T1。其格式如下:2021/9/2773(1)GATE:门控位。GATE0
27、时,当软件使TCON中的TR0或TR1设置为“1”,则启动定时/计数器工作;GATA1时,软件使TR0或TR1设置为“1”,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。2021/9/2774(2)C/T :定时/计数模式选择位。C/T0为定时模式;C/T=1为计数模式。2021/9/2775(3)M1M0:工作方式设置位。定时/计数器有4种工作方式,由M1M0进行设置,如表所示。M1M0工作方式功能说明00方式013位定时/计数器01方式116位定时/计数器10方式28位自动重装初值定时/计数器11方式3T0分成两个独立的8位定时/计数器;T1此方式停止计数2021/9/2776
28、2.控制寄存器TCON(88H)TCON的低4位用于控制外部中断,TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:2021/9/2777 (1)TF1:定时/计数器T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为“1”。在进入中断服务程序后TF1由硬件自动清“0”;若用于查询方式,此位可作为状态位供查询,但应注意查询后由软件清“0”。(2)TF0:定时/计数器T0溢出中断请求标志位,其功能与TF1类同。2021/9/2778(3)TR1:定时/计数器T1运行控制位。TR1置“1”时,定时/计数器T1开始工作;TR1置“0”时,定时/计数器T1停止工作。TR1由软件置
29、“1”或清“0”。(4)TR0:定时/计数器T0运行控制位,其功能与TR1类同。2021/9/2779定时定时/计数器的工作方式计数器的工作方式51单片机定时/计数器T0有4种工作方式(方式0、1、2、3);T1有3种工作方式(方式0、1、2);2021/9/2780方式1 当M1M0为01时,定时/计数器工作于方式1,如图。2021/9/2781方式1的计数位数是16位,由TL0作为低8位、TH0 作为高8位,组成了16位加“1”计数器。计数个数M与计数初值N的关系为M216N。用于定时功能时,定时时间t的计算公式为:t=M机器周期=(216N)机器周期若晶振频率为12MHz,机器周期=1,
30、初值N=0 65535范围时,则可定时范围为165.536ms。用于计数功能时,初值N=065535范围时,计数 范围为165536。2021/9/2782任务3-1 利用定时器方式1,小灯以1s闪亮,亮时,蜂鸣器以20hz的频率鸣叫;练习3-1 利用定时器实现1s定时,控制led小灯1S循环.2021/9/2783第六讲 中断系统 中断是计算机中是很重要的一个概念,中断系统是计算机的重要组成部分。中断源中断源51单片机共有5个中断源:外部中断0、外部中断1、定时/计数器中断0、定时/计数器中断1、串行口中断。每个中断源对应一个固定的中断入口地址。当某中断源的中断请求被CPU响应之后,CPU从
31、中断入口处获取中断服务程序的入口地址,进入相应的中断服务程序。各中断源入口地址及优先级如表6-2所示,图6-12为51中断系统结构示意图。2021/9/2784最低级中断源请求标志入口地址优先级外部中断0IE00003H 最高级定时器中断0TF0000BH外部中断1IE10013H定时器中断0TF1001BH串行口发送/接受中断TI/RI002BH2021/9/2785一、中断请求标志1、TCON的中断标志IT0(TCON.0),外部中断0触发方式控制位。当IT0=0时,为电平触发方式。当IT0=1时,为边沿触发方式(下降沿有效)。IE0(TCON.1),外部中断0中断请求标志位。中断控制20
32、21/9/2786IT1(TCON.2),外部中断1触发方式控制位。IE1(TCON.3),外部中断1中断请求标志位。TF0(TCON.5),定时/计数器T0溢出中断请求标志位。TF1(TCON.7),定时/计数器T1溢出中断请求标志位。2021/9/27872、SCON的中断标志RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清除。TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须
33、由软件清除。2021/9/27881、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。二、中断的控制 EX0(IE.0),外部中断0允许位;ET0(IE.1),定时/计数器T0中断允许位;EX1(IE.2),外部中断0允许位;ET1(IE.3),定时/计数器T1中断允许位;ES(IE.4),串行口中断允许位;EA(IE.7),CPU中断允许(总允许)位。2021/9/2789PX0(IP.0),外部中断0优先级设定位;PT0(IP.1),定时/计数器T0优先级设定位;PX1(IP.2),外部中断0优先级设定位;PT1(IP.3),定时/计数器T1优
34、先级设定位;PS (IP.4),串行口优先级设定位;PT2(IP.5),定时/计数器T2优先级设定位。2021/9/2790单片机的中断优先级有单片机的中断优先级有3条原则:条原则:CPU同时接受到几个中断时,首先响应优先级别最高的中断请求;正在进行的中断过程不能被新的同级或低优先级的中断请求所中断;正在进行的低优先级中断服务,能被高优先级中断请求所中断。2021/9/2791中断响应的条件中断响应的条件CPU中断响应的条件是:中断源有中断请求此中断的中断允许位为1CPU开总中断同时满足这3个条件时,CPU才有可能响应中断。2021/9/2792任务4-1 利用定时器中断方式,来实现任务3-1
35、的功能.练习4-1利用定时器中断方式,来实现练习3-1的功能.练习 4-2同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔2s依次输出1,10,50,100,200,400,800,1k(hz)的方波?设晶振频率为12MHz。2021/9/2793练习4-3 中断的嵌套,开机1S后,蜂鸣器响,然后按外部中断按键,使蜂鸣器停止响一段时间后再响.2021/9/2794串行通信51系列单片机的串行口占用P3.0和P3.1两个引脚,是一个全双工的异步串行通信接口,可以同时发送和接受数据。P3.0是串行数据接收端RXD,P3.1是串行数据发送端TXD。51单片机串行
36、接口的内部结构如图6-30所示。2021/9/2795图6-30 串行口结构示意图2021/9/27961)串行接口控制寄存器SCON(98H)用于控制串行接口的工作状态,其格式如下:位D7D6D5D4D3D2D1D0字节地址SCONSM0SM1SM2RENTB8RB8TIRI98H位地址9FH9EH9DH9CH9BH9AH99H98H串行口相关寄存器2021/9/27972021/9/27982021/9/27992021/9/271002021/9/27101电源控制寄存器PCON(97H)其中只有1位SMOD与串行接口工作有关,格式如下:SMOD:波特率系数控制位。在串行接口方式1、方式
37、2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率加倍,否则不加倍。复位时,SMOD=0。PCON的地址为97H,不能位寻址,需要字节传送。位D7D6D5D4D3D2D1D0字节地址PCONSMOD97H2021/9/27102表 常用波特率、晶振频率与定时器(T1)的参数关系串行口工作方式及波特率(bit/s)fosc/MHzSMOD定时器(T1)C/T()方式初始值方式0最大:1M12方式2最大:375K121方式1、3:62.5K12102FFH19.2K11.0592102FDH960012102F9H480012102F3H240012002F3H120012102F6H9
38、60011.0592002FDH480011.0592002FAH240011.0592002F4H120011.0592002E8H2021/9/27103任务5-1 单片机在按键的控制下发送一组数据,PC机接收,利用串行口调试助手查看结果任务5-2 PC机发送,单片机接收数据,将数据通过数码管显示.2021/9/27104按键接口原理及应用按键接口原理及应用列线通过电阻接正电源,并将行线所接的单片机I/O端口作为输出端,而列线所接的I/O端口则作为输入端.当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有健按下时,则输入线就会被拉低,这样,通过读入输入线的状态
39、就可得知是否有健按下了.2021/9/27105常用的键识别方式有:行扫描法,线翻转法、中断法。2021/9/27106行扫描法将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置。方法:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测个列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。2021/9/27107这里咱们采用翻转法。任务6-1 利用数码管显示键值
40、2021/9/27108IIC总线 IIC总线是PHILIPS公司推出的串行总线,它是一种简单、双向二线制同步串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息。2021/9/27109IIC总线数据的通信协议 1IIC接口接口IIC总线的串行数据线SDA和串行时钟线SCL必须经过上拉电阻Rp接到正电源上。当总线空闲时,SDA和SCL必须保持高电平。2021/9/271102起始和终止信号起始和终止信号对IIC器件的操作总是从一个规定的启动(Start)时序开始,即SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;信息传输完成后总是以一个规定的停止(Stop)时序结束,即S
41、CL为高电平时,SDA由低电平向高电平跳变,结束传送数据。时序图如图8-11。起始信号和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生一段时间后,总线就处于空闲状态。2021/9/27111图8-11 起始/停止时序2021/9/27112在进行数据传输时,SDA线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变,如图8-12所示。图8-12 数据传输时序2021/9/271133字节数据传送及应答信号字节数据传送及应答信号IIC总线传送的每个字节均为8位,每次传输可以发送的字节数量不受限制,每个字节后
42、必须跟一个应答信号。首先传输的是数据的最高位,如图8-13所示 图8-13 数据传送格式2021/9/27114主控器件发送时钟脉冲信号,并在时钟信号的高电平期间保持数据线(SDA)的稳定。由最高位开始一位一位的发送完一个字节后,在第9个时钟高脉冲时,从机输出低电平作为应答信号,表示对接收数据的认可,应答信号用ACK表示。2021/9/271154完整的数据传送完整的数据传送IIC数据的传输遵循图 8-13 所示的格式。先由主控器发送一个启动信号(S),随后发送一个带读/写(R/W)标记的从地址字节(SLAVE ADDRESS),从机地址只有7位长,第8位是“读/写(R/W),用来确定数据传送
43、的方向。2021/9/271161)写格式。IIC总线数据的写格式,如图8-14。图8-14 读数据格式 2021/9/27117对于写格式,从机地址中第八位R/W应为0,表示主机控制器将发送数据给从机,从机发送应答信号(A)表示接收到地址和读写信息,接着主机发送若干个字节,每个字节后从机发送一个应答位(A)。注意根据具体的芯片功能,传送的数据格式也有所不同。主机发送完数据后,最后发送一个停止信号(P),表示本次传送结束。2021/9/271182)读格式 IIC总线数据的读格式,如图8-15 图8-15 写数据格式2021/9/27119主机发送从机地址(SLAVE ADDRESS)时将R/
44、W设位1,则表示主机将读取数据,从机接收到这个信号后,将数据传送到数据线上(SDA),主机每接收到一个字节数据后,发送一个应答信号(A)。当主机接收完数据后,发送一个非应答信号(/A),通知从机表示接收完成,然后再发送一个停止信号。2021/9/27120任务8-1:24c02向AT24C02中写入一个字节的数据,让后读取并用二极管显示出来 备注:写入一个字节的IIc时序:开始+从机地址+ACK(从机发)+要写入数据的地址+ACK(从机发)+要写入的数据+ACK(从机发)+停止 备注:读取一个字节的IIc时序:开始+从机地址+ACK(从机发)+要写入数据的地址+ACK(从机发)+开始+从机地址+ACK(从机发)+接受数据+NACK+停止 2021/9/27121测试题目1、板子上电后,先是蜂鸣器以1hz频率鸣响4声,然后数码管开始从00开始以1秒间隔计数。计数过程中,每按一次key4按键,向串行口发送实时计数值,利用串口调试助手查看。2、板子上电后,led全亮,按下key1,led以1s间隔循环,按key2循环时间间隔整加。按key3循环时间间隔减少。以上两个题目可根据自身情况任选1个,选第一题满分100分,选第二题满分60分。2021/9/27122