普中科技-51单片机(视频配套完整版)-PPT.ppt

上传人:可****阿 文档编号:92007112 上传时间:2023-05-30 格式:PPT 页数:78 大小:3.71MB
返回 下载 相关 举报
普中科技-51单片机(视频配套完整版)-PPT.ppt_第1页
第1页 / 共78页
普中科技-51单片机(视频配套完整版)-PPT.ppt_第2页
第2页 / 共78页
点击查看更多>>
资源描述

《普中科技-51单片机(视频配套完整版)-PPT.ppt》由会员分享,可在线阅读,更多相关《普中科技-51单片机(视频配套完整版)-PPT.ppt(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、普中科技-51单片机(视频配套完整版)三、排线连接方法 看视频图像四、相关的知识点 1、启动文件STARTUP.A51:它包含目标板启动代码,在每个工程中加入这个文件。只要复位,该文件则立即执行,其功能包括:1.定义内部RAM大小、外部RAM小、可重入堆栈位置。2.清除内部、外部或者以此页为单元的外部存储器。3.按存储模式初使化重入堆栈及堆栈指针。4.初始化8051硬件堆栈指针。5.向main()函数交控制权 2、头文件#Include定义了51的所有寄存器,尖括号表示在安装目录下找reg51.h双引号表示在当前工程目录下找reg51.h 3、子函数:C语言的执行从main函数开始,每个函数体

2、是相互独立,被 main函数调用的函数都是子函数,子函数与子函数也可以相互调用 4、for循环格式:for(表达式 1;表达式 2;表达式 3)语句;5、16进制数,以0 x开头的表示16进制,如:0 xff 0 x12 0 x00.8进制数,用数字0开头的数是八进制 如:023表示八进制的 23 10进制数,日常生活中用到的数字,如:100,200,30 等五、程序示例 普中科技 单片机开发仪视频教程2实验二实验二实验二实验二 按键实验按键实验按键实验按键实验 普中科技 单片机开发仪视频教程 轻触开关是一种电子开关,使用时,轻轻按开关按钮就可使开关接通,当松开手时,开关断开,其内部结构是靠金

3、属弹片受力弹动来实现通断。轻触开关由于体积小重量轻在家用电器方面得到广泛的应用,如:影音产品、.数码产品、遥控器、通讯产品、家用电器、安防产品、玩具、电脑产品、健身器材等等。但轻触开关也有它不足的地方,频繁的按动会使金属弹片疲劳失去弹性而失效。因此现在很多电器的按钮都使用导电橡胶或锅仔开关,比如电脑键盘,遥控器,手机等。关于五脚轻触开关的脚位接法:两个引脚为一组,四角是为了焊接的更加稳固,第五个引脚是为接地线用的。3二、轻触按钮开关在开发仪上应用原理图二、轻触按钮开关在开发仪上应用原理图 普中科技 单片机开发仪视频教程 三、排线连接方法 看视频图像4四、知识点四、知识点n n1.intrins

4、.h1.intrins.h:_nop_nop_函数在此头文件中,此函数是空指令函数,相当汇编函数在此头文件中,此函数是空指令函数,相当汇编NOPNOP指令。指令。n n2.Sbit 2.Sbit 关键字:是关键字:是Keil CKeil C增加的关键字,用来定义位变量,它有三种用法:增加的关键字,用来定义位变量,它有三种用法:n n 1.sbit 1.sbit 位变量名位变量名=地址值地址值 例如例如:sbit AC=0 xD6:sbit AC=0 xD6 n n 2.sbit 2.sbit 位变量名位变量名=寄存器名称寄存器名称 寄存器某位的序号寄存器某位的序号 例如例如:sbit K1=P

5、00:sbit K1=P00 n n 3.Sbit 3.Sbit 位变量名位变量名=寄存器地址寄存器地址 寄存器某位的序号寄存器某位的序号 例如例如:sbit K2=:sbit K2=0 x8010 x801n n3.While3.While循环语句:循环语句:n n while while语句用来语句用来“当型当型”循环结构,它的格式:循环结构,它的格式:while(while(表达式表达式)语句;语句;当表达式为为当表达式为为“真真”或或“1”“1”时,循环执行时,循环执行whilewhile后面后面 内的语句,常称循环内的语句,常称循环体,当为体,当为“假假”或或“0”“0”时,不执行循

6、环体或者退出循环体语句。时,不执行循环体或者退出循环体语句。n n4.If4.If条件判断选择语句:条件判断选择语句:n n if if语句是一个条件判断选择语句。这里介绍语句是一个条件判断选择语句。这里介绍2 2种用法。它的格式:种用法。它的格式:n n if(if(表达式表达式)语句语句;/;/表达式为表达式为“真真”或或“1”“1”则执行语句,为则执行语句,为“假假”或或“0”“0”则则 /执行执行 语句后面的语句语句后面的语句 if(if(表达式表达式)语句语句1 1;/表达式为真或表达式为真或1 1时,则执行语句时,则执行语句1.1.else else 语句语句2 2;/表达式为假或

7、表达式为假或0 0时,则执行语句时,则执行语句2.2.普中科技 单片机开发仪视频教程5 5.5.逻辑运算符逻辑运算符:C:C语言提供了语言提供了3 3种逻辑运算符,种逻辑运算符,1.&1.&逻辑与(双目运算)逻辑与(双目运算)2.|2.|逻辑或逻辑或 (双目运算)(双目运算)3.3.!逻辑非(单目运算)逻辑非(单目运算)6.6.位逻辑运算符位逻辑运算符:大家不要把逻辑运算符和位逻辑运算符搞混淆,他们是有区别的,大家不要把逻辑运算符和位逻辑运算符搞混淆,他们是有区别的,位逻辑运算符是以字节中的每个位分别进行逻辑处理。逻辑运算是以位为单位和位逻辑运算符是以字节中的每个位分别进行逻辑处理。逻辑运算是

8、以位为单位和以字节为单位进行逻辑处理以字节为单位进行逻辑处理 1.&1.&位逻辑与位逻辑与 (双目运算)双目运算)相当汇编相当汇编ANL ANL 2.|2.|位位 逻辑或逻辑或 (双目运算)(双目运算)相当汇编相当汇编ORLORL 3.3.位位 逻辑非逻辑非 (单目运算)(单目运算)相当汇编相当汇编CPLCPL 关于!与关于!与 的区别:的区别:!2=0,2=0 xfd!2=0,2=0 xfd(用(用8 8位存储)位存储)0000 0010=1111 11010000 0010=1111 1101 普中科技 单片机开发仪视频教程6实验三实验三实验三实验三 继电器和蜂鸣器实验继电器和蜂鸣器实验继

9、电器和蜂鸣器实验继电器和蜂鸣器实验 普中科技 单片机开发仪视频教程继电器(英文名:Relay):可以理解为继承控制,它是一种电子控制器件。通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种自动开关。故在电路中起着自动调节、安全保护、转换电路等作用。蜂鸣器有2种:1.压电式蜂鸣器 2.电磁式蜂鸣器 1.压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。2电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。关于有源蜂鸣器和无

10、源蜂鸣器的区别:这里的“源”不是指电源。而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。无源蜂鸣器没有振荡源需要驱动的音频电流才能发声。继电器模拟示意图7 普中科技 单片机开发仪视频教程二、开发实验仪中的原理图继电器原理图蜂鸣器原理图HC6800EM3型号的原理图8大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点9 普中科技 单片机开发仪视频教程HC6800型号的原理图10 ULN2003 是高耐压、大电流达林顿阵列,由七个硅NPN 达林顿管组成。ULN2003

11、 的每一对达林顿都串联一个2.7K的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统(更详细的技术参数参考ULN2003数据手册)普中科技 单片机开发仪视频教程 1:CPU脉冲输入端,端口对应一个信号输出端16。2:CPU脉冲输入端。3:CPU脉冲输入端。4:CPU脉冲

12、输入端。5:CPU脉冲输入端。6:CPU脉冲输入端。7:CPU脉冲输入端。8:接地9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。11实验四实验四实验四实验四 译码器实验译码器实验译码器实验译码器实验 译码器:是一种具有“翻译”功能的逻辑电路,它是组合逻辑电路中的一个重要的器件,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。有一些译码器设有一个和多个使能控制输入端,又成为片选端,用来控制允许译码或禁止译码。译码器可以分为:变量译码和显示译

13、码两类。变量译码:一般是一种较少输入变为较多输出的器件,一般分为2n译码和8421BCD码译码两类。HC6800开发仪的译码器为变量译码器。显示译码:主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动LED和驱动LCD两类。74138译码器:是一种3线8线译码器,三个输入端ABC共有8种状态组合(000111),可译出8个输出信号Y0Y7。这种译码器设有三个使能输入端,当G2A与G2B均为0,且G1为1时,译码器处于工作状态时,对应的输出为低电平。普中科技 单片机开发仪视频教程译码器的相关知识:12 普中科技 单片机开发仪视频教程真值表通过真值表可以看到74HC138的八

14、个输出引脚,任何时刻要么全为高电平1,此时芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。如果出现两个输出引脚同时为0的情况,说明该芯片已经损坏。13 普中科技 单片机开发仪视频教程原理图和连接逻辑图原理图连接逻辑图当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出,利用G1、/(G2A)和/(G2B)可级联扩展成4线16线译码器或5线-32线译码器 14看视频演示看视频演示例程演示接线演示课后思考74HC138接成的4线16线译码器 译码器例程讲解译码器例程讲解 普中

15、科技 单片机开发仪视频教程15实验五实验五实验五实验五 静态数码管实验静态数码管实验静态数码管实验静态数码管实验 普中科技 单片机开发仪视频教程一、数码管相关知识:LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用的段数一般为7段,有的另加一个小数点。LED数码管根据LED的接法不同,分为共阴和共阳两类。数码管使用的电流:静态时,推荐使用10-15mA;动态时,动态扫描时,平均电流为4-5mA,峰值电流可达到50-60mA 16 普中科技 单片机开发仪视频教程 静态显

16、示:静态显示就是静态驱动也称直流驱动。静态驱动是指每个数码管的每一个静态显示:静态显示就是静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的段码都由一个单片机的I/OI/O端口进行驱动,或者使用如端口进行驱动,或者使用如BCDBCD码二码二-十进制译码器译码进行十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/OI/O端口多,如驱动端口多,如驱动5 5个数个数码管静态显示则需要码管静态显示则需要58=4058=40根根I/OI/O端口来驱动,实际应用时必须增加译码驱动器进行驱端口来驱动,实际

17、应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动,增加了硬件电路的复杂性。LEDLED数码管的应用:数码管的应用:LEDLED数码管广泛用于仪表,时钟,车站,机器设备、家电等场合数码管广泛用于仪表,时钟,车站,机器设备、家电等场合 二、原理图:17 普中科技 单片机开发仪视频教程三、接线演示:看视频演示四、例程演示:以数码管(静态显示)的C语言作为例程演示关于数码管显示字模:共阳极字模:0 1 2 3 4 5 6 7 8 9a b c d e f0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x

18、7C,0 x39,0 x5E,0 x79,0 x71;0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82 ,0 xF8,0 x80,0 x90,0 x88,0 x83,0 xC6,0 xA1 0 x86 ,0 x8E;共阴极字模:0 1 2 3 4 5 6 7 8 9 a b c d e f0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71;18 普中科技 单片机开发仪视频教程自增自减运算符+i 使用i值之前,使i的值加1,

19、再使用i的值i+使用完i值后,再使i值加1i-使用完i值后,再使i的值减1,-i 使用i值之前使i的值减1,再使用i的值1.对于普通独立的语句 i+;等效于 i=i+1;+i;等效于 i=i+1;2.用于赋值语句 3.用在判断条件表达式i=0;while(i+)printf(i=%dn,i);if(i=3)break;printf(i=%dn,i);则执行过程为 先把i的值拿出来判断条件,此时while(0)条件为假,循环体内部的printf没有做,但是判断完条件后,马上做了i=i+1,则最后输出 i=1;19符合运算符及表达式/取整运算符%取余运算符 单片机开发仪视频教程 i=0;while

20、(+i)printf(i=%dn,i);if(i=3)break;printf(i=%dn,i);则执行过程为 先把i的值执行i=i+1,此时i=1;while(1)条件为真,然后再做循环体,此时输出 i=1 if不成立,继续循环当i=1时,再判断循环条件+i,还是先执行i=i+1,此时i=2;while(2)条件为真,然后再做循环体,此时输出 i=2;if不成立,继续循环当i=2时,再判断循环条件+i,还是先执行i=i+1,此时i=3;while(3)条件为真,然后再做循环体,此时输出 i=3;if成立,强制推出循环20实验六实验六实验六实验六 动态数码管实验动态数码管实验动态数码管实验动态

21、数码管实验 普中科技 单片机开发仪视频教程 数码管动态显示方式是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数

22、码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。一、数码管动态显示和573锁存器相关知识:21 普中科技 单片机开发仪视频教程二、动态数码管的内部结构图【数码管参数】【数码管参数】1、8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。(1英寸=25.4mm)2、长*宽*高:长数码管正放时,水平方向的长度;宽数码管正放时,垂直方向上的长度;3、高数码管的厚度。

23、4、时钟点:四位数码管中,第二位8与第三位8字中间的二点。一般用于显示时钟中的秒 22 普中科技 单片机开发仪视频教程74HC573的特点:1、三态总线驱动输出 2、数据全并行存取 3、缓冲控制输入 4、使能输入有改善抗扰度的滞后作用原理说明:74HC573的八个锁存器都是透明的D 型锁存器,当使能(LE)为高时,输出(Q)将随输入数据(D)的变化而变化。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口相连并驱动总线,特别适用于缓冲寄存器,I/O 通

24、道,双向总线驱动器和工作寄存器。OE:3 State output Enable Input(Active LOW)3态输出使能输入(低电平)LE:Latch Enable Input 锁存使能输入D0 to D7:Data Inputs数据输入Q0 to Q7:Data Outputs数据输出573引脚图573逻辑图23 普中科技 单片机开发仪视频教程三、动态显示数码管原理图:24 普中科技 单片机开发仪视频教程相关知识:Switch/case语句:是一个多分支选择语句Switch(表达式)/这个表达是可以为任何类型 case 1:语句1;case 2:语句2;case 3:语句3;case

25、 4:语句4;.case n:语句n;default:语句 n+1;25 普中科技 单片机开发仪视频教程实验七实验七实验七实验七 LEDLED点阵实验点阵实验点阵实验点阵实验 LED点阵:它以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,用环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。点阵显示器有单色、双色和彩色三类,可显示红,黄,绿,橙等。LED点阵有44、48、57、58、88、1616、2424、4040等多种;LED点阵扫描驱动方式:LED点阵采用动态扫描驱动方式工作,由于LED管芯大多为高亮度型,因此某行或某列的单体LED驱动电

26、流可选用窄脉冲,但其平均电流应限制在20mA内多数点阵显示器的单体LED的正向压降约在2V左右但大亮点10的点阵显示器单体LED的正向压降约为6V。大屏幕显示系统一般是将由多个LED点阵组成的小模块以搭积木的方式组合而成的,每一个小模块都有自己的独立的控制系统,组合在一起后,只要引入一个总控制器控制各模块的命令和数据即可,这种方法既简单而且具有易扩展、易维修的特点。LED点阵显示系统中各模块的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同

27、时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。一、LED点阵的知识:26 普中科技 单片机开发仪视频教程二、LED点阵原理图:27 普中科技 单片机开发仪视频教程三、LED点阵显示原理28 普中科技 单片机开发仪视频教程实验八实验八实验八实验八 步进电机实验步进电机实验步进电机实验步进电机实验一、步进电机的相关知识:步进电机分单极性和双极性两种:单极性步进电机有两个线圈,但有五条或六条线,也就是在一个线圈的中间增加了一个抽头,五条线的也可以看成是六条线,它是把两个线圈的两根中间线并在一起。由于在一个线圈的中间有了抽头,电流就可以在一个线圈的一半走不同

28、的流向。但这时,只是用到电机线圈的一半而已。双极性步进电机之所以如此命名,是因为每个绕组都可以两个方向通电。因此每个绕组既可以是N极又可以是S极。它又被称为单绕组步进电机,其磁极(不是中间抽头的单一线圈)中的场强是单极性步进电机的两倍。双极性步进电机的每个绕组需要一个可逆电源,通常由H桥式驱动电路提供。由于双极性步进电机比单极性步进电机的输出力矩大,因此总是应用于空间有限的设计中。这也是软盘驱动器的磁头步进机械系统的驱动之所以采用双极性步进电机的原因。单极性驱动电路H桥式驱动电路29 普中科技 单片机开发仪视频教程单极性步进电机的节拍有(5线4为例)单四拍:A-B-C-D双四拍:AB-BC-C

29、D-DA单双8拍:A-AB-B-BC-C-CD-D-DA(半步工作方式)双极性步进电机的节拍(4线2相为例)单四拍:A/-B-A-B/双四拍:A/B-AB-AB/-A/B/单双8拍:A/A/B B AB A AB/B/A/B/步进电机运行有三种步进方式:单拍、双拍、半拍方式。单拍方式:它是指每次仅给一个绕组通电,使转子旋转,并运动到转子永磁体与具有相反极性的绕组对齐的位置。双拍方式:它同时给两个绕组通电,这样就使转子旋转,并在永磁体到达两个通电绕组的中间位置点时平衡。双拍方式的优点是比单拍方式多获得41.4的输出力矩,不过代价是需要花费后者两倍的能量,因为它有两相绕组同时通电。半拍方式:它工作

30、时则让两个绕组通电与单个绕组通电方式交替地进行。半拍方式的输出力矩比双拍方式小,随设计不同,在1530之间变化,不过它可以获得双拍方式两倍的步进分辨率(每圈两倍的步数)。30 普中科技 单片机开发仪视频教程三、步进电机的原理图HC6800EM3原理图HC6800原理图31 普中科技 单片机开发仪视频教程专业步进驱动芯片原理图32 普中科技 单片机开发仪视频教程四、实验的接线演示:看视频演示五、例程演示:1.单双八拍1的C语言作为例程演示HC6800HC6800EM333实验九实验九实验九实验九 中断与外部中断实验中断与外部中断实验中断与外部中断实验中断与外部中断实验 80C51 提供了5个中断

31、源:2个外部中断INT0(P3.2)和INT1(P3.3),2个片内定时器/计数器T0(P3.4)和T1(P3.5)的溢出中断TF0和TF1,1个片内串行口的发送或接收中断请求源TI或RI。IE0TF0IE1TF1TIRIPX0PT0PX1PT1PSEX0ET0EX1ET1ES1010101010高优先级中断申请自然优先级RX P3.1TX P3.0T1 P3.5INT1INT0T0 P3.4EAIEIPTCONSCON 位 D7 D6 D5 D4 D3 D2 D1 D0 功能 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位 EA ES ET1 EX1 ET0 EX0 地址

32、AFH ACH ABH AAH A9H A8H IP PS PT1 PX1 PT0 PX0 地址 BCH BBH BAH B9H B8H定时器定时器/计数器控制寄存器计数器控制寄存器TCON中断允许控制寄存器中断允许控制寄存器IE优先级控制寄存器优先级控制寄存器IPIT0:ITN0的触发方式控制位,由软件设置。IT0=0时,INT0为低电平触发方式IT0=1时,INT0为负跳变触发方式。IE0:INT0中断请求标志位。当INT0引脚上出现中断请求信号时,由硬件置位IE0在CPU响应中断后,再由硬件将IE0清0IT0=0IT1=0IT0=1IT1=1EA:CPU中断允许标志位,1:开发所有,0:

33、禁止ES:串行口允许中断位,1:允许,0:禁止ET1:定时器1允许中断位,1:允许,0:禁止EX1:外部中断1允许中断位,1:允许,0:禁止PS:串行口中断优先级控制位PT1:定时器T1中断优先级控制位PX1:外部中断1中断优先级控制位PT0:定时器T0中断优先级控制位PX0:外部中断0中断优先级控制位1:设置中断为高优先级0:设置中断为低优先级中断系统结构图中断系统结构图34 普中科技 单片机开发仪视频教程中断源中断源同级内部自然优先级同级内部自然优先级外部中断外部中断0定时器定时器0外部中断外部中断1定时器定时器T1串行口串行口最高级最高级最低级最低级中断向量入口地址中断向量入口地址000

34、3H000BH0013H001BH0023H 5个中断源分别设置成不同的优先级。如果都被设置成同一优先级,这5个中断源因硬件的组成不同而形成不同的内部序号,从而构成了不同的自然优先级。每个中断源,有对应的中断服务程序,这些程序有固定的存放位置,当产生相应的中断后,就可以跳到相应的位置执行中断程序。这个位置就在中断向量的入口地址。每个位置只有8个字节的程序存储空间,但是中断程序很多都会超过8个字节。在汇编语言中,用LJMP跳转指令,把实际处理的中断程序放到ROM的任何位置。而在C语言编程中,C语言编译器自行处理,不需要我们考虑。5个中断源的自然优先级和中断入口地址个中断源的自然优先级和中断入口地

35、址35 普中科技 单片机开发仪视频教程中断服务程序函数的格式:返回类型返回类型 函数名函数名(参数参数)interruput n 严格完整格式:返回类型返回类型 函数名函数名(参数参数)interruput n using n其中interruput n 中n对应中断源的编号,其值从0开始。以80C51为例 n的编号0-4,分别是:0、外部中断0 1、定时器0中断 2、外部中断1 3、定时器1中断 4、串口中断using n 中 n 的值是0-3,对应使用4组工作寄存器。关于51单片机工作寄存器组 为了进行中断的现场保护,80C51单片机除采用堆栈技术外,还采用了寄存器的方式。51单片机有4组

36、名称均为R0-R7的工作寄存器,中断产生时,可以通过简单地设置RS0和RS1来切换工作寄存器组。提高了51单片机现场保护和现场恢复的速度,对于提高CPU的工作效率和响应中断的速度是很有利。若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。高优先级中断可以中断正在处理的低优先级程序,因而必须注意寄存器组,分配的方法是使用using n来制定。RS1 RS0 类型类型 字节地字节地0 0 0组寄存器组寄存器 00H07H 0 1 1组寄存器组寄存器 08H0FH1 0 2组寄存器组寄存器 10H17H 1 1 3组寄存器组寄存器 18H1FH 位

37、D7 D6 D5 D4 D3 D2 D1 D0含义 CY AC F0 RS1 RS0 OV PPSW程序状态寄存器CY:进位标志:进位标志 AC:辅助进、借位:辅助进、借位F0:用户标志位:用户标志位 0V:溢出标志位:溢出标志位P:奇偶校验位:奇偶校验位36 普中科技 单片机开发仪视频教程实验十实验十实验十实验十 定时器中断实验定时器中断实验定时器中断实验定时器中断实验 80C51单片机内部集成了16位的可编程定时器/计数器,他们分别是定时器/计数器0(T0)和定时器/计数器1(T1)。他们既可以工作在定时器方式,实现对控制系统的定时或精准延时控制,又可以工作在计数方式,用于对外部的脉冲事件

38、计数。与T0和T1相关的寄存器:1.有2个8位控制寄存器TMOD和TCON,2.有2个16位的计数器TH0、TL0、TH1、TL1,他们都是16位的加1计数器也就是增量式计数器。振荡器12分配TL0TH0TF0控制开关T0引脚定时器计数器定时器/计数器结构简图外部晶振向CPU申请中断进入中断服务程序计满溢出37 普中科技 单片机开发仪视频教程 位 D7 D6 D5 D4 D3 D2 D1 D0含义 GATE C/T M1 M0 GATE C/T M1 M0控制T1控制T0M1M0 方式 00 模式001 模式110 模式211 模式3定时器模式与INT0无关与INT0有关工作方式0:13位定时

39、器/计数器,最多可计数 2的13次方次。工作方式1:16位定时器/计数器,最多可计数2的 16次方次,。工作方式2:8位定时器/计数器,计算次数最多 为2,计算次数最多 为28。计数器模式TMOD 工作模式控制寄存器C/T=0C/T=1GATE=0GATE=1由于TMOD只能直接字节寻址,所以对T0和T1的工作方式只能以字节写入。功能:用来设置各个定时器/计数器的工作方式,选择定时器或计数器功能。门控位38 普中科技 单片机开发仪视频教程位地址 8F 8E 8D 8C 8B 8A 89 88 功能 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT01:启动T00:停止T01:有T0

40、中断0:无T0中断1:启动T10:停止T11:有T1中断0:无T1中断TCON 工作状态控制寄存器(地址 88H)TCON的低四位和外部中断有关功能:用来控制定时器/计数器的启停和作为运行状态的标志等。什么是中断?由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理该事件的一个程序。该程序执行完成后,CPU接着执行被暂停的程序。这个过程称为中断。TCON寄存器即可字节寻址也可以位寻址字节地址为 88H,位地址为88H8FH 39 普中科技 单片机开发仪视频教程振荡器12分配TL0TH0TF0开关T0引脚定时器计数器定时器/计数器结构简图&INT0GATETR0 控制高电平有效D0D4

41、 D0D7(工作模式0)13位 D0D7 D0D7(工作模式1)16位D0D7 预置数 (工作模式2)8位定时器/计数器的打开或关闭,由GATE、软件控制位TR和INT共同决定。GATE=0,只要用指令置TR为1即可启动定时器/计数 器,而不管INT的状态如何。GATE=1,只要INT为高电平且用指令置TR为1时,才 能启动定时器/计数器工作模式0:其原因是为了和51机的前辈48 系列兼容而设的一种工作式 工作模式2:自动再装入时间常数的8位计数 器方式 C/T=1 C/T=0 计满溢出定时器/计数器4种工作方式外部晶振 位 D7 D6 D5 D4 D3 D2 D1 D0含义 GATE C/T

42、 M1 M0 GATE C/T M1 M0位地址 8F 8E 8D 8C 8B 8A 89 88 功能 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TMODTCON40 普中科技 单片机开发仪视频教程振荡器12分配TH0TF1开关TR1 T0工作在方式3,TL0构成8位计数器可用于定时/计数,使用T0的控制位(TR0)和TF0的中断源。但是,TH0则只能工作在定时器状态,它借用T1的TR1和TF1的中断源。如硬把T1工作在方式3时,T1将处于关闭状态。一般情况下,只有T1以工作方式2运行(当波特率发生器用)时,才让T0工作于方式3。因为T1的TR1和TF1的中断源被定时/计数

43、器0借用了,只能把计数溢出直接送给串行口。工作模式3 振荡器12分配TL0TF0开关T0引脚P3.4C/T=0 定时器 C/T=1计数器&P3.2 INT0GATETR0 控制高电平有效向CPU申请中断进入中断服务程序向CPU申请中断进入中断服务程序计满溢出计满溢出外部晶振外部晶振振荡器12分配开关T1引脚定时器计数器 C/T=1 C/T=0 外部晶振TL1TH1串行口重装T1的工作方式241 普中科技 单片机开发仪视频教程定时器/计数器初值的计算 80C51的T1和T0中的计数器都是增量式的,因此,不能直接将实际要计数的值作为初值放入计数寄存器中,而是将计数的的最大值减去实际要计数的值放入计

44、数寄存器中。定时模式计数脉冲是由单片机的晶体振荡器产生的频率信号经12分频得到。因此在设置定时时间之前,要确定机器的晶振频率。开发试验仪采用的12M的晶振 频率的计算公式:fosc=1/Tosc。(fosc表示频率 Tosc表示周期)计数的周期:T=(1/12 000 000)*12=1S (12分频)计数的次数:计数的次数=定时时间/1S假设我们定时的时间是 100s 计数的次数=100 S/1S=100 次如果选用定时器0 工作方式0:计算出来的初值=8192 100 工作方式1:计算出来的初值=65535 100 工作方式2:计算出来的初值=256 100(自动装载)工作方式3:计算出来

45、的初值=256 10042 普中科技 单片机开发仪视频教程四、实验的接线演示:看视频演示五、例程演示:1.timer0和 计数器功能的C语言作为例程演示知识点:中断程序的编写中断服务程序函数的格式:返回值 函数名 interruput n 其中n 对应中断源的编号,其值从0开始。以80C51为例 n的编号0-4,分别是:0 外部中断0 1 定时器0中断 2 外部中断1 3 定时器1中断 4 串口中断43 普中科技 单片机开发仪视频教程实验十一实验十一实验十一实验十一 矩阵键盘实验矩阵键盘实验矩阵键盘实验矩阵键盘实验矩阵式键盘的结构与工作原理:在键盘中按键数量较多时,为了减少I/O口的占用,通常

46、将按键排列成矩阵形式,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键。因此,在需要的键数比较多时,采用矩阵方式来做键盘是合理的。矩阵式键盘结构显然比直接法要复杂一些,识别也要复杂一些。下图中,我们用程序把行线置低为电平,列线为高电平。当按键没有按下时,行线和列线状态不变,一旦有键按下,则高电平的某条列线将被低电平的行线拉低,这样,通过读入被拉低列线的状态就可得知是否有键按下了。

47、确定矩阵式键盘上哪个键被按下是一种“行扫描法”。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍开发仪键盘识别过程如下:1.判断键盘中有无键按下 将全部行线P10-P13置低电平,列线P14-P17置高电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下。若所有列线均为高电平,则键盘中无键按下。2.判断闭合键所在的位置 在确认有键按下后,即可进入按键检测的过程。其方法是:1.把行线置为低电平,列线置位高电平,用程序检测4条列线的状态。2.停止列线的检测,把列线置位低电平,行线置位高电平,用程序检测3条行线的状态。开发试验仪中的原理图44 普中科技 单片机

48、开发仪视频教程实验十二实验十二实验十二实验十二 单片机单片机单片机单片机IOIO扩展一扩展一扩展一扩展一(74HC595)(74HC595)实验实验实验实验SPI总线简介 SPI(Serial Peripheral Interface)顾名思义,就是串行外围设备接口,由摩托罗拉公司推出的一种高速、全双工、或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。该总线大量用在EEPROM、ADC、显示驱动器之类的慢速外设器件通信。SPI接口由四种信号构成 1.SDI:串行数据输入 2.SDO:串行数据输出 3.SCK:串行移位时钟 4.CS:从设使能信号 我们开发试验仪采用的74

49、HC595和74HC165这两个芯片是遵循SIP协议的。它们只用到SPI的3条线,所以只能单向传输数据。由于51单片机没有硬件的SPI总线控制器,所以只能用软件模拟的方式来实现SPI协议通信。4574HC595包括一个8位移位寄存器和一个8位D型锁存器和三态并行输出。移位寄存器接收串行数据并提供串行输出。移位寄存器和锁存器都有独立的时钟输入。这个IC还具有异步复位的功能。RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了,通常都选微秒级),更新显示数据。G(13脚

50、):OUTPUT ENABLE 高电平时禁止输出(高阻态)。普中科技 单片机开发仪视频教程QA-QH:八位并行输出端可以直接控制数码管的8个段SQH(9脚):级联输出端。可以接下一个595的串行数据输入端SCLR(10脚):低电平时将移位寄存器的数据清零。通常我将它接Vcc。SCK(11脚):上升沿时数据寄存器的数据移位。QA-QB-QC-.-QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了,我通常都选微秒级)46 普中科技 单片机开发仪视频教程74HC595优点:具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变,抗干扰强。这在串行速度慢的场合很有用处,数码管

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