单片机课程设计报告智能家居中控系统.doc

上传人:土8路 文档编号:10353067 上传时间:2021-05-11 格式:DOC 页数:41 大小:786.50KB
返回 下载 相关 举报
单片机课程设计报告智能家居中控系统.doc_第1页
第1页 / 共41页
单片机课程设计报告智能家居中控系统.doc_第2页
第2页 / 共41页
单片机课程设计报告智能家居中控系统.doc_第3页
第3页 / 共41页
单片机课程设计报告智能家居中控系统.doc_第4页
第4页 / 共41页
单片机课程设计报告智能家居中控系统.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《单片机课程设计报告智能家居中控系统.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告智能家居中控系统.doc(41页珍藏版)》请在三一文库上搜索。

1、信息与通信工程学院信息与通信工程学院 单片机系统课程设计报告单片机系统课程设计报告 完成日期:完成日期:2011 年年 5 月月 2 日日 系:电子信息工程系 专 业:通信工程 班 级:081,2 班 设计题目:智能家居中控系统 学生姓名:袁安 张路 指导教师:李厚杰 目录目录 一、项目概述一、项目概述.1 1 二、设计任务和性能指标二、设计任务和性能指标.2 2 2.12.1 设计任务设计任务 .2 2 2.22.2 性能指标性能指标 .2 2 三、原理概述三、原理概述.3 3 四、设计方案四、设计方案.4 4 4.14.1 框图设计框图设计 .5 5 4.24.2 硬件设计硬件设计 .6

2、6 4.2.14.2.1 STC89C52STC89C52 单片机单片机 .7 7 4.2.24.2.2 射频射频 nRF905nRF905 发送模块发送模块.8 8 4.2.34.2.3 TC35iGSMTC35iGSM 模块模块 .1010 4.2.44.2.4 红外线发送模块红外线发送模块.1111 4.2.54.2.5 显示电路显示电路.1212 4.34.3 软件设计软件设计 .1313 4.3.14.3.1 主程序主程序.1414 4.3.24.3.2 子程序子程序.1616 五、调试及性能五、调试及性能分分析析.2020 5.15.1 调试步骤调试步骤 .2121 5.25.2

3、性能分析性能分析 .2121 六、心得体会六、心得体会.2222 参考文献参考文献.2323 附录一附录一 系统系统硬硬件电路图件电路图.2424 附录二附录二 程序清单程序清单.2626 一、一、项目概述项目概述 随着现代科学技术的发展,生活水平的提高,人们的生活方式和生活质量的要求也 同以前有了追求。回到家里享受安静舒适方便快捷的休息方式已经是时代发展的要 求和人们生活所必需。为了让人们快速从当前繁琐的家庭劳动中解放出来,为了迎 合时代科技发展的要求,我们设计了智能家居中控系统。将家居的环境参数诸如: 湿度、温度等信息,还有水煤电等线管数据的报警等信息通过短信,电话等多种途 径,将信息快速

4、准确的及时的发送到主人手中,让你无论何时何地随时掌握家里的 数据信息,还有解决了家里电器设备的操控的繁琐,只要通过中控台全部控制家里 的应用电器。 二、设计任务和性能指标 2.1 设计任务 利用单片机及外围接口电路和相关的功能模块设计制作一个智能家居中控设备, 并且用 LCD12864 液晶显示器把相关的功能模块采集到的数据显示出来,显示当前操作 的意义等相关的数据信息。 要求用 AD6 设计出相关的电路图并且画出系统的电路原理图,印刷电路板,绘出程序 流程图,并给出程序清单。 2.2 性能指标 数据显示: LCD12864 显示每次中控台发出或是接受到数据信息的意义以及相关的参数 显示出来。

