第一范文网 - 专业文章范例文档资料分享平台

单片机综合实验(基于单片机实现风扇红外遥控电路的设计) - 图文

来源:用户分享 时间:2025/5/21 7:34:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

3.7风扇档位控制单元

单片机控制风扇档位电路如图3-8所示。3个继电器分别接至单片机的P1.2、P1.3、P1.4引脚,当环境温度需要风扇调为一档时,单片机的P1.2引脚输出高电平,此时三极管Q1导通,则继电器K1导通,风扇调为一档。二档与三档的工作控制原理与一档同理。

图3-8风扇档位控制电路

4系统软件设计

4.1软件的设计的架构

4.1.1程序设计应用环境

本设计软件的设计是在KeilC51的环境下编译的。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。C51提供了灵活高效的指针。通用指针用3个字节

17

来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。C语言有以下特点:

1、语言简洁、紧凑、使用方便、灵活。C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。

2、运算符丰富。C的运算符包含的范围很广泛,共有34种运算符,使得C的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。

3、数据结构丰富,具有现代化语言的各种数据结构,能用来实现各种复杂的数据结构的运算。

4、具有结构化的控制语句,用函数作为程序的模块单位,便于实现程序的模块化。

5、语法限制不太严格,程序设计自由度大。

6、C语言能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此,C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。

7、生成目标代码质量高,程序执行效率高。

8、用C语言写的程序可移植性好。基本上不用修改就能用于各种型号的计算机和各种操作系统。

4.1.2软件设计流程图

本系统软件设计流程图如图4-1所示。

18

图4-1系统软件设计流程图

4.2主控程序的设计

定时器/计数器是单片机内的重要部件,其作用主要包括产生各种时标间隔、记录外部事件的数量等。AT89S51单片机有2个16位的定时器/计数器:定时器/计数器0(T0)和定时器/计数器1(T1)。

定时器/计数器的核心是一个16位的加1计数器:做定时器时,其计数脉冲来源于时钟振荡器(经12分频后提供),这个脉冲的周期称为单片机的机器周期,每一个机器周期定时寄存器自动加1,所以定时器也可看做是计算机器周期的计数器,由于每一个机器周期为12个时钟振荡周期,所以定时器的分辨率是时钟振荡频率的1/12,一旦振荡频率选定,则机器周期也确定;作计数器时,其计数脉冲来源于单片机外部引脚T0(或T1)的脉冲。即TX端口有从“1”到“0”的负跳变,计数器就自动加1,计算机是在每个机器周期采样为0时,计数器即加一计数,计算机需用两个机器周期来识别1次计数,因而最大计数速率为振荡频率的1/24。

AT89S51单片机的定时器/计数器T0由TH0、TL0构成,T1由TH1、TL1构成。TMOD用于控制和确定各定时器/计数器的功能和工作模式。TCON用于控制定时器/计数器T0、T1的启动和停止计数,同时包含定时/计数器的状态。

T0、T1的方式寄存器TMOD:

方式寄存器TMOD是一个逐位定义的8位寄存器,是只能字节寻址的寄存器,

19

字节地址为89H,其格式如表4-2所示。

表4-2TMOD寄存器格式

其中低4位定义定时器/计数器T0,高4位定义定时器/计数器T1,各位的意义如下:

GATE——门控位。GATE=1时,由外部中断/INT0、/INT1和TR0、TR1来启动定时器。当/INT0引脚为高电平时,TR0置位,启动定时器T0;当/INT1引脚为高电平时,TR1置位,启动定时器T1。GATE=0时,仅由TR0和TR1置位来启动定时器T0、T1。

C/\\T——功能选择位。C/\\T=1时,选择计数功能;C/\\T=0时,选择定时功能。

M0、M1——方式选择位。由于M1和M0两位,可以有4种工作方式,如表4-3所示。

表4-3T0、T14种工作方式

M1 0 0 1 1

M0 0 1 0 1 工作方式 方式0 方式1 方式2 方式3 计数器配置 13位计数器 16位计数器 自动再装入的8位计数器 T0分为两个8位计数器、T1停止计数 T0、T1控制寄存器TCON:

TCON是一个逐位定义的8位寄存器,既可字节寻址也可位寻址,字节地址为88H,为寻址的地址为88H~8FH。与中断源有关的位如表4-4所示。

表4-4TCON寄存器位说明

各位的意义如下:

TF0:T0溢出中断标志。T0被允许计数后,从初值开始加1计数。当产生溢出时硬件置“1”TF0,向CPU请求中断,一直保持到CPU响应中断时,才由硬件

20

单片机综合实验(基于单片机实现风扇红外遥控电路的设计) - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0s8391a2k91xu1x81h96_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top