无线数据传输系统设计


    
    线数传输系统设计
    线数传输系统设计



    信息时代着信息工业飞速发展线化成技术革新新发展方交流越越少面面线交流越越工智数理系统种控制系统离开数传输技术值提线传输技术种先进新型传播效途径仅简单设备节省硬件成需布线优化传动系统效率现电子设备线数传输功线数传输信号接收识通常相关模块十分便利然着互联网新技术日新月异越越基AI智仪表测量控制设备需通Internet进行数传输交换信息社会中信息获取传输已逐渐线变线线通信技术范围应相应副产品已进入社会领域线数传输技术发展前景业界nRF401款线收发芯片称短距离线数传输应必备品产品高效应市场
    系统采51单片机中心通线模块外围组件模块等实现线数传输功文简单概述线通信基原理知识然包括系统设计功模块组成结构射频芯片nRF24L01工作原理简单介绍硬件电路外围技术线数收发器[1]
    关键词 线传输单片机传感器nRF24L01
    Design of Wireless Data Transmission System
    Abstract
    In the information age with the vigorous development of the information industry wireless has become the development direction of science and technology People communicate less and less facetoface and online communication is more and more Therefore such as artificial intelligence data systems and various control systems cannot leave the data transmission technology It is worth mentioning that wireless transmission technology is an advanced and new effective way of transmission It is not only a simple device saving hardware costs no longer need wiring optimizing the efficiency of the transmission system At present some wireless data transmission functions using electronic equipment are very convenient Relevant modules are usually used for signal reception and identification of wireless data transmission However with the rapid development of new Internet technologies more and more AIbased intelligent instruments or measuring and control equipment need to transmit or exchange data through the Internet In the information society the acquisition and transmission of information has gradually changed from wired to wireless The extensive application of wireless communication technology and its corresponding byproducts have also entered various fields of society and the development prospect of wireless data transmission technology is also widely promising NRF401 is a wireless transceiver chip which is called a great invention of shortrange wireless data transmission application The use of nRF401 reduces the development difficulty and shortens its cycle enabling products to be efficiently applied to the market
    This system uses 51 single chip microcomputer as the center and realizes the function of wireless data transmission through wireless modules and other peripheral components and modules This paper gives a brief overview of the basic principles of wireless communication and then includes the system design of various functional modules its structure and the working principle of the RF chip nRF24L01 a simple introduction to the hardware circuit peripheral technology and wireless data transceiver Experiments show that the system has stable performance good antiinterference ability and high practical value
    Keywords Wireless Transmission Single Chip Microcomputer Sensor nRF24L01
    目 录
    1 引言 1
    2 线数收发系统 2
    21设计背景 2
    22系统组成 2
    23 实现程 3
    3 收发部分原理设计 3
    31 线模块nRF401 4
    32 FSK调制 5
    33 应电路设计 6
    331 电路组成 6
    4 控制部分原理 7
    41 STC89C51 7
    411部结构 7
    412引脚功 8
    413复位时钟电路 8
    42串口通信 9
    421结构描述 9
    422数发送接收 10
    43温度传感器 11
    431简介 11
    432技术性 12
    433结构引脚 12
    5 显示部分 14
    51 LCD1602 14
    511脚功 14
    512特征 15
    52 显示电路 16
    6 软件设计 17
    61 程序 17
    62 液晶显示子程序 18
    63 数收发子程序 19
    64 键盘子程序 20
    7 测试结果分析 21
    71 硬件电路 21
    72系统测试 21
    721软件测试 21
    722功测试分析 21
    8 结 23
    致谢 24
    参考文献 25
    附录 26




    1 引言
    着信息技术革命通信生活越越必少采线方式提供更便利更惠民实价值
    线数传输技术实种信息传输应拓展时信息智化时代产物传统线传输相满足种场景求需复杂布线规划运现代化手段传输信息传统方式受局限线设计拓展性更加丰富
    系统求传输时间短接口简单实NRF401款新推出单片线收发器集成芯片采线收发器电路微控制器控制液晶显示器组成完整数收发器系统高度集成微芯片中包括许功例发送接收FSK调制等具少外围组件利设计生产目前应许线数传输产品 [2]



    2 线数收发系统
    21设计背景
    着时代进步类社会早已进入数字信息时代数传输质量速度提出更高求信息技术现状原线电视传输系统维护成高成程度限制市场推广极阻碍深度信息技术数传输线数传输需求越越迫切
    线通信技术线互联网广泛应日常生活中带极方便提供扩展直接连接配置中客户端设备接入点请求访问客户端设备许客户端然连接接入点没数通接入点没线设备板电脑难WiFi您通Win系统线网络信号换线信号简化设备互联网间通信数传输更加高效快捷达扩展线信道目[3]
    22 系统组成
    种设计需基控制器设计通WIFI模块集成线数收发器功串行指令完全控制设计采新兴线通信技术线数传输方力争实现室环境数采集工业时间全局控智家居发展说明布线便等方面指标尤重旨提出种高效数采集分析程序设计实现基线传输数采集系统通软件硬件组合功模块应问题分析工作原理解释系统测试分析尤液晶显示器中软件硬件设备外部接口RS232 51单片机等调试分析低耗集成模块化设计原理具备稳定特点进行说明线数收发系统图22示整体规划四步骤
    (1)确定整体系统设计合适温度传感器WIFI模块选择
    (2)完成该程设计模块间数传输
    (3)电路板整合组装
    (4)根求调试



    图22线数收发系统
    23 实现程
    实现程操控样RXD输入数字信号完成信息发送处理接收STC89C51控制器引脚P32P35显示端口P10控制发送接收TXD连接收发器输入端通FSK调制信号传输数发送显示器完整实现数传输接收显示处理线数收发系统具体结构图图23示实现述程描述方传送方串口通信实现完成[4]

    STC89C51




    发射
    DS18B20
    接收
    STC89C51




    显示电路

    报警电路









    图23线数收发系统具体结构图


    3 收发部分原理设计
    线通信模块通常基微控制器般配置包含基功芯片短距离线通信方面考虑选择线技术
    (1)实现系统求功
    (2)通信协议整系统复杂性发展影响需开发简单相关复杂性系统成
    (3)传感器系统需良稳定性高性强抗干扰力线系统低功率消耗重指标线收发系统电路图见附录示[5]
    31 线模块nRF401
    芯片NRF401基短距离线通信技术核心24 GHz线收发器集成体积耗低GFSK调制技术具动响应重传12 Mbps数传输速率中型设备中NRF24L01芯片已占市场规模相关技术已应低成线网络国国外nRF24L01已形成网络技术新需求断增加已获相关领域定成绩样设计选择RF芯片种线通信采集成技术频率稳定性极RF芯片较复杂户体验方面设计降低成增加灵活性nRF401引脚图图31









    图31 nRF401引脚
    9脚表示DIN输入信号10脚表示DOUT输出信号9脚表示TXEN高电表示发送数低电表示接收数12脚表示选择通道选FREQ0118脚表示电源开关PWRUP脚表示1时工作状态 0表示机状态1ANT1ANT2脚表示天线接入端口
    配置字SPI称步串口通信接口传输低位字节传高位字节着高速传输力8指令关SPINRF24L01输入里面配置字配置寄存器理定义SPI口访问配置寄存器[6]

    表31常配置寄存器
    址(H)
    寄存器名称
    功设置
    00
    CONFIG
    24L01工作模式
    01
    EN_AA  
    接收通道动应答
    02
    EN_RXADDR
    通道址
    03
    SETUP_AW
    址宽度
    04
    SETUP_RETR
    动重发数时间次数
    07
    STATUS
    状态寄存器
    0A~0F
    RX_ADDR_P0~P5
    接收通道址
    10
    TX_ADDR
    接点址
    11~16
    RX_PW_P0~P5
    接收通道宽度
    32 FSK调制
    数字时代计算机执行通信数链路传输移频键控调制信号 频移键控信号转换成二进制数传输高低转化率表示二进制语言直接计算机语言识频移键控(称偏压调制频率)频移键控载波频率发射信息技术实现简单噪声抗干扰耐腐蚀性非常突出利基带数字信号离散值载波频移键控调制传输数字信息技术特点广泛低速数传输数传输通常采调制方案二进制数字调频信号输入1门1题门关闭2F1输出频率理反然产生两相互独立振荡频率时输出2移频键控信号相位连续面频移键控方法矩形脉信号控制开关电路数字基带信号控制开关实现移频键控调制必须高频率频率键控法原理框图图32 2FSK信号波形图图321示已调信号时域表达式见式32示[7]



    图32频率键控法原理框图
    已调信号时域表达式
    (式32)



    图33  2FSK信号波形图
    33应电路设计
    NRF401工作频率正常工作中收发器转换单片微机控制状态转换需注意天线接入单片机晶振通讯协议制定软件设计缺
    331电路组成
    nRF401线收发应电路图34示:


    图34 nRF401应电路
    负载电容CL
    (式33)
    式中 电路板寄生电容
    NRF401电路PCB设计程中 制作PCB设置布局范围计算机辅助设计DXP软件设计NRF401线收发器电路部分计算机辅助软件根设计电路连接电路



    4 控制部分原理
    41 STC89C51
    STC89C51新代高速低功耗单片机全新精简指令集结构专集成电路部复位电路 216位计数器工作频率035MHZ工作电压3455VSTC89C51控制液晶屏显示键等工作开发系统总控制电路部分STC89C51nRF401 STC89C51串行通信控制nRF401 TXEN方面调整发送接收状态[8]
    411 部结构
    STC89C51单片机组成中央处理单元程序存数存储器定时器计数器IO口中断系统等[9]
    图4 1部结构框图
    412 引脚功
    VCC表示供电电压含义GND接端脚
    反振荡XTAL1代表输入放器部时钟电路输入
    XTAL2表示反振荡器输出
    STC89C51引脚图图42示















    图42 STC89C51引脚图
    413 复位时钟电路
      系统设计采时钟电路动复位电路图43图44示单片机端口P0部拉电阻高阻抗高低输出正常必须外部电阻I O脚51单片机部监督集成电路导致强抗干扰力

    图43 时钟电路 图44 复位电路
    42 串行通信
    两通信方式串行行通信时行通信通信系统中传输时字节传输数串行通信意味着字节分通信传输单独意味着字节传输模式通信全双工串行接口51通部控制器突出优点作传输线降低硬件成原次传递缺点明显传输速度慢造成样低速率原次发送8位字节数传送图45示串行通信方式[10]


    图45 串行通信方式
    串行通信传输步骤先行数变成串行数发送接收时原计算机设备识处理选择串行通信通传输线传输长距离传输成劣势存难传递控制串行通信分异步步串行通信设计里步串行通信
    STC89C51串行端口设置四种工作模式系统中STC89C51串行端口模式1运行时异步通信帧格式图10示起始位8位数位1位停止位SM0 0SM1 1选择串行模式帧格式图46示

    停止
    起始
    D6
    D7
    D0
    D1
    D2
    D3
    D4
    D5


    图46 帧格式图
    421 结构描述
    单片机串行口时通信接口编程拥诸功全双工发送接收数作步移位寄存器两独立串行数缓存SBUF发送控制器接收控制器等电路串行口基结构图47示


    图47 串行口基结构
    时微控制器51发送通串行寄存器访问特殊功寄存器接收SBUF享址99H两物理独立寄存器指令谁决定访问执行写命令时串行寄存器访问读命令时接收寄存器访问CPU控制传输数考虑缓问题谁拥问题发送数缓器传输控制器输出控制接收数缓器接收控制器输入移位寄存器等串行口两特殊功寄存器scon pcon控制运作串行端口波特率波特率发生器定时器/计数器1构成
    波特率设定
    (式42)

      
    SMODPCON寄存器高位值
    设计数初值Xfosc晶振频率
    (式43)
                 
     
    波特率计算
    (式44)


    波特率算初值定时器初始化初值X
    (式45)



    SBUF串口数串行移位寄存器两输入串行输出缓寄存器SBUF寄存器 两独立接收器发送缓器时发送接收数通指令缓存读写操作两独立收发器控制信号RXD TXD实现全双工串行数转换串行输入注册完成动接收数行加载SBUF数写入SBUF开始串行数传输前面插入TB8起通设置波特率连续输出[11]
    422 数发送接收


    图48传送数格式


    图49 数输出时序图


    图410数输入时序图
    43温度传感器
    431简介
    温度传感器种常种传感器 着科学技术进步老热电偶温度传感器电阻温度传感器缓慢速度退出市场美国DALLAS半导体推出DS18B20仅占微控制器I O接口外围装置直接转换成数字信号串行传输模式码现代已数字温度传感器体积简单接口广泛应领域生产实践社会生活提供便利现代仪器发展型化数字化高集成正成重传感器发展方DS18B20温度传感器常见种广泛优秀表现型廉价抗干扰力强低电压低功耗通常电缆温度锅炉温度场景


    存储器控制器

    64位ROM单线接口

    高速缓存存储器
    温度灵敏元件
    8位CRC生成器
    电源检测
    低温触发器
    高温触发器
    配置寄存器










    图411 部结构图
    DS18B20址序列码64位ROM样实现条总线连接传感器工作转换符号提供温度测量通转换获12位数存储RAM8位果5位0温度0
    432技术性
    单线接口实现微处理器通信温度范围适数场景错误PVC电缆直接连接电源插座出口箱方便连接电器设备支持网络功行点温度测量相时间缺点增加信号稳定没外部元件串行传输测量中[12]
    433结构引脚
    广泛应DS18B20 64芯片部结构温度传感器报警触发配置存储DQ说数字信号输入输出接接VDD代表电源侧温度转换DS18B20通信协议单片机控制温度传感器DS18B20脚图48原理图49示


    图48脚图


    图49原理图


    5 显示部分
    51 LCD1602
    LCD1602称工业字符型液晶显示32字符时2行16列显示字符数字
    表51 1602液晶参数信息
    显示容量
    16 ×2 字符
    芯片工作电压
    45 ~ 55 V
    工作电流
    20mA (50 V)
    模块佳工作电压
    50 V
    字符尺寸
    295×435(W×H)mm
    511 脚功
    标准16针接口中述第口述VSS代表电源接端第五口RW代表写入信号端子高电表示读操作0低电表示2端脚写入操作VCC表示正电源5V第6EN表示端子高电读出信息表示第714D0D7表示8位双数终端第三脚V0表示液晶显示度调整结束 4引脚 RS指示寄存器选择高电表示数寄存器1逻辑0表示指令寄存器中 1516表示空脚15背光源正极表示该负电极背光源脚16表示1602型液晶接口信号说明表52示[13]

    表521602液晶接口信号说明
    编号
    符号
    引脚说明
    编号
    符号
    引脚说明
    1
    VDD
    电源正极
    1
    D2
    数口
    2
    VSS

    2
    D3
    数口
    3
    RS
    数命令选择段
    3
    D4
    数口
    4
    VO
    液晶显示度调节端
    4
    D5
    数口
    5
    E
    信号
    5
    D6
    数口
    6
    DO
    数口
    6
    D7
    数口
    7
    D1
    数口
    7
    BLA
    背光电源正极
    8
    RW
    读写选择端
    8
    BLK
    背光电源负极


    512 特征
    该芯片体积功耗低显示容丰富仪器低功耗系统应中十六进制ASCII码液晶字符发生器模块1602读出写入址存储器存储址码

    图51 1602液晶写操作时序图
    写序方法具步骤首先RS数命令输入确定写数指接想显示什容读写端低电表示写模式数线传递数者命令接着E高脉数传送入1602液晶样完成写操作步骤基操作程序分读状态读数写命令写数四步骤执行控制器部带80BITRAM缓存区应关系图52示


    图5 2 1602液晶部RAM址映射图
    意区域(包括110F404F)写入数时液晶时显示写入区域10275067间时必须需输入指令正常显示
    52 显示电路
    STC89C51 P36 P37访问74 ls00输入非门芯片控制显示读写允许信号显示STC89C51 P0口八根数总线实现数传输展示V0口电位计LCD度温度相应变化会改变添加电位器调整LCD度STC89C51 P36 P37访问4 74 ls00输入非门芯片控制显示读写允许信号STC89C51 P0口八根数总线监视实现数传输液晶显示温度改变调整显示正常[14]














    图53 收发系统显示电路




    6 软件设计
    系统线数收发器STC89C51微控制器显示器键收发器串行通讯端口间服务目线数传输系统部分控制系统微控制器STC89C51nRF401芯片发射控制程序中钮控制传输传输nRF401状态nRF401接收状态总保持接收模式 RXDTXD端子DOUTDIN连接微控制器作发送接收数传输TXEN该端子连发送接收端微控制器中控制程序结束
    61 程序
    执行电气设备 液晶微控制器寄存器初始化设置串行端口波特率控制然进入键盘扫描器接收器果钮时相应键子程序执行 果微控制器确定接收数否通液晶发送处理前进CRC果数信息正确显示程序流程图见图61次接收数时通液晶显示启动校准正确信息 [15]




















    开始
    初始化
    设置串口
    工作方式
    N
    Y
    N
    N
    判断键
    执行相应程序
    判断否接收
    校验正确

    处理
    显示
    扫描键盘时判断否数接收
    Y

































    图61 程序流程图
    62液晶显示子程序
    液晶显示模块工作原理采逐位数扫描方式进行数码温度显示脚接口输入显示代码应着LED电高低LED高位时点亮剩余全熄灭原理第组引脚状态然初始化数码高低次显示程中短暂延迟液晶显示子程序流程图见图62


    入口
    初始化写入显示设置命令
    选择
    延时1ms
    显示RAM址
    Y
    N
    延时1ms
    检测信号
    写入相应数
    数显示完毕
    回程序


























    图62 液晶显示子程序流
    63 数收发子程序
    STC89C5单片机nRF401收发机状态完成解码 NRF401芯PWR表示高电FREQ表示低电 控制单片机STC89C51 nRF401直保持接收状态数收发子程序流程图见图63[16]



    入口
    nRF401接收

    nRF401发射
    数发射
    Y
    N
    键盘扫描

















    图63 数收发子程序流程图
    64 键盘子程序
    键程序确定钮时启动通钮K0K1K2K3 K4定义报警限制时候旦温度超极限值接收单片机报警系统开始程序应精度高测温范围广报警时适场合变键盘子程序流程图图64






    判断键
    键1
    键4
    键3
    键2
    调数值
    调数值
    报警选择
    校验










    图64 键盘子程序流程图


    7 测试结果分析
    71硬件电路
    测试控制模块通接口控制线模块具体测试步骤示
    (1)开关钮操作步骤观察LCD显示否正确应数值模块焊接安装导线物理连接然进行审核然观察相应接收端否步显示值单片机电源线路否连接电源板注意接方法正确否然检查否相应脚应正确
    (2)默认开发板已收开发板测试程序需烧写程序单片机模块焊接安装导线物理连接然进行审核
    (3) 启动测试单片机通电测试单片机控制模块否正常收发串口传递信息单片机串口连接电脑串口程序写入STC89C51然进行软件测试果测试完成开始NRF401测试连接程序接收发送状态否正常[17]
    72系统测试
    721 软件测试
    (1)调试软件进行KEIL uVision5新建完成
    (2)相关hex文件烧单片机中
    (3)检查软件否达需功
    (4)功程序检测然修改编译出终需程序代码
    722 功测试分析
    通测试系统数传输力判断传输接收数否准确确保模块工作硬件连接正确基础nRF401接收传输串行数收良效果STC89C51单片机核心温度传感器DS18B20温度测量系统NRF24L01线温度传输系统测量范围0999摄氏度测量精度12程度机第设定温度报警值测试设定钮增加限报警值降低温度设定具掉电保存功机测试环境温度机设置温度范围时蜂鸣器报警二极红光时提醒 [18]





























    8 结
    毕业设计STC89C51控制核心线传输模块温度传感器等边缘元件组合完成数传输系统整体设计根NRF401优点设计出种利51单片机控制软硬件实现数传输采集处理结果显示等功相限传输方式线数传递时效性更高稳定优势完全发挥出相前流行SIMZIGBEE等手段系统设计线数传输系统仅适LED显示屏更新种思路设计投入实际应数短距离线数收发领域点具较市场价值设计中次软件编程调试验证系统整体稳定性程中代码达设计预期功反复测试终解决问题感觉动手力提高























    致谢
    着学毕业设计结束意味着北京理工学珠海学院学生涯结束段时间里身力提高包括线传输系统知识运技术前景解等益老师朋友力帮助毕业设计程中种编程方法更进步学 开阔眼界拓展知识面提高知识综合应力提升学知识浓厚兴趣
    科四年学程中许老师朋友建立浓厚师生情谊遇挫折困难时总会站出帮感谢学老师心帮助学生活着难忘回忆尤信息学院孟颖老师发挥毕业设计课题次感谢帮助衷心祝福
    参考文献
    [1] 黄智伟 线数字收发电路设计第2版电子工业出版社2004年253269
    [2] WU Xunwei Low power DC circuits employing AC power supply SCIENCE IN CHINA (INFORMATION SCIENCES)2002Vol45 No3232
    [3] 苗长云沈保锁窦晋江等现代通信原理第1版电子工业出版社2005年174177
    [4] Behrouz Forouzan Introduction to Data Communications and NetworkingFirst Editionmechanic industry book concern1999121125
    [5] Kaveh Pahlavan Nordic nRF401 Product SpecificationNordic corporation200036
    [6] Nigel Brooke串行数标准选择电子产品世界2000年10月3132
    [7] Richard Glyons Understanding Digital Signal ProcessingBradford University20013637
    [8] Tugal D A Tugal 0 Data Transmissionanalysis Design Applications
    FlorenceItaly200432
    [9] 赵景波刘金辉荣盘祥等Protel DXP 基础实例培训教程第1版中国电力出版社2005年119144
    [10] 臧铁钢唐峰陈学锋等 Protel DXP 电路设计应第1版中国铁道出版社2004年172179
    [11] 刘立枫赵民建信号接收机中国线电电子学文摘2005年31期4547
    [12] 周仕凤MCS51做LCD接口实验电子世界2002年第8期37
    [13] 李广第朱月秀王秀山等单片机基础第2版北京航空航天学出版社2001年4070
    [14] 杨振江杜铁军李群等 流行单片机实子程序应实例第1版西安电子科技学出版社2002年102115
    [15] 张俊谟 MCS5180C51系列单片机电子世界2001年第8期30
    [16] 蔡莹液晶技术电子纸电子产品世界2003年11半月3840
    [17] 康华光邹寿彬电子技术基础第1版高等教育出版社2002年191197
    [18] 黄智伟王彦陈文光等全国学生电子设计竞赛训练教程第1版电子工业出版社2004年7380






    附录
    线收发系统电路图



    部分系统程序源代码
    #include
    #include eepom52h
    #define uchar unsigned char
    #define uint unsigned int
    #include nrf24l01H
    数码段选定义 0 1 2 3 4 5 6 7 8 9
    uchar code smg_du[]{0xc00xf90xa40xb00x990x920x820xf80x800x90
    0x880x830xc60xa10x860x8e0xff}
    数码位定义
    uchar code smg_we[]{0x7f0xbf0xdf0xef}
    uchar dis_smg[8] {0xc00xf90xa40xb00x990x920x820xf8}
    uchar smg_i 3 显示位数数码
    sbit beep P2^6 蜂鸣器IO口
    uchar a_a
    uint temperature 温度
    sbit led P2^7


    bit flag_300ms
    uchar key_can 键值
    uchar menu_1 菜单设计
    uint t_high 300t_low 100
    bit flag_lj_en 键连加
    bit flag_lj_3_en
    uchar key_timeflag_value 中间变量
    bit key_500ms
    uchar flag_clock
    uchar zd_break_enzd_break_value 退出界面

    1ms延时函数
    void delay_1ms(uint q)
    {
    uint ij
    for(i0i for(j0j<120j++)
    }

    void delay_uint(uint q)
    {
    while(q)
    }

    数码显示函数
    void display()
    {
    uchar i
    for(i0i {
    P1 0xff 消隐
    P3 smg_we[i] 位选
    P1 dis_smg[i] 段选
    delay_1ms(1)
    P3 0xff 位选

    }
    }

    保存数单片机
    void write_eepom()
    {
    SectorErase(0x2000)
    byte_write(0x2000 t_high 256)
    byte_write(0x2001 t_high 256)
    byte_write(0x2002 t_low 256)
    byte_write(0x2003 t_low 256)
    byte_write(0x2055 a_a)
    }

    单片机读取数
    void read_eepom()
    {
    t_high byte_read(0x2001)
    t_high << 8
    t_high | byte_read(0x2000)
    t_low byte_read(0x2003)
    t_low << 8
    t_low | byte_read(0x2002)
    a_a byte_read(0x2055)
    }

    初始化程序(定时器)
    void time_init()
    {
    EA 1 开总中断
    TMOD 0X01 定时器0定时器1工作方式1
    ET0 1 开定时器0中断
    TR0 1 允许定时器0定时
    }

    键函数
    void key()
    {
    static uchar key_new 0key_old 0key_value 0
    if(key_new 0)
    {
    if((P3 & 0x0f) 0x0f)
    key_value ++
    else
    key_value 0
    if(key_value > 10)
    {
    write_eepom()
    key_value 0
    key_time 0
    key_new 1
    flag_lj_en 0
    flag_lj_3_en 0
    flag_value 0 清零
    }
    }
    else
    {
    if((P3 & 0x0f) 0x0f)
    key_value ++ 键
    else
    key_value 0
    if(key_value > 7)
    {
    key_value 0
    key_new 0
    flag_lj_en 1 连加
    zd_break_en 1
    zd_break_value 0
    }
    }
    key_can 20
    if(key_500ms 1)
    {
    key_500ms 0
    zd_break_en 1
    zd_break_value 0
    key_new 0
    key_old 1
    }
    if((key_new 0) && (key_old 1))
    {
    switch(P3 & 0x0f)
    {
    case 0x0e key_can 4 break k1键值
    case 0x0d key_can 3 break k2键值
    case 0x0b key_can 2 break k3键值
    case 0x07 key_can 1 break k4键值
    }
    dis_smg[0] smg_du[key_can]
    }
    key_old key_new
    }

    键处理数码显示函数
    void key_with()
    {
    if(key_can 4)
    {
    menu_1 ++
    if(menu_1 > 3)
    {
    menu_1 0
    }
    if(menu_1 0)
    {
    dis_smg[0] smg_du[temperature 10] 温度数显示
    dis_smg[1] smg_du[temperature 10 10] & 0x7f 温度位显示
    dis_smg[2] smg_du[temperature 100 10] 温度十位显示
    smg_i 3
    }
    if(menu_1 1)
    {
    dis_smg[0] smg_du[t_high 10] 数显示
    dis_smg[1] smg_du[t_high 10 10] & 0x7f 位显示
    dis_smg[2] smg_du[t_high 100 10] 十位显示
    dis_smg[3] 0x89
    smg_i 4
    }
    if(menu_1 2)
    {
    dis_smg[0] smg_du[t_low 10] 数显示
    dis_smg[1] smg_du[t_low 10 10] & 0x7f 位显示
    dis_smg[2] smg_du[t_low 100 10] 十位显示
    dis_smg[3] 0xc7
    smg_i 4
    }
    }
    if(menu_1 1) 设置高温报警
    {
    if(key_can 3)
    {
    if(flag_lj_3_en 0)
    t_high ++ 键未松开动加三次
    else
    t_high + 10 键未松开动加三次次动加10
    if(t_high > 990)
    t_high 990
    dis_smg[0] smg_du[t_high 10] 数显示
    dis_smg[1] smg_du[t_high 10 10] & 0x7f 位显示
    dis_smg[2] smg_du[t_high 100 10] 十位显示
    dis_smg[3] 0x89 H
    }
    if(key_can 2)
    {
    if(flag_lj_3_en 0)
    t_high 键未松开动加三次
    else
    t_high 10 键未松开动减三次次动减10
    if(t_high < t_low)
    t_high t_low + 1
    dis_smg[0] smg_du[t_high 10] 数显示
    dis_smg[1] smg_du[t_high 10 10] & 0x7f 位显示
    dis_smg[2] smg_du[t_high 100 10] 十位显示
    dis_smg[3] 0x89 H
    }
    write_eepom()
    }
    if(menu_1 2) 低温报警
    {
    if(key_can 3)
    {
    if(flag_lj_3_en 0)
    t_low ++
    else
    t_low + 10
    if(t_low > t_high)
    t_low t_high 1
    dis_smg[0] smg_du[t_low 10] 取数显示
    dis_smg[1] smg_du[t_low 10 10] & 0x7f 取位显示
    dis_smg[2] smg_du[t_low 100 10] 取十位显示
    dis_smg[3] 0xc7 L
    }
    if(key_can 2)
    {
    if(flag_lj_3_en 0)
    t_low
    else
    t_low 10
    if(t_low < 10)
    t_low 10
    dis_smg[0] smg_du[t_low 10] 取数显示
    dis_smg[1] smg_du[t_low 10 10] & 0x7f 取位显示
    dis_smg[2] smg_du[t_low 100 10] 取十位显示
    dis_smg[3] 0xc7 L
    }
    write_eepom()
    }
    }

    报警函数
    void clock_h_l()
    {
    if((temperature < t_low) || (temperature > t_high))
    {
    flag_clock 1
    }
    else
    {
    flag_clock 0
    beep 1
    }
    }

    void main()
    {
    time_init() 初始化定时器
    read_eepom()
    if(a_a 0xff)
    {
    t_high 300
    t_low 100
    a_a 1
    write_eepom()
    }
    delay_1ms(650)
    dis_smg[0] smg_du[temperature 10] 温度数显示
    dis_smg[1] smg_du[temperature 10 10] & 0x7f 温度位显示
    dis_smg[2] smg_du[temperature 100 10] 温度十位显示
    CE0
    SCK0
    CSN1
    RX_Mode() led 0
    while(1)
    {
    key() 键程序
    if(key_can < 10)
    {
    key_with() 报警温度
    }
    display() 显示函数
    if(flag_300ms 1) 300ms 处理次温度程序
    {
    led 1
    if(nRF24L01_RxPacket(Rx_Buf))
    {
    led 0
    temperature 256 * Rx_Buf[1] + Rx_Buf[0] 温度值
    clock_h_l() 报警函数
    }
    if(flag_clock 1)
    beep ~beep

    flag_300ms 0
    if(menu_1 0)
    {
    smg_i 3
    dis_smg[0] smg_du[temperature 10] 温度数显示
    dis_smg[1] smg_du[temperature 10 10] & 0x7f 温度位显示
    dis_smg[2] smg_du[temperature 100 10] 温度十位显示
    }
    }
    }
    }

    中断服务程序(定时器)
    void time0_int() interrupt 1
    {
    static uchar value
    TH0 0x3c
    TL0 0xb0 50ms
    value ++
    if(value 6 0)
    {
    flag_300ms 1 300ms
    value 0
    }
    if(flag_lj_en 1) 键
    {
    key_time ++
    if(key_time > 10) 500ms
    {
    key_time 0
    key_500ms 1 500ms
    flag_value ++
    if(flag_value > 3)
    {
    flag_value 10
    flag_lj_3_en 1 3次15秒连加
    }

    }
    }
    }
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 60 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    Axelwave列车无线监控与数据传输系统-无线接入解决方案

    Axelwave列车无线监控与数据传输系统-无线接入解决方案  铁路是我国最主要也是最重要的交通手段,中国的铁路列车每年约发送旅客16亿人次。铁路旅客数量多、流动性大、人员情况复杂,如何能够以...

    9年前   
    638    0

    基于WIFI模块和单片机的无线数据传输附代码

    计算机科学与技术学院Project3课程设计2014-2015学年第二学期 班 级: 浦电子 组员姓名: 组员学号: ...

    1年前   
    281    0

    基于AT89S51单片机无线传输系统设计毕业设计

    毕业论文(设计) 题 目: 单片机无线传输系统设计 完 成 人: ...

    4年前   
    874    0

    无线传感器系统设计文献综述

    无线传感器系统设计文献综述 一 引言 现代信息技术的三大基础是传感器技术、通信技术、计算机技术,它们分别完成对信息的采集、传输和处理。传感器网络将三种技术结合在一起,从而实现信息的采集、传...

    12年前   
    12219    0

    毕业设计:基于无线技术的畜牧管理系统

    随着居民膳食结构的不断优化,改革开放以来中国畜牧业总产出呈不断增长的趋势,根据国家统计局统计数据,1978年-2000年畜牧业总产值年均增长17.59%,2000年-2017年畜牧业总产值年均增...

    4年前   
    1347    0

    基于无线传输网络的环境监测系统的设计

    第1章 绪论1.1 课题的意义随着我国经济的迅速发展,环境保护也日益受到国家和广大群众的关注,全国环保机构也在环境保护方面加大力度。近年来国民经济突飞猛进,工业企业不断增多,由此带来的问题就是...

    3周前   
    54    0

    数据传输的联系

    数据传输的联系在计算机网络中,每台终端和计算机系统都被指定一个地址。包含数据的信息都用一串二进制位(称为比特流)来编码。信息从网络中的一个地址发送到一个或多个地址(见图20.8.10)。信息有...

    10年前   
    599    0

    校园无线网的设计方案

    校园无线网设计方案一、 需求分析:随着计算机网络通讯的飞速发展和应用的不断普及,充分利用各种信息正成为世界性的行为,尽快尽早地建设校园网,好处将是显著和长远的。然而,设计好、管好、用好校园网才...

    3年前   
    614    0

    基于Xilinx的片上系统的无线保密通信终端

    基于Xilinx的片上系统的无线保密通信终端 encryption/ decryption terminal based on FPGA SOC 摘要:本系统设计了一种基于Xilinx S...

    15年前   
    17526    0

    基于Zigbee无线网络技术的水环境监测系统设计1

    基于Zigbee无线网络技术的水质环境监测系统设计云南民族大学 陈 楠 为了更好地对各种水环境进行监测,在Zigbee协议的基础上,以TI的CC2430/CC2431无线芯片为核心...

    3周前   
    71    0

    无线通信技术课程设计

    了解GRC的信号处理模块、流程图及其使用方法

    5年前   
    1248    0

    无线设计员年终个人工作总结

    无线设计员年终个人工作总结 注:1.此表由员工年底时填写,提交行政部存档;2.由部门主管予以评价和建议;3.总经理审阅。   姓名:         部门:无线设计部         ...

    12年前   
    12295    0

    教学楼供配电系统设计发配电系统设计课程设计

    发配电系统设计课程设计设计内容:1号教学楼供配电系统设计 姓 名: 院 系: 物理与机电工...

    1年前   
    351    0

    XX加工厂供配电系统设计供配电系统设计报告课程设计

    xx大学 供配电系统设计报告 课 题 某加工厂供配电系统设计 专业班级 自动化**** ...

    4年前   
    1130    0

    系泊系统的设计

    本文对系泊系统的设计问题进行了分析,给出合理的假设,建立优化模型,巧妙地解决了题目中所提出的问题。针对问题一,首先采用集中质量的多边形近似法对单点系泊系统进行静力学分析,结合单点浮标系统特性,建...

    4年前   
    1323    0

    毕业设计管理系统的设计与实现

    毕业设计管理系统的设计与实现 摘 要 随着Internet的飞速发展及互联网的普及,计算机已广泛用于政府、军事、科研、商业等部门,连接到千家万户,利用计算机实现毕业设计管...

    5年前   
    2633    0

    数字系统设计-秒表设计

     深 圳 大 学 实 验 报 告 课程名称: 数字系统设计 实...

    5年前   
    1233    0

    2018年无线通信系统的安全技术范文

    无线通信系统的安全技术范文  随着无线通信系统的自动化设备越来越先进,设备电路的精密集成度日益提高。 详细内容请看下文无线通信系统的安全技术。  当今社会,人们对于移动通讯系统的依赖不断提高,...

    6年前   
    370    0

    联欣RFID无线作业管理系统解决方案-RFID解决方案

    联欣RFID无线作业管理系统解决方案-RFID解决方案  RFID概述:RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据。短距离射频识别无须人工干预,...

    9年前   
    522    0

    Bitwave智能化平安城市无线视频监控系统-解决方案

    Bitwave智能化平安城市无线视频监控系统-解决方案    随着经济的发展、城镇建设速度加快,导致城市中人口密集、流动人口增加,引发了城市建设中的交通、社会治安、重点区域防范等城市管理问题。...

    10年前   
    565    0

    文档贡献者

    平***苏

    贡献于2021-08-24

    下载需要 60 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档