5、 控制模块: 控制模块主要是由 nRF905 采集外围的具有 nRF905 发射终端设备。例如采 集温度,湿度数据,接受遥控设备的射频遥控等命令。短信提醒功能,通过 nRF905 采 集的数据经过 MCU 控制后,经过 TC35i 模块经过手机的短信平台把相关的数据信息发送 给使用者。 系统精度:该中控系统是整个家居体系的核心处理部分,能够把数据进行综合汇总,将 所有的有关的数据实时准确的进行综合汇总控制。实现对家居设备的监控和管理的掌控 能力。经过这几大模块功能的组合应用,使家居的主人可以在任何时间,任何地点,随 时掌控家里的所有信息和控制管理。 三、原理概述三、原理概述 该系统主要是基于四

6、大控制模块建立构成的控制管理体系。首先是射频模块:射频模块 将家居的具有射频控制模块的采集子终端以及遥控终端。主要是进行接收控制命令和采 集家居的相关的数据,在这里具体表现为,采集家居的温度,湿度,煤气报警,水电的 报警数据以及射频遥控器的遥控指令。再者是红外线发送模块:该模块的主要功能是控 制具有红外线接收能力的家电设备例如:TV、DVD 和电视机顶盒等相关的家用电器。该 模块主要是通过射频模块接收到的控制命令控制家用电器设备。还有就是 LCD 液晶显示 模块:该模块主要功能是用于显示每次采集到的数据或是接受到的命令进行显示,说明 每次操作的具体意义。最后是 GSM 模块:该模块是基于手机服

7、务商的短信平台进行工作 的,该模块的功能是当家里的水电煤气等管理模块发出报警信息的时候,家里没有人在 指定的时间内进行先关的处理控制的时候,这时中控系统将采集到的报警命令通过 GSM 模块以短信的方式发送给家里的主人,这样保证了家里的主人无论在何时何地,随时掌 握家里的所以信息。 四、设计方案 4.1 框图设计 整个控制系统的基本模块组成及与 MCU 之间的联系的设计如图所示分别包括了每个模块 的具体信息其系统框图如图 4.1 所示。 nRF905 射频模 块 TC35iGSM 模块 红外线发送模块电 路 LCD12864 显示模 块 按键模块 STC89C52 单片机 图 4.1 4.2 硬

8、件设计 TC35i 新版西门子工业 GSM 模块是一个支持中文短信息的工业级 GSM 模块,工作在 EGSM900 和 GSM1800 双频段,电源范围为直流 3.34.8V ,电流消耗休眠状态为 3.5mA,空闲状态为 25mA,发射状态为 300mA(平均),2.5A 峰值;可传输语音和数据信 号, 功耗在 EGSM900(4 类)和 GSM1800(1 类)分别为 2W 和 1W ,通过接口连接器和天线连 接器分别连接 SIM 卡读卡器和天线。SIM 电压为 3V/1.8V,TC35i 的数据接口(CMOS 电平)通 过 AT 命令可双向传输指令和数据,可选波特率为 300b/s115k

9、b/s , 自动波特率为 1.2kb/s115kb/s。它支持 Text 和 PDU 格式的 SMS(Short Message Service,短消息), 可通过 AT 命令或关断信号实现重启和故障恢复,中文资料如下:TC35i 由供电模块 (ASIC)、闪存、ZIF 连接器、天线接口等 6 部分组成。作为 TC35i 的核心基带处理器主 要处理 GSM 终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。 4.2.14.2.1 STC89C52STC89C52 单片机单片机 STC89C52 具体介绍如下: 主电源引脚(2 根) VCC(Pin40):电源输入,接5V 电源

