单片机课程设计-空调温度控制器的设计(编辑修改稿)内容摘要:
TL1 TH0 TH1 AUXR 8FH 80H P0 SP DP0L DP0H DP1L DP1H PCON 87H 在表 中,对于没有定义的存储单元用户不能使用。 如果向这些存储单元写入数据将产生不确定的效果,从它们读取数据将得到一个随机 数。 对于字节地址低位为 8H 或者 FH的特殊功能存储器,既可以进行字节操作,也可以进行位操作。 例如前面提到的用来确定当前工作寄存器组的程序状态字寄存器( PSW),它的地址为 D0H,因此对它可以进行字节操作,也可以进行位操作。 采用位操作可以直接控制程序状态字寄存器中的第 3位( RS0)或第 4 位( RS1)数据而不影响其他位的数据。 低位地址不为 8H 或 FH 的特殊功能存储器只可以进行字节操作,当需要修改这些特殊功能存储器中的某些位时,对其他的位应注意保护。 片外数据存储空间可以被映射为数据存储器、扩展的输入 /输出接口、模 拟 /数字转换器和数字 /模拟转换器等。 这些外围器件统一编址。 所有外围器件的地址都占用数据存储空间的地址资源,因此 CPU 与片外外围器件进行数据交换时可以使用与访问外部数据存储器相同的指令。 CPU通过向相应的外部数据存储器地址单元写入数据实现控制对应的片外外围器件的工作,从相应的外部数据存储器地址单元读出数据实现读取对应的片外外围器件的工作结果。 单片机三大功能 中断 中断概念 单片机的 CPU正在处理某个任务时,遇到其它事件请求(如定时器溢出),暂时停止目前的任务,转去处理请求的事件,处理 完后再回到原来的地方,继续原来的工作,这一过程称为 “中断 ”,我们把请求的事件称为中断源。 图 10 图 MCS51 系列单片机的中断系统 11 与中断系统有关的 SFR ( 1) TCON——中断控制寄存器 表 中断控制寄存器 TCON D7 D6 D5 D4 D3 D2 D1 D0 位地址 8FH 8DH 8BH 8AH 89H 88H 位定义 TF1 TF0 IE1 IT1 IE0 IT0 IT0—— 外部中断 INT0 的触发方 式选择位。 IT0=0,低电平触发方式 ; IT0=1,下降沿触发方式。 IE0—— 外部中断 INT0 的中断请求标志。 IT1—— 外部中断 INT1 的触发方式选择位。 功能与 IT0 类似。 IE1—— 外部中断 INT1 的中断请求标志。 功能与 IE0 类似。 TF0—— 定时 /计数器 T0 的中断请求标志。 TF1—— 定时 /计数器 T1 的中断请求标志。 ( 2) IE—— 中断允许控制寄存器 表 中断允许控制寄存器 IE D7 D6 D5 D4 D3 D2 D1 D0 位地址 AFH — — ACH ABH AAH A9H A8H 位定义 EA — — ES ET1 EX1 ET0 EX0 EX0—— 外部中断 0 中断允许控制位。 EX0=1, INT0 被允许(开中断) EX0=0,外部中断 0 被禁止(关中断) ET0—— 定时 /计数器 T0 中断允许控制位。 EX1—— 外部中断 INT1 中断允许控制位。 ET1—— 定时 /计数器 T1 中断允许控制位。 ES—— 串行口中断允许控制位。 EA—— 中断系统总允许控制位。 ( 3)中断优先级控制寄存器 表 中断优先级控制寄存器 IP D7 D6 D5 D4 D3 D2 D1 D0 位地 址 — — — BCH BBH BAH B9H B8H 位定义 — — — PS PT1 PX1 PT0 PX0 PX0—— 外部中断 INT0 中断优先级控制位。 PT0—— 定时 /计数器 T0 优先级控制位。 PX1—— 外部中断 INT1 中断优先级控制位。 PT1—— 定时 /计数器 T1 优先级控制位。 PS—— 串行口优先级控制位。 ( 4) 中断源向量地址 INT0: 0003H T0: 000BH INT1: 0013H 12 T1: 001BH 串行口: 0023H 、中断处理过程 中断请求 中断源只有在有请求时, CPU 才可能响应它,不同的中断源产生中断请求的方式是不同的。 外部中断产生请求是在外中断的引脚上加低电平或下降沿信号,而定时 /计数器中断请求是在内部的计数单元计满溢出时产生,串行口中断请求是在完成一次发送或接收时产生。 中断响应 ( 1)条件 中断源的中断已经被允许 ,中断允许标志和总的中断允许标志 EA都被设置为 “1”。 CPU 此时没有响应同级或高级中断。 CPU 正处于执行某一条指令的最后一个机器周期。 (并且不是对 IE、 IP 进行访问的指 令或者是中断返回指令 RETI ) ( 2)响应中断时的操作 保护断点地址。 撤除该中断源的请求标志。 关闭同级中断。 将该中断源的入口地址送给 PC,程序将转到该程序的入口地址处运行。 中断服务 中断服务就是中断源请求 CPU 做的任务,需要编程者用指令来实现。 中断返回 中断返回和子程序的返回类似,需要执行一条返回指令 RETI RETI ;①( SP)→ PC15~8, SP1→ SP。 ;②( SP)→ PC7~0, SP1→ SP。 中断返回时完成的操作: ( 1)恢复断点地址。 ( 2)开放同级中断。 、定时 /计数器 两个 16 位的定时 /计数器 T0 和 T1。 它们本质上是计数器。 在做计数器使用时计数引脚上的脉冲信号(下降沿),在做定时器使用时数内部的机器周期。 计数器是加法计数器,计满时溢出,并产生溢出标志( TF0、 TF1)。 与定时器有关的 SFR 13 1.定时 /计数器控制寄存器 TCON 表 定时 /计数器控制寄存器 TCON TCON D7 D6 D5 D4 D3 D2 D1 D0 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位定义 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT1 TR0—— 定时 /计数器 T0 运行控制位。 TR0=1,启动 T0 运行(与 TMOD 中的 GATE位有关), TR0=0, T0 停止运行。 TR1—— 定时 /计数器 T1 运行控制位。 功能同 TR0 定时 /计数器工作方式控制寄存器 TMOD 表 定时 /计数器工作方式控制寄存器 TMOD TMOD D7 D6 D5 D4 D3 D2 D1 D0 位定义 GATE C/T M1 M0 GATE C/T M1 M0 高 4 位控制 T1,低 4位控制 T0 ( 1) GATE—— 门控位。 GATE 一般情况下设置为 0,此时定时 /计数器的运行仅受 TR0/TR1 控制。 ( 2) C/T—— 定时 /计数选择位。 C/T=0,为定时方式,对内部的机器周期计数。 C/T=1,为计数方式,对引脚上的脉冲信号计数,负跳变有效。 ( 3) M1M0—— 工作方式选择位。 M1M0=00B,方式 0—— 13 位的定时 /计数器。 M1M0=01B,方式 1—— 16 位的定时 /计数器。 M1M0=10B,方式 2—— 8 位的定时 /计数器,初值自动重装。 M1M0=11B,方式 3—— 两个 8 位的定时 /计数器,仅适用于 T0。 2.定时 /计数器计数寄存器 TH0—— T0的高 8 位。 TL0—— T0的低 8 位。 TH1—— T1的高 8 位。 TL1—— T1的低 8 位。 串行口 1串行通信的方式: 异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束。 其每帧的格式如下: 在一帧格式中,先是一个起始位 0,然后是 8个数据位,规定低位在 前,高位在后,接下来是奇偶校验位(能省略),最后是停止位 1。 用这种格式表示字符,则字符能一个接一个地传送。 在异步通信中, CPU 与外设之间必须有两项规定,即字符格式和波特率。 字符格式的规定是双方能够在对同一种 0 和 1 的串理解成同一种意义。 原则上字符格式 14 能由通信的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用 ASCII 标准。 波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。 例如,数据传送的速率是 120字符 /s,而每个字符如上述规定包含 10 数位,则传送波特率为 1200 波特。 同步通信:在同步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间;所以在数据块传递时,为了提高速度,常去掉这些标志,采用同步传送。 由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。 2. 8051 单片机的串行接口结构 8051 单片机 串行接口是一个可编程的全双工串行通信接口。 它可用作异步通信方式( UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进 行全双工的 8051 多机系统也能通过同步方式,使用 TTL 或 CMOS 移位寄存器来扩充 I/O 口。 8051 单片机通过管脚 RXD( ,串行数据接收端)和管脚 TXD( ,串行数据发送端)与外界通信。 SBUF 是串行口缓冲寄存器,包括发送寄存器和接收寄存器。 它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被 CPU 写入数据。 串行口的控制与状态寄存器 串行口控制寄存器 SCON 它用于定义串行口的工作方式及实施接收和发送控制。 字节地址为 98H,其各位定义如下表: D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、 SM1:串行口工作方式选择位,其定义如下: SM0、 SM1 工作方式 功能描述 波特率 0 0 方式 0 8 位移位寄存器 Fosc/12 0 1 方式 1 10 位 UART 可变 1 0 方式 2 11 位 UART Fosc/64 或 15 fosc/32 1 1 方式 3 11 位 UART 可变 其中 fosc 为晶体震荡器频率 键盘和显示 在设计各种单片机应用系统中,还需扩展很多外部接口器件才能充分发挥单片 机的智能控制功能。 如扩展键盘与显示器件接口,可实现人机对话功能;扩展A/D转换接口,可实现对外部各种模拟信号的检测与转换;扩展 D/A 转换接口可将数字信号转换为模拟信号,从而完成对控制对象的驱动。 本章将主要介绍常见的键盘、显示( LED、 LCD)、 A/D和 D/A 转换接口电路。 (1) 键盘接口电路 键盘是计算机最常用的输入设备,是实现人机对话的纽带。 按其结构形式可分为非编码键盘和编码键盘。 编码键盘采用硬件方法产生键码。 每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。 这种键盘使用方便,但硬件较 复杂, PC 机所用键盘即为编码键盘。 非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统, 一、 独立式键盘 按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。 独立式键盘相互独立,每个按键占用一根 I/O 口线,每根 I/O 口线上的按键工作状态不会影响其他按键的工作状态。 这种按键软件程序简单,但占用 I/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中。 1.键闭合测试,检查是否有键闭合 KCS: MOV P1, 0FFH MOV A, P1 CPL A ANL A, 0FH RET 若有键闭合,则( A≠0 ) , 若无键闭合,则( A=0)。 2.去抖动 当测试到有键闭合后,需进行去抖动处理。 由于按键闭合时的机械弹性作用,按键闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断开的瞬间 会出现电压抖动,如图 62 所示。 键盘抖动的时间一般为 5~ 10ms,抖动现象会引起 CPU对一次键操作进行多次处理,从而可能产生错误,因而必须设法消除抖动的不良后果。 通过去抖动处理,可以得到按键闭合与断开的稳定状态。 去抖动的方法 有硬件与软件两种:硬件方法是加去抖动电路,如可通过 RS 触发器实现硬件去抖动;软件方法是在第一次检测到键盘按下后,执行一段 10ms 的延迟子程序后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行键扫描。 通常多采用软件方法。 16 二、矩阵式键盘 矩阵式。单片机课程设计-空调温度控制器的设计(编辑修改稿)
相关推荐
14 参考文献 : [1] 李群芳等 .单片微型计算机与接口技术 .[M]北京:电子工业出版社 , [2] 谢辉 .单片机原理及应用 .[M]北京:化学工业出版社 , [3] 周向红 .51 系列单片机应用与实践教程 .[M]北京:北京航空航天大学出版社, 2020 [4] 谭浩强 .C 语言程序设计 .第 2 版 .北京: 清华大学 出版社, [5] 李光飞,楼然苗等 .单片机课程设计实例指导
T1 设置为定时方式,且定时时间为 1s。 计数器 T0 设置为外部脉冲计数工作方式,设在 1s 内测量的脉冲个数为 n,再将 n 乘上 60 即是转速( 分 /转)。 根据设计要求和设计思路,本系统由 AT89C51 单片机, LED 显示电路,时钟与复位电路以及独立式按键五个部分组成。 系统硬件框图如图22 所示。 9 图 22 系统框图 LED 显 示器 驱动电路 AT89C51 单片机
D+ d3 Δ2 8~10 D2 D0+(~3) d3 b 8~10 D4 (~)D h (~1)b 16 不带 O 型密封圈 带 O 型密封圈 D(f9) 40~80 35~110 115~170 D封 40 45 50 55 60 63 65 68 70 75 80 85 E2(h11) 5 6 8 d封 35 40 45 50 55 58 60 63 65 70 75 80 S 10 12
12M,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。 正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为 12。 设置对话框中的 OutPut 页面,如图 所示,这里面也有多个选择项,其中 Creat Hex file 用于生成可执行代码文件(可以用 编程器 写入单片机芯片的
MOV C, JC L2 STOP1: MOV C,。 = 0 时转移 JNC STOP1 LCALL DELAY1。 延时 MOV C, JNC STOP1 MOV 50H,00H LJMP MAIN。 设置闹钟。 SETATIME:LCALL DISPLAY2。 调用 DISPLAY2 显示闹钟 N0: LCALL DISPLAY2 MM2: JB ,N1。 =1 时转移 MOV C, JC
1/ A 922P 2. 0/ A 821U1A T 89 S 51R110KR210KR310KY112 M H zC730 p FC630 p F12345678P1 H E A D E R 8S1SWPBS2SWPBS3SWPBS4SWPBS5SWPBS6SWPBS7SWPBS8SWPBS9SWPBS 10SWPBS 11SWPBS 12SWPBS 13SWPBS 14SWPBS