13单片机控制的调频收音机设计_第1页
13单片机控制的调频收音机设计_第2页
13单片机控制的调频收音机设计_第3页
13单片机控制的调频收音机设计_第4页
13单片机控制的调频收音机设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中北大学中北大学 课课 程程 设设 计计 说说 明明 书书 学生姓名 汪健 学 号 1205014142 学 院 信息与通信工程学院 专 业 电子信息科学与技术 题 目 单片机控制的调频收音机设计 指导教师 指导教师 程耀瑜程耀瑜 职称职称 教授教授 指导教师 指导教师 李永红李永红 职称职称 讲师讲师 2016 年 1 月 4 日 中北大学 课程设计任务书 2015 2016 学年 第 一 学期 学 院 信息与通信工程学院 专 业 电子信息科学与技术 学 生 姓 名 汪健 学 号 1205014142 课程设计题目 单片机控制的调频收音机设计 起 迄 日 期 2016 年 1 月 4 日 1 月 22 日 课程设计地点 主楼 1318 室 院楼 513 教研室 指 导 教 师 程耀瑜 李永红 下达任务书日期 2016 年 1 月 4 日 课课 程程 设设 计计 任任 务务 书书 1 设计目的 在学习专业基础课和专业课的基础上 主要在电子仪器 微机综合设计与实践 单 片机与 A D 和 D A 和光 计 电综合应用等几个方面开展实践活动 巩固所学知识 培 养动手能力 2 设计内容和要求 包括原始数据 技术参数 条件 设计要求等 设计要求 1 接收 FM 信号频率范围 88 108MHz 2 调制信号频率范围 100 15kHz 最大频偏 75kHz 3 最大不失真输出功率 100mV 负载阻抗 8 欧 4 接收机灵敏度 1mV 5 镜像抑制性能优于 20dB 6 能够正常收听 FM 广播 3 设计工作任务及工作量的要求 包括课程设计计算说明书 论文 图纸 实物样品等 设计说明书符合要求 相应器件的工作原理 系统工作原理图 参考文献原文不少于 3 篇 课课 程程 设设 计计 任任 务务 书书 4 主要参考文献 1 郭天祥 新概念 51 单片机 C 语言教程 入门 提高 开发 拓展全攻略 北京 电子 工业出版社 2009 01 2 张有德等 单片微型机原理 应用与实验 上海 复旦大学出版社 2006 3 康华光 电子技术基础 模拟部分 第五版 高等教育出版社 2006 4 康华光 电子技术基础 数字部分 第五版 高等教育出版社 2007 5 PhilipsSemiconductors TEA5767HN Datasheet 2002 5 设计成果形式及要求 设计说明书及相关电路图 6 工作计划及进度 2016 年 1 月 4 日 2016 年 1 月 10 日 查资料 2016 年 1 月 11 日 2016 年 1 月 18 日 在指导教师指导下设计方案 2016 年 1 月 19 日 1 月 21 日 完成实验或仿真 完成课程设计说明书 2016 年 1 月 22 日 答辩 学科部主任审查意见 签字 年 月 日 目录目录 一 引言一 引言 1 1 二 方案设计与论证二 方案设计与论证 1 1 1 1 各板块设 各板块设 计计 1 1 2 2 设计所需各器件 芯片简介 设计所需各器件 芯片简介 2 2 3 3 硬件电路设计硬件电路设计 10 10 4 4 软件设计 软件设计 14 14 5 5 程序设计 程序设计 16 16 6 6 试仪表与数据试仪表与数据 33 33 三 设计心三 设计心 得得 34 34 四 参考文四 参考文 献献 35 35 单片机控制的调频收音机设计单片机控制的调频收音机设计 一 引言一 引言 虽然电视 手机 互联网等媒体和各种便携式娱乐设备已经普及到千家万 户 但传统的收音机在丰富的娱乐媒介中任然占有重要地位 随着信息化的发 展 收音机逐渐数字化 集成化 而且成本越来越低 这使得在各种设备中嵌 入收音机的现象更加普遍 TEA5767 系列单片数字收音机就被广泛地应用在数 字音响 便携式 CD VCD DVD MP3 MP4 手机 PDA 等数字消费电子系统中 但是该数字收音机芯片与传统的超外差式收音机的调谐原理不太相同 传统的 超外差式收音机的固定频率为 10 7MZ 而 TEA5767 系列数字收音机的固定中频 为 225KHz 由于固定中频不同 锁相环系统的软件控制就有很大的差别 这就 给广大芯片应用设计者带来一定的难度 本设计采用宏晶科技生产的 8 位微控 制器 STC89 C52 来控制数字收音机模块 TEA5767 构成一个 FM 数字收音机系统 该收音机 的设计具有电路简单易懂 体积小 易调谐的特点 同时该收音机系统还具有 抗干扰能力强 频带宽 音质好的优点 关键词 单片机 调频 c 语言程序 二 方案设计与论证二 方案设计与论证 本设计是一个数字调频收音机 调频就是频率调制 所谓频率调制就是原 来等幅恒频的高频信号的频率 随着调制信号 音频信号 的幅度变化而变化 调频收音机 FM Radio 就是接收这些频率调制的无线电信号 经过解调还原 成原信号的电子设备 FM Radio 电路一般主要由接收天线 振荡器 混频器 AGC 自动增益控制 中频放大器 中频限幅器 中频滤波器 鉴频器 低频 静噪电路 搜索调谐电路 信号检测电路及频率锁定环路 音频输出电路等组 成 本设计就是用单片机控制集成了上述所有 FM 功能的专用芯片 设计一个数 字 FM 收音机系统 1 1各板块设计各板块设计 本设计采用模块化设计 整个系统由控制模块 FM 音频模块 电源模块和 功放模块组成 系统的整体方案框图如下图 1 图 1 系统方案设计框图 1 控制模块 控制模块是本设计的核心 通过外围电路和向 TEA5767 芯片写入相关程序 控制部分要实现能够改变收音机的接收频率 工作模式 音量等各项参数的功 能 因此必须需要一个微控制器才能达到要求 本设计采用 STC89C52 单片机作 为系统的控制核心 2 无线 FM 模块 采用相关厂家生产的 TEA5767 模块来实现 3 电源模块 单片机的供电电压要求是 3 8V 5 5V TEA5767 的供电电压要求是 2 5V 5 0V 由于收音机模块的应用范围很广 比如手机中就采用 3 7V 锂电池 供电 DVD 电视等系统中则是对 220V 市电进行变压后供电 本设计中采用 7805 稳压芯片对系统进行供电 由于这个电源可以很容易得到 设计中不再单 独给出 4 功放模块 TEA5767 音频输出具有立体声方式 也可以采用单声道输出 具体方式可 以通过编程设定 为简化设计 本设计采用单声道输出 功放芯片使用 TDA2030 供电采用 5V 供电 设计中不给出电源设计 2 2 设计所需各器件 芯片简介设计所需各器件 芯片简介 1 1 单片机简介 单片机简介 本设计采用宏晶科技生产的 STC89C52 芯片 芯片采用 40 脚双列直插式封 装 32 个 I O 口 芯片工作电压 3 8 5 5V 工作温度 0 70 C 商业级 工 作频率可高达 30MHz 芯片的外形和引脚见下图 2 图 2 STC89C52 外形和引脚图 STC89C52 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可 编程 Flash 存储器 使用高密度非易失性存储器技术制造 与工业 80C51 产品 指令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程 亦适于常规 编程器 在单芯片上 拥有灵巧的 8 位 CPU 和在线系统可编程 Flash 使得 STC89C52 为众多嵌入式控制应用系统提供高灵活 超有效的解决方案 STC89C52 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看门狗定时器 2 个数据指针 三个 16 位 定时器 计数器 一个 6 向量 2 级 中断结构 全双工串行口 片内晶振及时钟电路 另外 STC89C52 可降至 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内容 被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复位为 止 2 2 FMFM 芯片简介芯片简介 2 1 TEA5767 芯片简介 FM 模块的控核心芯片采用飞利浦公司的 TEA5767 数字立体声 FM 芯片 该 芯片把所有的 FM 功能都集成到一个不足 6 6 平方米的用 HVQFN40 封装的小方块 中 芯片工作电压 2 5V 5 0V 典型值是 3V RF 接收频率范围是 76 108MHz 最强信号 噪声 噪声的值在 60dB 左右 失真度在 0 4 左右 双 声道音频输出的电压在 60 90mV 左右 带宽为 22 5KHz 芯片的引脚分布及其 引脚定义分别见图 3 和表 1 图 4 是芯片的应用结构框图 图 3 TEA5767 芯片引脚分布 管脚定义管脚定义 1 空脚 21 空脚 2 锁相环输出 22 左声道输出 3 本振 23 右声道输出 4 本振 24 软静音时间常数 5 本振电源 25 检波输出 6 数字地 26 基准 7 数字电源 27 中频中心频率调整时间 常数 8 数据线 28 中频限幅器退藕 1 9 时钟线 29 中频限幅退藕 2 10 空脚 30 空脚 11 三线读写控制 31 空脚 12 总线模式选择 32 增益控制 13 总线使能端 33 模拟地 14 软口 1 34 模拟电源 15 软口 2 35 射频输入 1 16 晶振 36 高频地 17 晶振 37 射频输入 2 18 相位滤波 38 高放 AGC 时间常数 19 导频低通滤波 39 锁相环开关输出 20 空脚 40 空脚 表 1 TEA5767 管脚定义 图 4 TEA5767 应用结构框图 参见内部结构框图 TEA5767 主要具有以下特征 1 集成高灵敏度的低噪声放大器 2 FM 到中频的混频器可以工作在 87 5 108MHz 的欧美频段或 76 91MHz 的日 本频段 并且可预设接收日本 108MHz 的电视音频信号的能力 3 射频具有自动增益控制功能 并且 LC 调谐振荡器只需固定片装电感 4 内置的 FM 解调器可以省去外部鉴频器 并且 FM 的中频选择性可以在芯片 内部完成 5 可以采用 32 768KHz 或 13MHz 的振荡器产生参考时钟或可以直接输入 6 5MHz 的时钟信号 6 集成锁相环调谐系统 7 可以通过 I2C 或三线串行总线来获取中频计数器值或接收的高频信号电平 以便进行自动调谐功能 本设计采用第一种方式 详细的 I2C 通信介绍请见第 5 节 8 SNC 立体声噪音抑制 HCC 高频衰减控制 静音处理等可以通过串行 数字接口进行控制 9 免费调谐立体声解码器 10 自动调节温度范围 在 VCCA VCC VCO 和 VCCD 5V 2 2 TEA5767 寄存器描述 单片机和 TEA5767 进行通信有两种方式 一种是 I2C 模式 一种是三线模 式 本设计采用 I2C 模式 I2C 通信协议操作参见第 5 章 TEA5767 的寄存器一 共有五位 数据通信的读写顺序为 地址 数据字节 1 数据字节 2 数 据字节 3 数据字节 4 数据字节 5 下面就对芯片的寄存器进行详细说明 芯片寄存器地址的格式如下 R W 0 为读模式 R W 1 为写模式 2 32 3 FMFM 模块介绍模块介绍 在方案设计时就已经确定 FM 部分采用按照 datasheet 推荐的应用设计电路 图生产的模块 本设计 FM 模块采用金秋实生产的 B20C 封装的完整版收音机模 块 外接引脚只有 10 个 开发者只需要关注引脚而不需要关注模块的内部结构 开发方便简单 下图 5 是模块的引脚封装和引脚功能简介 引出引脚的功能 和芯片引脚的定义完全相同 图 5 TEA5767 模块引脚图 引脚号符号简介 1ANT 天线接口 2MPX FM 解调器 MPX 信号输出 置空 3R 右声道输出 4L 左声道输出 5GND 地 6VCC 电源正极 7WR 读 写模式 仅三线控制有效 8MODE 总线模式选择 1 为三线模式 0 为 I2C 模式 9CLK 总线时钟线输入 10DATA 总线数据线输入 输出 表 23 TEA5767 引脚定义表 3 3 I2CI2C 总线简介总线简介 I2C 总线是 PHLIPS 公司推出的一种串行总线 是具备多主机系统所需的 包括总线裁决和高低速器件同步功能的高性能串行总线 它只有两根双向信号 线 一根是数据线 SDA 另一根是时钟线 SCL 典型的 I2C 结构如图 6 所示 图 6 典型的 I2C 总线结构 I2C 总线需通过上拉电阻接正电源 当总线空闲时 两根线均为高电平 连到 总线上的任一器件输出的低电平 都将使总线的信号变低 即各器件的 SDA 及 SCL 都是线 与 关系 每个接到 I2C 总线上的器件都有唯一的地址 主机与 其它器件间的数据传送可以是由主机发送数据到其它器件 这时主机即为发送 器 由总线上接收数据的器件则为接收器 在多主机系统中 可能同时有几个 主机企图启动总线传送数据 为了避免混乱 I2C 总线要通过总线仲裁 以决 定由哪一台主机控制总线 I2C 总线的数据字节必需保证是 8 位长度 数据传送时 先传送最高位 MSB 每一个被传送的字节后面都必须跟随一位应答位 即一帧共有 9 位 图 7 是 I2C 总线字节传送与应答时序 图 7 I2C 总线字节传送与应答时序 由于某种原因从机不对主机寻址信号应答时 如从机正在进行实时性的处 理工作而无法接收总线上的数据 它必须将数据线置于高电平 而由主机产生 一个终止信号以结束总线的数据传送 如果从机对主机进行了应答 但在数据 传送一段时间后无法继续接收更多的数据时 从机可以通过对无法接收的第一 个数据字节的 非应答 通知主机 主机则应发出终止信号以结束数据的继续 传送 当主机接收数据时 它收到最后一个数据字节后 必须向从机发出一个 结束传送的信号 这个信号是由对从机的 非应答 来实现的 然后 从机释 放 SDA 线 以允许主机产生终止信号 I2C 总线上传送的数据信号是广义的 既包括地址信号 又包括真正的数 据信号 在起始信号后必须传送一个从机的地址 7 位 第 8 位是数据的传送 方向位 R T 用 0 表示主机发送数据 T 1 表示主机接收数据 R 每次数据传送总是由主机产生的终止信号结束 但是 若主机希望继续占用总 线进行新的数据传送 则可以不产生终止信号 马上再次发出起始信号对另一 从机进行寻址 在总线的一次数据传送过程中 可以有以下三种组合方式 1 主机向从机发送数据 数据传送方向在整个传送过程中不变 A 表示应答 A 非表示非应答 高电平 S 表示起始信号 P 表示终止信 号 下同 2 主机在第一个字节后 立即从从机读数据 3 在传送过程中 当需要改变传送方向时 起始信号和从机地址都被重复产 生一次 但两次读 写方向位正好反相 I2C 总线的寻址在协议有明确的规定 采用 7 位的寻址字节 寻址字节是起始 信号后的第一个字节 寻址字节的位定义如下 其中 D7 D1 位组成从机的地址 D0 位是数据传送方向位 为 0 时表示主机 向从机写数据 为 1 时表示主机由从机读数据 主机发送地址时 总线上的 每个从机都将这 7 位地址码与自己的地址进行比较 如果相同 则认为自己正 被主机寻址 根据 R T 位将自己确定为发送器或接收器 从机的地址由固定部 分和可编程部分组成 在一个系统中可能希望接入多个相同的从机 从机地址 中可编程部分决定了可接入总线该类器件的最大数目 由于本设计采用的 STC89C52 单片机没有 I2C 总线接口 所以要通过模拟 来实现 利用软件实现 I2C 总线的数据传送 即软件与硬件结合的信号模拟 为了保证数据传送的可靠性 标准的 I2C 总线数据传送有严格的时序要求 I2C 总线的起始信号 终止信号 发送 0 及发送 1 的模拟时序如下图 8 所 示 1 图 8 I2C 总线数据传送模拟时序 3 3 硬件电路设计硬件电路设计 按照设计方案 系统硬件电路由电源部分 微控制器部分和 FM 模块部分组 成 下面的介绍将分块对电路进行设计 其中电源部分由于 电路原理图 1 1 微控制器部分 微控制器部分 微控制器部分以 STC89C52 为核心 包括复位电路 晶振电路和按键控制电路 特别注意的是电源输入要加上去藕电容 电路原理图见下图 9 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RESET 9 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XALT0 18 XALT1 19 GND 20 P2 0 AD8 21 P2 1 AD9 22 P2 2 AD10 23 P2 3 AD11 24 P2 4 AD12 25 P2 5 AD13 26 P2 6 AD14 27 P2 7 AD15 28 PSEN 29 ALE 30 EA 31 P0 7 AD7 32 P0 6 AD6 33 P0 5 AD5 34 P0 4 AD4 35 P0 3 AD3 36 P0 2 AD2 37 P0 1 AD1 38 P0 0 AD0 39 VCC 40 U1STC89C52 12 Y1 XTAL 100uF C1 Cap 0 1uF C2 Cap VCC 4K7 R1 S1 SW PB 30pF C3 Cap 30pF C4 Cap 5V VCC GND 图 9 微控制器模块原理图 2 2 TEA5767TEA5767 模块部分原理图模块部分原理图 如图 10 所示 R2 R3 是 I2C 数据线和时钟线的上拉电阻 C5 是天线 的匹配电容 天线用 30cm 左右的铜导线代替 E1 是外接天线 C6 C7 和 R4 R5 构成音频输出网络 8 脚接地 选择为工作模式 模块 10 脚接单片机 P2 0 模块 9 脚接芯片 P2 1 TEA5767 振振 10K R3 10K R2 1 2 3 4 56 7 8 9 10 VCC VCC GND 68pF C5 Cap E1 ANTENNA SDA CLK GND 10uF C6 10uF C7 MODE W R V CC ANT MPX L R G ND 100R R4 100R R5 图 10 TEA5767 模块部分原理图 3 3 功放模块原理图 功放模块原理图 功放部分采用 TDA2030 单声道 A 类音频放大芯片 电路原理图如下所示 U2 TDA2030 1 23 4 5 1uF C8 22K R8 100uF C9 0 1uF C10 Cap GND 5 D1 1N4005 D2 1N4005 2200uF C11 22K R9 680R R10 2 2uF C12 2 2uF C13 0 1uF C13 1K R10 Res2 0 1uF C15 5 GND LS1 Speaker 图 11 功放电路原理图 4 4 电路总原理图 电路总原理图 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RESET 9 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XALT0 18 XALT1 19 GND 20 P2 0 AD8 21 P2 1 AD9 22 P2 2 AD10 23 P2 3 AD11 24 P2 4 AD12 25 P2 5 AD13 26 P2 6 AD14 27 P2 7 AD15 28 PSEN 29 ALE 30 EA 31 P0 7 AD7 32 P0 6 AD6 33 P0 5 AD5 34 P0 4 AD4 35 P0 3 AD3 36 P0 2 AD2 37 P0 1 AD1 38 P0 0 AD0 39 VCC 40 U1STC89C52 12 Y1 XTAL 100uF C1 Cap 0 1uF C2 Cap VCC 4K7 R1 S1 SW PB 30pF C3 Cap 30pF C4 Cap 5V VCC 5V TEA5767 振振 10K R3 10K R2 1 2 3 4 56 7 8 9 10 VCC VCC GND GND 68pF C5 Cap E1 ANTENNA SDA CLK GND 10uF C6 10uF C7 MODE W R V CC ANT MPX L R G ND 100R R4 100R R5 U2 TDA2030 1 23 4 5 1uF C8 22K R8 100uF C9 0 1uF C10 Cap GND 5 D1 1N4005 D2 1N4005 2200uF C11 22K R9 680R R10 2 2uF C12 2 2uF C13 0 1uF C13 1K R10 Res2 0 1uF C15 5 GND LS1 Speaker 图 12 电路总原理图 4 4 软件设计软件设计 软件采用可移植性强的 C 语言程序来设计 主要由两大部分组成 一个是 模拟 I2C 总线程序 一个是对芯片寄存器进行操作的主程序 对芯片寄存器进行操作的关键是设置接收频率 接收频率设置参数可以通过以 下式子得到 4 RFIRREFS PLLFFF FRF 接收频率 kHz FIR 中频 TEA5767 为 225kHz FREFS 参考频率 由 TEA5767 外接晶振而定 本设计外接 32 768kHZ 的晶振 4 14 1 软件设计思想软件设计思想 软件设计的核心是单片机与 TEA5767 进行通信 写入相关参数控制无线模 块运行 本设计只实现基本功能 即实现 TEA5767 的频率选择 不实现音量控 制 电台储存和频率显示 为了便于设计观察 在程序设计时编写了串口通信 协议 频率可以通过串口调试软件显示出来 但是在设计硬件的时候没有加入 串口 所以这个程序只是供设计参考 根据设计要求 系统实现电台搜索和串口读出 软件设计的流程图如下 图 13 软件设计流程图 5 5 程序设计 程序设计 根据软件流程图 写出相应的程序如下 1 1 主程序 主程序 include include include include include uart h 添加串口头文件 include I2C h 添加 I2C 头文件 sbit s1 P3 4 手动减小键 P3 4 口 sbit s2 P3 5 手动增加键 P3 5 口 sbit s3 P3 6 自动减小键 P3 6 口 sbit s4 P3 7 自动增加键 P3 7 口 define max freq 108000 最大接收频率 108MHz 这里的单位采用的是 KHz define min freq 87500 最小接收频率 87 5MHz unsigned int max pll 0 x339b 108MHz 时的 pll 芯片内部寄存器有 14 位用 于设置频率 unsigned int min pll 0 x299d 87 5MHz 时的 pll unsigned char radio write data 5 0 x2a 0 xb6 0 x40 0 x11 0 x40 要写入 TEA5767 的数据 数据字节 1 是 0 x2a 左右声道正常工作 不采用搜 索模式 第一字节后六位和第二字节为 pll 频率设定 初始频率设定为 89 8MHz 第三 字节 0 x40 设 定搜索停止标准 ADC 输出大小为 7 时停止搜索 第四字节 0 x11 晶振设定为 32 786MHz SWPORT1 输出准备好信号 第五字节 6 5MHz 锁 相环参考频率关闭 unsigned char radio read data 5 TEA5767 读出的状态 unsigned long frequency unsigned int pll void delay ms unsigned int i us 延时函数 unsigned int j k for j i j 0 j for k 125 k 0 k 延时片刻后通过 i2c 写入数据 void radio write void unsigned char i iic start iic write8bit 0 xc0 TEA5767 写地址 if iic testack for i 0 i 5 i iic write8bit radio write data i iic ack 每发送一个字节都要进行总线应答测试 iic stop 由频率计算 PLL void get pll void unsigned char hlsi unsigned int twpll 0 hlsi radio write data 2 if hlsi pll unsigned int float frequency 225 4 float 32 768 频率单位 khz else pll unsigned int float frequency 225 4 float 32 768 频率单位 khz 由 PLL 计算频率 void get frequency void unsigned char hlsi unsigned int npll 0 npll pll hlsi radio write data 2 if hlsi frequency unsigned long float npll float 8 192 225 频率单 位 KHz else frequency unsigned long float npll float 8 192 225 频率单 位 KHz 读 TEA5767 状态 并转换成频率 void radio read void unsigned char i unsigned char temp l temp h pll 0 iic start iic write8bit 0 xc1 TEA5767 读地址 if iic testack for i 0 imax freq frequency min freq 如果超过最高频率 那么就回到最低频率重 新搜索 else frequency 10 if frequencymax freq frequency min freq else radio write data 2 0 x41 frequency 20 if frequency min freq frequency max freq get pll radio write data 0 pll 256 0 x40 加 0 x40 是将 SM 置为 1 为自动 搜索模式 radio write data 1 pll 256 radio write data 3 0 x11 SSL1 和 SSL0 控制搜索停止条件 radio write data 4 0 x40 radio write radio read while radio read data 0 void main P3 0 xff UART Init radio write while 1 if s1 0 delay ms 1 按键去抖动 if s1 0 while s1 0 search 0 send fre frequency if s2 0 delay ms 1 if s2 0 while s2 0 search 1 send fre frequency if s3 0 delay ms 1 if s3 0 auto search 0 send fre frequency if s4 0 delay ms 1 if s4 0 auto search 1 send fre frequency 2 2 模拟 模拟 I2CI2C 总线协议程序总线协议程序 sbit SDA P2 0 数据输出接口定义为 2 4 口 sbit SCL P2 1 时钟输出接口定义为 2 1 口 void Delayus unsigned int number while number void DelayMs unsigned int number unsigned char temp for number 0 number for temp 112 temp 0 temp void iic start SDA 1 Delayus 4 SCL 1 Delayus 4 SDA 0 Delayus 4 SCL 0 Delayus 4 void iic stop SCL 0 Delayus 4 SDA 0 Delayus 4 SCL 1 Delayus 4 SDA 1 Delayus 4 void iic ack SDA 0 Delayus 4 SCL 1 Delayus 4 SCL 0 Delayus 4 SDA 1 Delayus 4 void iic NoAck SDA 1 Delayus 4 SCL 1 Delayus 4 SCL 0 Delayus 4 SDA 0 bit iic testack bit ErrorBit SDA 1 Delayus 4 SCL 1 Delayus 4 ErrorBit SDA Delayus 4 SCL 0 return ErrorBit void iic write8bit unsigned char input unsigned char temp for temp 8 temp 0 temp SDA bit input Delayus 4 SCL 1 Delayus 4 SCL 0 Delayus 4 input input 1 unsigned char iic read8bit unsigned char temp rbyte 0 for temp 8 temp 0 temp SCL 1 Delayus 4 rbyte rbyte 1 rbyte rbyte unsigned char SDA SCL 0 return rbyte 3 3 串口通信头文件程序 参考 串口通信头文件程序 参考 UART 相关函数 函数名 UART Init 功能 串口初始化 通讯有关参数初始化 将串口波特率设定为 9600bps void UART Init 通讯有关参数初始化 PCON TH1 0 xfd T1 use sio TL1 0 xfd 选择通讯速率 TMOD 0 x21 T1 MODE2 T0 MODE1 16bit use time PS 1 SIO int high 优先级 EA 1 ET1 0 SM0 0 SM1 1 SM0 0 SM1 1 mode1 10bit SM2 0 data int 无校验 TB8 bit duble 偶 TR1 1 REN 1 RI 0 TI 0 ES 1 函数名 send 功能 用户函数 发送一个字节的数据 vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论