10、 GND(Pin20):接地线 外接晶振引脚(2 根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 控制引脚(4 根) RST/VPP(Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令, 如果接高电平则从内部程序存储器读指令。 可编程输入/输出引脚(32 根) STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别位 P0、P1

11、、P2、P3 口,每个口 有 8 位(8 根引脚) ,共 32 根。 PO 口(Pin39Pin32):8 位双向 I/O 口线,名称为 P0.0P0.7 P1 口(Pin1Pin8):8 位准双向 I/O 口线,名称为 P1.0P1.7 P2 口(Pin21Pin28):8 位准双向 I/O 口线,名称为 P2.0P2.7 P3 口(Pin10Pin17):8 位准双向 I/O 口线,名称为 P3.0P3.7 STC89C52 主要功能 主要功能特性 兼容 MCS51 指令系统8K 可反复擦写 Flash ROM 32 个双向 I/O 口256x8bit 内部 RAM 3 个 16 位可编程

12、定时/计数器中断时钟频率 0-24MHz 2 个串行中断可编程 UART 串行通道 2 个外部中断源共 6 个中断源 2 个读写中断口线3 级加密位 低功耗空闲和掉电模式软件设置睡眠和唤醒功能 nRF905 可自动完成处理字头和循环冗余码校验的工作,可由片内硬件自动完成曼 彻斯特编码/解码, SPI 接口与微控制器通信的使用,配置非常方便,其功耗也非常低, 输出功率为-10dBm 发射时电流只有 11mA,在接收模式时电流为 12.5mA。 nRF905 单 片无线收发模块工作由一个完全集成的频率调制器,一个带解调器的接收器,一个功率 放大器,一个晶体震荡器和一个调节器组成。自动产生前导码和

13、CRC 是 ShockBurst 工 作模式的特点,可以很容易通过 SPI 接口进行编程配置8。 为实现无线传输的功能,本系统采用杭州飞拓电子有限公司生产的 NewMsg_RF905SE 无线通信模块。NewMsg_RF905SE 的特点如下: (1) 433Mhz 开放 ISM 频段免许可证使用 (2) 最高工作速率 50kbps,高效 GFSK 调,抗干扰能力强,特别适合工业控制场合 (3) 125 频道,满足多点通信和跳频通信需要 (4) 内置硬件 CRC 检错和点对多点通信地址控制 (5) 低功耗 1 .93.6V 工作,待机模式下状态仅为 2.5 Ua (6) 收发模式切换时间650

14、us 4.2.2 超声波测距单片机系统 单片机系统主要由:STC89C52 单片机、晶振、复位电路、电源滤波部份构成。 STC89C52 单片机是超声波测距的核心部分,主要任务: (1) 控制 GSM 模块的指令发送。 (2) 控制射频模块的工作。 (3) 控制 LCD 显示电路的工作。 (4) 接受按键扫描。 4.2.3 射频电路 NewMsg_RF905SE 管脚图如 3.5 所示。 P24 P26 P35 P33P34 P23 P25 传传传传传传 P22 U+5 VCC W+5 VCC 1 CSN 12 TRX_CE 3 PWR_UP 4 TX_EN 2 CSN 12 uCLK 5 M

15、OS1 10 MOSO 9 SCK 11 AM 7 CD 8 GND 14 DR 6 NRF905 U8 P21 3.3V P20 图 3.5 NewMsg_RF905SE 管脚图 说明: (1)VCC 脚电压范围为 3V3.6V 之间,不能在这个区间之外,超过 3.6V 将会烧毁模块。推 荐 3.3V 左右。 (2)除电源 VCC 和接地端,其余脚都可以直接和普通的 5V 单片机 I/O 口直接相连,无需电平 转换。当然对 3V 左右的单片机更加适用了。 表 3.1 NewMsg_RF905SE 管脚图 管脚名称管脚功能说明 1VCC 电源电源+1.93.6V DC 2TX_EN 数字输入T

16、X_EN =1 TX 模式 TX_EN =1 RX 模式 3TRX_CE 数字输入使能芯片发射和接收 4PWR_UP 数字输入芯片上电 5uCLK 时钟输出本模块该脚废弃不用,向后兼容 6CD 数字输入载波检测 7AM 数字输入地址匹配 8DR 数字输入接收或发射数据完成 9MISO SPI 接口SPI 输出 10MOSI SPI 接口SPI 输入 11SCK SPI 时钟SPI 时钟 12CSN SPI 使能SPI 使能 13GND 地接地 14GND 地接地 3.2.3 工作方式工作方式 nRF905 工作模式由 TRX_CE、TX_EN、PWR_UP 的设置来设定。工作模式由表 3.1

17、所示9。 表 3.2 nRF905 工作模式 PWR_UPTRX_CETX_EN 工作模式 0XX 掉电和 SPI 编程 10X Standby 和 SPI 编程 110ShockBurst RX 111ShockBurst TX 电路原理图如图 4.2.3 所示。 图 4.2.3 4.2.4 GSM 模块 TC35i TC35i 硬件设计:TC35i 模块有 40 个引脚,通过一个 ZIF(Zero Insertion Force,零阻 力插座)连接器引出。这 40 个引脚可以划分为 5 类,即电源、数据输入/输出、SIM 卡、 音频接口和控制。TC35i 的第 15 引脚是正电源输入脚通常

18、推荐值 4.2V,第 610 引 脚是电源地。11、12 为充电引脚,可以外接锂电池,13 为对外输出电压(共外电路使用), 14 为 ACCU-TEMP 接负温度系数的热敏电阻,用于锂电池充电保护控制。15 脚是启动脚 IGT,系统加电后为使 TC35i 进入工作状态,必须给 IGT 加一个大于 100ms 的低脉冲,电 平下降持续时间不可超过 1ms。1623 为数据输入/输出,分别为 DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0 和 DCD0。tc35i 模块的数据输入/输出 接口实际上是一个串行异步收发器,符合 ITU-T RS232 接口标准。它有固定的参数

19、:8 位数据位和 1 位停止位,无校验位,波特率在 300bps115kbps 之间可选,默认 9600。 硬件握手信号用 RTS0/CTS0,软件流量控制用 XON/XOFF,CMOS 电平,支持标准的 AT 命 令集。其中 18 脚 RxD0、19 脚 TxD0 为 TTL 的串口通讯脚,需要和单片机或者 PC 通讯。 TC35i 使用外接式 SIM 卡, 2429 为 SIM 卡引脚,SIM 卡同 TC35i 是这样连接的:SIM 上 的 CCRST、CCIO、CCCL、CCVCC 和 CCGND 通过 SIM 卡阅读器与 TC35i 的同名端直接相连, ZIF 连接座的 CCIN 引脚

20、用来检测 SIM 卡是否插好,如果连接正确,则 CCIN 引脚输出高 电平,否则为低电平。TC35i 的第 32 脚 SYNC 引脚有两种工作模式,一种是指示发射状 态时的功率增长情况,另一种是指示 TC35i 的工作状态,可用 AT 命令 AT+SYNC 进行切 换,本模块使用的是后一种。当 LED 熄灭时,表明 TC35i 处于关闭或睡眠状态;当 LED 为 600 ms 亮/600ms 熄时,表明 SIM 卡没有插入或 TC35i 正在进行网络登录;当 LED 为 75 ms 亮/3s 熄时,表明 TC35i 已登录进网络,处于待机状态。30、31、32 脚为控制脚, 其中 30 为 R

21、TC backup,31 为 Power down,32 为 SYNC。3538 为语音接口,35、36 接扬声器放音。37、38 可以直接接驻极体话筒来采集声音(37 是话筒正端,39 是话筒 负端) 电路原理图如图 4.2.4 所示。 图 4.2.4 4.2.5 显示电路 该系统采用 112864 液晶屏显示模块 2864A-1 汉字图形点阵液晶显示模块,可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵) 、 128 个字符(8X16 点阵)及 64X256 点阵显示 RAM(GDRAM) 。 主要技术参数和显示特性: (1)电源:VDD 3.3V+5V(内置升压电路,无需负

22、压); (2) 显示内容:128 列 64 行 (3)显示颜色:黄绿 (4)显示角度:6:00 钟直视 (5)LCD 类型:STN (6)与 MCU 接口:8 位或 4 位并行/3 位串行 (7)配置 LED 背光 (8) 多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等 (9)逻辑工作电压(VDD):4.55.5V (10) 电源地(GND):0V (11) 工作温度(Ta):060(常温) / -2075(宽温) (12) 串行数据传送共分三个字节完成: 第一字节:串口控制格式 11111ABC A 为数据传送方向控制:H 表示数据从 LCD 到 MCU,L 表示数据从 MCU 到

23、 LCD B 为数据类型选择:H 表示数据是显示数据,L 表示数据是控制指令 C 固定为 0 第二字节:(并行)8 位数据的高 4 位格式 DDDD0000 第三字节:(并行)8 位数据的低 4 位格式 0000DDDD 串行接口时序参数:(测试条件:T=25 VDD=4.5V) 图 4.2.5 4.3 软件设计 4.3.1 主程序 本系统的智能化核心是 STC89C52,其收发程序和应用软件全部固化在 EPROM 内。它 的工作过程是:当系统上电后,单片机进入监控状态,同时完成对各端口的初始化工作, 当外部的采集数据模块的终端设备有报警信息时候,直接发送传达的指令在没有采取的 到相应的指令的

24、情况下,短信发送模块激活,向固定的电话发送短信报告之相应的数据 信息。LCD 显示模块同时显示收到数据的意义。当中控台收到射频遥控器的指令时,通 过 MCU 的综合处理,将射频协议和红外线协议转换,发射出与之对应的红外线命令从而 实现对家用电器的控制和管理的操作。此时遥控器接收模块接收相应数据并将数据在 LCD 显示屏上显示。 图 4.3 为主程序流程图。 系统初始化 接受数据/发送指令 显示信息的意义 发送红外线命/发送令短信 查询新的指令信息 开始 图 4.3 主程序流程图 4.3.2 系统的子程序。 RF905 无线数传程序包括无线发送程序和无线接收程序。 ShockBurst TX 发

25、送流程分一下几步: (1) 当微控制器有效数据要发送时,通过 SPI 接口,按时序跋接收机的地址和药发 送的数据传送给 RF905,SPI 接口的速率在通信协议和器件配置时确定; (2) 微控制器置高 TRX_CE 和 TX_EN,激发 RF905 的 ShockBurstTM 发送模式; (3) RF905 的 ShockBurstTM 发送: (4) 射频寄存器自动开启; (5) 数据打包(加头字和 CRC 校验码) ; (6) 发送数据包; (7) 当数据发送完成,数据准备好引脚被置高; (8) AUTO_RETRAN 被置高,RF905 不断重发,自动进入空闲。注意:ShockBurs

26、tTM 工作模式保证,一旦发送数据的过程开始,无论 TRX-NE 和 TX_EN 引脚是高或 低,发送过程都会被处理完。只有在前一个数据包被发送完毕,RF905 才能接 受下一个发送数据包。 ShockBurst TX 发送流程图如图发送流程图如图 4.4 所示所示五、调试及性能分析 图 4.4 待机 TX-EN=1 PWR-UP=1 TRX-CE=1 SPI 编程 载入有效地址 TRX-CE=0? 通信模块上电 CRC 和前导码 发射数据包 发射完 DR=1 产生前导码 后 DR=0 TRX-CE=1? AUT0- RETRAN= 1? ShockBurst RX 接收流程分一下几步: (1

27、) 当 TRX_CE 高、TX_EN 为低时,RF905J 进入 ShockBurst TM 接收模式; (2) 650us 后,RF905 不断监测,等待接收数据; (3) 当 RF905 检测到同一频段的载波时,载波检测引脚被置高; (4) 当接收到一个匹配的地址,AM 引脚; (5) 当一个正确的数据包接收完毕,RF905 自动移去字头、地址和 CRC 校验位,然 后把 DR 引脚置高; (6) 微控制器把 TRX_CE 置低,RF905 进入空闲模式; (7) 微控制器通过 SPI 口,以一定的速率把数据移到微控制器内; (8) 当所有的数据接收完毕,RF905 把 DR 引脚和 AM

28、 引脚置低; (9) RF905 此时可以进入 ShockBurst TM 接收模式、ShockBurst TM 发送模式或关 机。 当正在接收一个数据包时,TRX-CE 或 TX_EN 引脚的状态发生改变,RF905 立即把其 工作模式改变,数据包丢失。当微处理器接到 AM 引脚的信号之后,其就知道 RF905 正 在接收数据包,其可以决定是让 RF905 继续接收该数据包还是进入另一个工作模式。 ShockBurst RX 接收流程图如图接收流程图如图 4.5 所示。所示。 待机 TX-EN=1 PWR-UP=1 TRX-CE=1? 通信模块上电 进入待机模式 检测载波信号 检测到则 CD

29、=1 地址正确? AM=1? 数据接收 crc 正确?AM=0 数据接收 TRX-CE=1? MCU 通 过 SPI 对 接口读出有效数据 AM=1 DR=0 图 4.5 显示模块 LCD12864 程序编写: 本系统采用的是串行通信方式,这样可以有效的减少单片机的 I/O 的占用,为将来的功能的扩 展提供了接口控制。主要的指令如下: (1)写指令: void write_cmd(uchar cmd) lcdrs = 0;/低电平表命令 lcdrw = 0;/ 低电平表写 P0 = cmd;/把命令送给 P0 lcden = 0;/产生一个高脉冲 delay_ms(5); lcden = 1;

30、 delay_ms(5);/不用的时候把 en 拉低,12864 不使能 lcden = 0; (2)写数据: void write_dat(uchar dat) lcdrs = 1;/高电平表示数据 lcdrw = 0;/低电平表示写 P0 = dat;/把数据送到端口 lcden = 0;/产生一个高脉冲 delay_ms(5); lcden = 1; delay_ms(5); lcden = 0; /不用时不使能 TC35i 的发送短信程序: 5.1 调试步骤 焊接好各个模块后,进行模块的单独测试。红外线发送调试部分比较要求细致一些, 在这里的时序控制问题和频率精度的设计要求较高,在计算

31、初值和调试载波的占空比的 时候都要利用示波器精确测量。GSM 模块根据相应用到的指令进行分部的调试,最后在 进行整个模块的功能调试。显示模块调试比较简单了,只要保证对应的引脚电路的正确, 时能时钟应用正确,液晶屏就会按照程序设计的方式进行显示。无线射频模块的调试要 进行收发两种模式的相互配合,在调试的时候可以利用 DR 引脚和 CD 引脚在工作模式下 的特殊性进行调试。在所有的模块都调试成功后才可以进行系统的软件的综合控制管理 MAIN 函数测试和调试工作。 六、心得体会 两个月的单片机课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也 培养了我如何去把握一件事情,如何去做一件事情

32、,又如何完成一件事情。在设计过程 中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了 运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程 知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程 ”千 里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今 天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中 奔跑打下坚实的基础通过这次智能家居中控设计,本人在多方面都有所提高。通过这 次智能家居中控设计,综合运用本专业所学课程的理论和生产实际知识进行一次智能家 居中控设计工作的实际训

33、练从而培养和提高学生独立工作能力,巩固与扩充了智能家居 中控设计等课程所学的内容,掌握智能家居中控设计的方法和步骤,同时各科相关的课 程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出我们设 计智能家居中控的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果 的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们 的李厚杰老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师 循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次智能家居中控的每个实验细 节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我们

34、 能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我们的 帮助和支持,让我感受到同学的友谊。由于我们的设计能力有限,在设计过程中难免出 现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,我们将万分感谢。 七,参考文献 1 楼然苗,李光飞.51 系列单片机设计实例.北京航空航天大学出版社 ,2003 2 何希才.常用集成电路应用实例.电子工业出版社,2007 3 杨国田,白 焰,董 玲.51 单片机实用 C 语言程序设计.中国电力出版社,2009 4 杨居义.单片机课程设计指导.清华大学出版社,2009 附录一附录一 系统硬件电路图系统硬件电路图 附录三附录三 程

35、序清单程序清单 超声波测距器单片机程序 (文件 1 保存为 ceju.c) #include #define uchar unsigned char #define unit unsigned int #define ulong unsigned long #includeintrins.h #includestring.h sbit ir=P34;/红外发射管控制脚 uint count, set_count;/中断计数,设定中断次数 bit keyflag,flag;/红外发送标志,按键标志位 uchar irsys4=0 x1a,0 xa1,0 xdc,0 x03;/26 位系统码,最后

36、一个字节只用 2 位 uchar ircode,irdata,num; unsigned char code table=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; #define buf_max 72/缓存长度 72 uchar a,i; uchar rec_bufbuf_max;/接收缓存 #includestdio.h #includemath.h #define uchar unsigned char #define uint unsigned int #define WC0 x00/ Write confi

37、guration register command #define RC0 x10 / Read configuration register command #define WTP0 x20 / Write TX Payload command #define RTP0 x21/ Read TX Payload command #define WTA0 x22/ Write TX Address command #define RTA0 x23/ Read TX Address command #define RRP0 x24/ Read RX Payload command typedef

38、 struct RFConfig uchar n; uchar buf10; RFConfig; code RFConfig RxTxConf = 10, 0 x4c, 0 x0c, 0 x44, 0 x20, 0 x20, 0 xcc, 0 xcc, 0 xcc,0 xcc, 0 x58 ; / 905 配置初始化数据/字节 1 以 10dBm 功率输出/RX、TX 地址宽度为 4 字节。 /0 x20, 0 x20:收发 32 字节/允许 CRC8 位校验外接(模块自身带有的)16MHz 晶振。 /0 x4c:频率 430mhz s / 0 x20, 0 x20:收发 32 字节 / 0

39、xcc, 0 xcc, 0 xcc,0 xcc:spi 写入的地址 uchar data TxBuf=12345; uchar data RxBuf6; uchar temp; unsigned char code table1= 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 xaa; uchar bdata DATA_BUF;/片内 RAM 寻址存储 sbit flag =DATA_BUF7; sbit flag1=DATA_BUF0; sb

40、it TX_EN =P07; sbit TRX_CE =P06; sbit PWR_UP =P05; sbit MISO =P01; sbit MOSI =P00; sbit SCK =P27; sbit CSN =P23; sbit AM =P03; sbit DR =P22; sbit CD =P04; sbit SDATA_595 = P10; sbit SCLK_595 = P11; sbit SRCLK_595 = P12; sbit wei_y0 = P14; sbit LED=P20; sbit key1 = P30; sbit key4 = P31; sbit key5 = P

41、32; sbit dula = P26; sbit wela = P27; /SCM12864-05 端口定义 #define LCD_DATA P0 /数据口 sbit RS = P35; /并行的指令/数据选择信号, H 数据, L 命令 sbit RW = P36; /并行读写选择信号, H 读, L 写 sbit E = P34; /并行使能端, H 有效, L 无效 sbit PSB = P37; /并/串接口选择, H 并,L 串 sbit RET = P33; /复位, L 有效 uchar code datas1 = 欢迎使用家居中控系统; uchar code datas2

42、= 工作模式:; uchar code datas3 = 意义:; uchar code datas4 = 指令码:; void InitIO(void);/ Initialize IO port void Inituart(void); / initialize 232 uart void Config905(void);/ Config nRF905 module 配置 NRF905 模式 void SetTxMode(void);/ Set nRF905 in Tx mode void TxPacket(void);/ Send data by nRF905 void SpiWrite(uchar);/ Write data to nRF905 void Delay(uchar n);/ Delay 100us void display(); void SendData_595 (); void OutputData_595 (); void main() while(1) /=RF905 初始化 = CSN=1;/ Spi disable SCK=0;/ Spi clock line init high DR=1;/ Init DR for input AM=1;/ Init AM for input PWR_UP=1;/ nRF905 power on TRX_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1