《最新单片微机原理与应用实验一单片机P口应用实验ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新单片微机原理与应用实验一单片机P口应用实验ppt课件.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 学习学习8051单片机单片机P1口作为双向口作为双向I/O口的使用方法,口的使用方法,采用循环指令编写延时子程序。了解用弱电控制强电的采用循环指令编写延时子程序。了解用弱电控制强电的基本原理,采用单片机基本原理,采用单片机P1口实现继电器开关控制。口实现继电器开关控制。 采用采用8051单片机的单片机的P1口做输出口,接口做输出口,接4只发光只发光二极管,编写程序,使发光二极管循环点亮。二极管,编写程序,使发光二极管循环点亮。 采用采用P1.0,P1.1作输入口接两个拨动开关,作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管,编写程序作输出口,接两个发光二极管,编写程序读
2、取开关状态,并将此状态在发光二极管上显示出来。读取开关状态,并将此状态在发光二极管上显示出来。 采用采用P1口输出电平控制继电器的吸合和断开,从口输出电平控制继电器的吸合和断开,从而实现对外部装置的开关量控制。而实现对外部装置的开关量控制。 采用采用P1口控制音频电路发声。口控制音频电路发声。 程序参考流程框图如右:连线连接孔1连接孔21P1.0S02P1.1S13P1.2L44P1.3L5 在实验系统上如表所示连线。执行上述程序,发光二极管LED将随拨动开关的位置而点亮或熄灭. 实验电路如图 当控制端P1.0为高电平时,继电器工作常开触点吸合,连接该触点的LED被点亮。当P1.0控制端为低电
3、平时,继电器不工作,常开触点断开,连接该触点的LED熄灭。 在实验系统右如表所示连线。采用单步方式执行实验程序,可以看到当执行P1.0被置1时,LED点亮,执行到P1.0被置0时,LED熄灭。如果全速运行程序,则对应的LED将随继电器的通、断而亮灭。连线连接孔1连接孔21P1.0继电器输入25V继电器常闭输入3L0继电器中间输入程序参考流程框图如下: 从P1.0输出不同频率的方波信号,经放大滤波后驱动扬声器发声。声音的频率由延时程序控制。实验电路如图所示 . 执行程序后,扬声器将发出一定频率的声音。 程序参考流程框图如右图: 复习8051单片机并行I/O端口特性,P0P3口各有什么特点? 为什
4、么说P1口是“准双向口”?在实验中用P1口输入时如果不先向P1口写入“1”而直接读取引脚,会出现什么现象? 如果希望让扬声器发出不同频率,不同长短的声音,应如何修改实验程序? 通过本实验学习8031内部定时器的使用和编程方法,进一步掌握中断处理程序的编程方法。要求 8051内部定时器T0用中断方式计时,实现每一秒钟使P1.0的输出状态发生一次反转,从而形成方波输出。 8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,并将计数值按二进制数通过P1口驱动LED灯显示出来。 定时/计数器的工作方式由特殊功能寄存器TMOD编程决定,定时/计数器的启动运行由特殊功能寄
5、存器TCON编程控制。不论用作定时器还是用作计数器,每当产生溢出时,都会向CPU发出中断申请。 方式控制寄存器TMOD的地址为89H,控制字格式如下:GATEC/TM1M0GATEC/TM1M0D7 D6 D5 D4 D3 D2 D1 D0低4位为T0的控制字,高4位为T1的控制字 GATE为门控位 它对定时/计数器的启动起辅助控制作用。C/T为方式选择位 C/T = 0为定时器方式 C/T =1为计数器方式M1、M0二位的状态确定定时/计数器的工作方式 定时/计数器控制寄存器TCON的地址为88H,格式如下:TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0
6、IT0IT0D7 D6 D5 D4 D3 D2 D1 D0TF1为定时/计数器T1的溢出标志位。当T1被允许计数以后,T1从初值开始加1计数,计数器的最高位产生溢出时置“1”TF1,并向CPU申请中断,当CPU响应中断时,由硬件清“0”TF1。TF1也可由软件查询清“0”。TR1为定时/计数器的运行控制位,由软件置位和复位。当方式控制寄存器TMOD中的GATE位为0,且TR1为1时允许T1计数,TR1为0时禁止T1计数。当GATE为1时,仅当TR1为1且INT1 (P3.2)输入为高电平时才允许T1计数,当TR1为0或INT1输入为低电平时都禁止T1计数。TR0为定时器T0的运行控制位,其功能
7、与TR1类似。TF0为定时器T0的溢出标志位,其功能与TF1类似。TF1为定时/计数器T1的溢出标志位。当T1被允许计数以后,T1从初值开始加1计数,计数器的最高位产生溢出时置“1”TF1,并向CPU申请中断,当CPU响应中断时,由硬件清“0”TF1。TF1也可由软件查询清“0”。TR1为定时/计数器的运行控制位,由软件置位和复位。当方式控制寄存器TMOD中的GATE位为0,且TR1为1时允许T1计数,TR1为0时禁止T1计数。当GATE为1时,仅当TR1为1且INT1 (P3.2)输入为高电平时才允许T1计数,当TR1为0或INT1输入为低电平时都禁止T1计数。TR0为定时器T0的运行控制位
8、,其功能与TR1类似。TF0为定时器T0的溢出标志位,其功能与TF1类似。 8051单片机的定时/计数器在进行定时或计数之前要进行初始化编程,通常包括如下几个步骤: 确定工作方式,即给方式控制寄存器 TMOD写入控制字。(2) 计算定时器/计数器初值,并将初值写 入寄存器TL和TH。(3) 根据需要对中断控制寄存器IE置初 值,决定是否开放定时器中断。(4) 使TCON中的TR0或TR1置“1”,启动 定时器/计数器。 将T0作定时器定时1秒,由于实验系统fosc=6MHz,定时周期t=2us。为了实现定时1秒,通过中断服务程序进行定时扩展,即设置T0定时100us产生一次中断,同时设置一个软
9、件计数器来计数中断次数,当达到中断1000次时即完成了定时1秒钟。 在实验系统上连线。P1.0接LED灯,执行程序,注意观察LED的状态的变化。 在实验系统上如表所示连线。P1.0接LED灯, 编写并执行程序,注意观察LED的状态的变化。连线连接孔1连接孔21P1.0L0程序参考流程如下: 采用T0作计数器,外部计数脉冲由P3.4引入,8051单片机在每个机器周期采样一次输入信号,因此至少需要两个机器周期才能检测到一次脉冲跳变。这就要求被采样的外部脉冲高低电平保持时间均要大于一个机器周期,以保证电平在变化之前即被采样,并且外部计数脉冲的最高计数频率为fosc/24。 在实验系统上如表2-11所示连线。P1.0P1.3接LED灯, TO(P3.4)端接单脉冲发生器。执行如下程序,每按一次单脉冲按钮,T0将计数一个脉冲,注意观察LED的状态 连线连接孔1连接孔21P1.0L02P1.1L13P1.2L24P1.3L35单脉冲输出T0程序参考流程如下:1 若在实验中采用定时器T1,应如何修改实验程序?2 实验中是如何实现定时时间扩展的?能否实现更长时间的扩展?3 利用8051定时器控制寄存器TMOD中的GATE位,设计一个用T1实现测量脉冲宽度的实验。
限制150内