单片机C语言程序设计实训100例:基于AVR+Proteus仿真

单片机C语言程序设计实训100例:基于AVR+Proteus仿真 pdf epub mobi txt 电子书 下载 2025

彭伟 著
图书标签:
  • 单片机
  • C语言
  • AVR
  • Proteus
  • 实训
  • 程序设计
  • 嵌入式
  • 电子技术
  • 仿真
  • 教程
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 北京航空航天大学出版社
ISBN:9787512400689
版次:1
商品编码:10003934
包装:平装
开本:16开
出版时间:2010-05-01
用纸:胶版纸
页数:567
字数:922000
正文语种:中文

具体描述

内容简介

  基于AVR Studio+WinAVR(GCC)组合环境和Proteus硬件仿真平台,精心安排了100个AVR单片机C程序设计案例。《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》提供了所有案例完整的C语言源程序,各案例设计了难易适中的实训目标。
  基础设计类案例涵盖AVR单片机最基本的端口编程、定时/计数器应用、中断程序设计、A/D转换、比较器程序设计、EEPROM、Flash、USART及看门狗程序设计;硬件应用类案例涉及单片机存储器扩展、接口扩展、译码、编码、驱动、光电、机电、传感器、I2C/TWI及SPI接口器件、MMC、红外等器件;综合设计类案例涉及消费类电子产品、仪器仪表及智能控制设备相关技术,相关案例涉及485及RTL8019的应用。
  《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》适合用作大专院校学生学习实践AVR单片机C语言程序设计技术的参考书,也可用作电子工程技术人员、单片机技术爱好者的学习参考书。

内页插图

目录

第1章 AVR单片机C语言程序设计概述1
1.1 AVR单片机简介1
1.2 AVRStudio+WinAVR开发环境安装及应用4
1.3 AVRGCC程序设计基础7
1.4 程序与数据内存访问14
1.5 I/O端口编程14
1.6 外设相关寄存器及应用16
1.7 中断服务程序31
1.8 GCC在AVR单片机应用系统开发中的优势33

第2章 Proteus操作基础35
2.1 Proteus操作界面简介35
2.2 仿真电路原理图设计37
2.3 元件选择39
2.4 仿真运行44
2.5 Proteus与AVRStudio的联合调试45
2.6 Proteus在AVR单片机应用系统开发中的优势46

第3章 基础程序设计48
3.1 闪烁的LED48
3.2 左右来回的流水灯50
3.3 花样流水灯52
3.4 LED模拟交通灯54
3.5 单只数码管循环显示0~957
3.6 8只数码管滚动显示单个数字59
3.7 8只数码管扫描显示多个不同字符61
3.8 K1~K4控制LED移位62
3.9 数码管显示4×4键盘矩阵按键65
3.10 数码管显示拨码开关编码68
3.11 继电器控制照明设备70
3.12 开关控制报警器72
3.13 按键发音74
3.14 INT0中断计数76
3.15 INT0与INT1中断计数79
3.16 TIMER0控制单只LED闪烁83
3.17 TIMER0控制流水灯85
3.18 TIMER0控制数码管扫描显示87
3.19 TIMER1控制交通指示灯90
3.20 TIMER1与TIMER2控制十字路口秒计时显示屏94
3.21 用工作于计数方式的T/C0实现100以内的脉冲或按键计数98
3.22 用定时器设计的门铃100
3.23 报警器与旋转灯103
3.24 100000s以内的计时程序106
3.25 用TIMER1输入捕获功能设计的频率计109
3.26 用工作于异步模式的T/C2控制的可调式数码管电子钟113
3.27 TIMER1定时器比较匹配中断控制音阶播放117
3.28 用TIMER1输出比较功能调节频率输出120
3.29 TIMER1控制的PWM脉宽调制器123
3.30 数码管显示两路A/D转换结果126
3.31 模拟比较器测试128
3.32 EEPROM读/写与数码管显示130
3.33 Flash程序空间中的数据访问136
3.34 单片机与PC机双向串口通信仿真141
3.35 看门狗应用147

第4章 硬件应用150
4.1 74HC138与74HC154译码器应用150
4.2 74HC595串入并出芯片应用153
4.3 用74LS148与74LS21扩展中断157
4.4 62256扩展内存实验160
4.5 用8255实现接口扩展163
4.6 可编程接口芯片8155应用168
4.7 可编程外围定时/计数器8253应用173
4.8 数码管BCD解码驱动器7447与4511应用178
4.9 8×8LED点阵屏显示数字181
4.10 8位数码管段位复用串行驱动芯片MAX6951应用183
4.11 串行共阴显示驱动器MAX7219与7221应用188
4.12 16段数码管演示193
4.13 16键解码芯片74C922应用196
4.14 1602LCD字符液晶测试程序199
4.15 1602液晶显示DS1302实时时钟205
4.16 1602液晶工作于4位模式实时显示当前时间211
4.17 2×20串行字符液晶演示214
4.18 LGM12864液晶显示程序217
4.19 PG160128A液晶图文演示226
4.20 TG126410液晶串行模式显示247
4.21 用带SPI接口的MCP23S17扩展16位通用I/O端口257
4.22 用TWI接口控制MAX6953驱动4片5×7点阵显示器262
4.23 用TWI接口控制MAX6955驱动16段数码管显示266
4.24 用DAC0832生成多种波形270
4.25 用带SPI接口的数/模转换芯片MAX515调节LED亮度273
4.26 正反转可控的直流电机276
4.27 正反转可控的步进电机279
4.28 DS18B20温度传感器测试282
4.29 SPI接口温度传感器TC72应用测试293
4.30 SHT75温、湿度传感器测试299
4.31 用SPI接口读/写AT25F1024309
4.32 用TWI接口读/写24C04318
4.33 MPX4250压力传感器测试326
4.34 MMC存储卡测试329
4.35 红外遥控发射与解码仿真340

第5章 综合设计348
5.1 多首电子音乐的选播348
5.2 电子琴仿真353
5.3 普通电话机拨号键盘应用357
5.4 1602LCD显示仿手机键盘按键字符363
5.5 数码管模拟显示乘法口诀369
5.6 用DS1302与数码管设计的可调电子钟372
5.7 用DS1302与LGM12864设计的可调式中文电子日历380
5.8 用PG12864LCD设计的指针式电子钟393
5.9 高仿真数码管电子钟401
5.10 1602LCD显示的秒表409
5.11 用DS18B20与MAX6951驱动数码管设计的温度报警器413
5.12 用1602LCD与DS18B20设计的温度报警器421
5.13 温控电机在L298驱动下改变速度与方向运行431
5.14 PG160128中文显示日期时间及带刻度显示当前温度439
5.15 液晶屏曲线显示两路A/D转换结果447
5.16 用74LS595与74LS154设计的16×16点阵屏452
5.17 用8255与74LS154设计的16×16点阵屏457
5.18 8×8LED点阵屏仿电梯数字滚动显示461
5.19 用内置EEPROM与1602液晶设计的带MD5加密的电子密码锁466
5.20 12864LCD显示24C08保存的开机画面480
5.21 12864LCD显示EPROM27C256保存的开机画面488
5.22 I2CAT24C1024×2硬字库应用491
5.23 SPI-AT25F2048硬件字库应用498
5.24 带液晶显示的红外遥控调速仿真505
5.25 能接收串口信息的带中英文硬字库的80×16点阵显示屏511
5.26 用AVR与1601LCD设计的计算器523
5.27 电子秤仿真设计531
5.28 模拟射击训练游戏537
5.29 PC机通过485远程控制单片机546
5.30 用IE访问AVR+RTL8019设计的以太网应用系统550
参考文献568

前言/序言

  目前,各高校电类专业都将C语言作为专业基础课程纳入教学计划。由于C语言功能强大、便于模块化开发、所带库函数非常丰富、编写的程序易于移植,因此,它成为单片机应用系统开发最快速高效的程序设计语言。仅具有C语言基础知识但不熟悉单片机指令系统的读者也能很快掌握单片机C程序设计技术,C语言在单片机应用系统设计上的效率优势已经远远高于汇编、BASIC等开发语言。
  单片机C程序设计不同于通用计算机应用程序设计,它必须针对具体的微控制器及外围电路来完成。为便于学习单片机应用程序设计和系统开发,很多公司推出了单片机实验箱、仿真器和开发板等,这些硬件设备可用于验证单片机程序、开发和调试单片机应用系统。但由于这些设备价格不菲,它们阻碍了普通读者对单片机技术的学习和研究。令人高兴的是,英国Labcenter公司推出了具有单片机系统仿真功能的Proteus软件,单片机系统开发通常是基于上位机加目标系统进行的,Proteus的出现使读者仅用一台PC在纯软件环境中完成系统设计与调试成为可能。目前Proteus支持8051、AVR、PIC等多种单片机,系统库中包含有大量的模拟、数字、光电和机电类元器件,系统还提供了多种虚拟仪器,用AVR Studio+WinAVR(GCC)开发的程序可以在用Proteus设计的仿真电路中调试和交互运行。这无疑为读者学习和提高AVR单片机C程序设计技术,为单片机应用系统高水平工程师的成长提供了理想平台。
  为帮助读者快速提高AVR单片机C程序设计水平,本书基于AVR Studio+WinAVR(GCC)组合开发环境和Labcenter公司的Proteus仿真平台,精心安排了100个AVR单片机C程序设计案例,各案例同时给出了难易适中的实训目标。
  前2章分别对AVRGCC程序设计和Proteus操作基础作了概述。第3章基础程序部分给出的案例涵盖AVR单片机端口编程、定时/计数器应用、A/D转换、模拟比较器程序设计、中断程序设计、EEPROM、Flash、USART及看门狗程序设计,各案例分别对相关知识和技术要点作了阐述与分析,源程序中也给出了丰富的注释信息。第4章硬件应用部分针对AVR单片机的存储器扩展、接口扩展、译码、编码、驱动、光电、机电、传感器、I2C/TWI及SPI接口器件、MMC、红外等器件给出了数十个案例,对案例中涉及的硬件技术资料亦进行了有针对性的分析,以便于读者快速理解相关代码的编写原理。第5章的案例综合应用了单片机内部资源和外部扩展硬件,通过对这些案例的独立分析研究与调试运行,读者用C语言开发AVR单片机应用系统的能力会得到大幅提升。
  本书是单片机C语言程序设计实训仿真系列8051版之后的第2册。为使本书能早日与读者见面,笔者坚持挤出时间不懈耕耘。在编写过程中,刘静、张力、王魏参与了案例的调试与校稿工作,在此对他们深表感谢!本书从选题、撰稿到出版的全过程中,学院领导、学院科研处及高教研究所对本选题始终给予大力支持,并提供项目资助,教务处和信息技术系也一直关注本书的编写与进展情况,在此一并对学院和部门领导的关心与支持表示由衷感谢!

嵌入式系统开发之路:从理论到实践的 AVR 单片机实战详解 在飞速发展的科技浪潮中,嵌入式系统已成为现代工业、智能家居、物联网等领域不可或缺的核心技术。而 AVR 系列单片机凭借其高性能、低功耗、易于开发等优势,在全球范围内得到了广泛应用,成为众多工程师和爱好者的首选平台。本书旨在带领读者深入探索 AVR 单片机的魅力,从基础理论到实际应用,提供一条清晰、高效的学习路径,助力您成为一名合格的嵌入式系统开发者。 本书特色与价值: 本书并非一本枯燥的理论堆砌,而是强调“学以致用”的学习理念。我们精心设计了 100 个精选的实训项目,涵盖了 AVR 单片机开发的方方面面,从最基本的 GPIO 控制,到复杂的通信协议、传感器数据采集、电机驱动,再到人机交互界面设计,每一个项目都经过精心挑选,力求在有限的篇幅内,展现 AVR 单片机的强大功能和应用潜力。 实训项目的编排逻辑: 本书的实训项目并非随意组合,而是遵循由浅入深、由简到繁的学习规律。 第一部分: AVR 单片机基础入门 首先,我们将从 AVR 单片机的基本概念、内部结构、指令集、寄存器模型等最核心的知识点讲起。 接着,通过一系列基础的硬件操作实验,例如 LED 闪烁、按键输入检测、蜂鸣器发声等,帮助读者熟悉 AVR 开发环境的搭建,如 Keil MDK、GCC for AVR 等,以及掌握基本的 C 语言编程技巧在单片机开发中的应用。 理解中断机制是 AVR 单片机高级应用的基础,本书将详细讲解外部中断、定时器中断、串口中断等,并通过实例演示如何高效利用中断来提升程序响应速度和系统性能。 定时器/计数器是 AVR 单片机的重要外设,本书将深入剖析其工作原理,并通过 PWM 产生、脉冲测量、延时等实际应用,让读者掌握其灵活运用。 第二部分: AVR 单片机常用外设与通信协议 GPIO 扩展与控制: 进一步拓展 GPIO 的应用,例如驱动多位 LED 数码管显示、控制继电器、步进电机等。 ADC 模数转换: 学习如何利用 AVR 的 ADC 模块采集模拟信号,并将其转换为数字信号进行处理,如温度传感器、光敏电阻、电位器等数据采集。 DAC 数模转换: 掌握如何利用 DAC 模块输出模拟信号,例如产生不同频率的音频信号。 串口通信 (UART): 深入讲解 UART 的工作原理,以及如何实现单片机与 PC 机、其他单片机之间的串行通信,为后续的无线通信和网络通信打下基础。 I2C 通信: 学习 I2C 协议,并实践与各种 I2C 设备(如 EEPROM、RTC 实时时钟、各种传感器)的通信,理解其主从模式、地址寻址等机制。 SPI 通信: 讲解 SPI 协议,并演示如何与 SPI 设备(如 SD 卡、LCD 控制器、ADC/DAC 芯片)进行高效的数据传输。 外部存储器接口: 介绍如何扩展外部 RAM 和 ROM,以满足更复杂的程序和数据存储需求。 第三部分: AVR 单片机进阶应用与系统集成 LCD 显示驱动: 讲解字符型 LCD 和图形点阵 LCD 的驱动原理,并通过实例实现汉字、图形的显示,为用户界面设计提供基础。 人机交互设计: 结合按键、编码器、触摸屏等输入设备,以及 LCD、OLED 等输出设备,设计友好的用户交互界面,提升产品的易用性。 电机控制: 深入讲解直流电机、步进电机、伺服电机的驱动原理和控制方法,包括速度控制、方向控制、位置控制等。 传感器网络与数据采集: 整合多种传感器,构建简单的数据采集系统,并实现数据的存储和初步分析。 无线通信模块集成: 介绍与常见的无线通信模块(如 NRF24L01、ESP8266、蓝牙模块)的接口和通信方式,为物联网应用奠定基础。 嵌入式操作系统 (RTOS) 简介与实践: 在部分项目结尾,我们将引入实时操作系统 (RTOS) 的概念,并尝试用 RTOS 来管理任务,实现更复杂的并发控制。 Proteus 仿真环境的运用: 本书的一大亮点在于 全程结合 Proteus 仿真软件。Proteus 是一款强大的电子设计自动化 (EDA) 软件,集电路原理图设计、PCB 布局布线以及虚拟仿真于一体。通过 Proteus,您可以在不实际购买硬件的情况下,进行 AVR 单片机的代码编写、编译、下载和仿真测试。 虚拟硬件平台: Proteus 提供了丰富的 AVR 单片机型号、外围器件(LED、按键、数码管、传感器、电机等)的模型库,您可以像搭建真实电路一样,在 Proteus 中搭建虚拟的 AVR 开发平台。 代码仿真与调试: 您可以将编写好的 C 语言程序编译成 HEX 文件,然后在 Proteus 中载入到 AVR 单片机模型中,进行实时仿真。Proteus 允许您单步执行代码,观察寄存器变化,查看输入输出波形,方便您查找和修复程序中的错误。 快速原型验证: 仿真环境极大地缩短了产品开发周期。在投入实际硬件成本之前,您可以在 Proteus 中充分验证您的设计思路和程序逻辑,及时发现问题并进行优化。 降低学习成本: 对于初学者而言,直接接触实体硬件可能会面临器件损坏、焊接困难等问题。Proteus 仿真环境有效降低了入门门槛,让您可以专注于核心的编程和逻辑设计。 学习本书,您将收获: 扎实的 AVR 单片机理论知识: 全面掌握 AVR 单片机的架构、指令集、寄存器以及各外设的工作原理。 精湛的 C 语言嵌入式编程技巧: 熟练运用 C 语言进行嵌入式系统开发,掌握代码优化、中断处理、驱动编写等关键技能。 丰富的实战经验: 通过 100 个贴近实际应用的实例,您将亲手完成各种功能的开发,积累宝贵的项目经验。 高效的仿真调试能力: 熟练掌握 Proteus 仿真软件,能够独立完成电路设计、代码仿真和硬件调试。 解决实际问题的能力: 能够将所学知识融会贯通,独立分析和解决嵌入式系统开发过程中遇到的各种挑战。 为更高级的嵌入式技术打下坚实基础: 本书内容涵盖了许多高级嵌入式开发所需的基础,为后续学习 Linux 嵌入式、FPGA 等技术提供有力支撑。 本书的目标读者: 电子工程、自动化、计算机科学等专业的在校学生: 本书是您系统学习单片机课程的理想教材,能够帮助您巩固课堂知识,并通过实践加深理解。 嵌入式系统开发工程师: 无论您是初入职场的新人,还是希望拓展 AVR 技术栈的资深工程师,本书都能为您提供有价值的参考和实践案例。 嵌入式系统爱好者和创客: 如果您对智能硬件、物联网、机器人等领域充满热情,本书将是您开启嵌入式开发之旅的得力助手。 希望通过实践提升编程技能的开发者: 本书以项目驱动,帮助您将抽象的编程知识转化为解决实际问题的能力。 如何更好地利用本书: 1. 动手实践: 学习任何一项技术,动手实践都是最重要的。请务必亲手在 Proteus 中搭建电路,编写代码,运行仿真,观察结果。 2. 理解原理: 不要仅仅停留在复制代码,要努力理解每个项目背后的工作原理,例如中断是如何工作的,ADC 采样的过程是怎样的。 3. 思考与拓展: 对于每个项目,可以尝试思考如何对其进行改进,增加新的功能,或者将其应用到其他场景中。 4. 查阅资料: 在遇到问题时,可以查阅 AVR 单片机的官方数据手册 (Datasheet)、相关的技术文档,以及在线社区的讨论。 5. 循序渐进: 按照本书的章节顺序进行学习,逐步掌握基础知识,再进入更复杂的项目。 Embarking on the journey of embedded systems development can be a challenging yet immensely rewarding experience. This book serves as your comprehensive guide, demystifying the world of AVR microcontrollers and empowering you with practical, hands-on skills. Through a meticulously curated collection of 100 real-world projects, coupled with the powerful simulation capabilities of Proteus, you will gain a profound understanding of embedded system design and implementation. Prepare to transform theoretical concepts into tangible, functional systems.

用户评价

评分

评价四: 我是一个对电子技术充满好奇心的爱好者,平时喜欢自己动手做一些小玩意儿。看了《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》这本书,觉得它在入门方面做得还可以。AVR单片机相对比较容易上手,C语言编程也是很多初学者熟悉的语言。Proteus仿真也确实方便,不用担心烧坏芯片。但是,这本书给我的感觉是,它似乎停留在一个比较表面的层面。很多例子的代码,直接给出了可运行的代码,但缺少了对C语言本身在单片机环境下的特性讲解,比如指针的运用、内存管理、位操作等等。这让我在写更复杂的程序时,会感觉捉襟见肘。而且,对于AVR单片机的各种外设,比如ADC、PWM、SPI、I2C等,书中虽然有涉及,但讲解得都比较简略,很多细节上的配置和注意事项都没有详细说明,导致我在实际操作中,经常会遇到各种意想不到的错误。希望作者能在后续的版本中,加强C语言在单片机开发中的深度讲解,以及对常用外设的深入剖析。

评分

评价五: 我是一名正在准备考研的学生,目标专业是嵌入式系统。了解到AVR单片机是很多院校的教学平台,《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》这本书,是我在复习时购买的参考资料。这本书的优点在于它整合了AVR和Proteus,对于理解硬件和软件的交互非常有帮助。但是,在阅读过程中,我发现书中的一些理论讲解不够严谨,甚至存在一些不够精确的描述。例如,在解释某个中断响应机制的时候,书中给出的时序图和文字说明,与实际的AVR工作原理存在一些出入,这让我感到非常困惑。而且,对于一些核心概念,比如指令周期、堆栈的运作方式、或者不同模式下的功耗表现,书中的解释都比较模糊,没有给出清晰的数学模型或者详细的推导过程。这对于需要深入理解底层原理以应对考研的考生来说,是远远不够的。我期望这本书能够更加注重理论的严谨性和深度,为读者提供更扎实的理论基础。

评分

评价一: 说实话,拿到这本《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》的时候,我满怀期待,想着终于能找到一本既讲理论又带实操的好书。毕竟,光看书本上的枯燥概念,再怎么努力也难以真正掌握单片机编程的精髓。而这本书的“100例”这个标题,听起来就非常吸引人,似乎预示着丰富多彩的实践机会。然而,在我翻阅了前几章后,我发现其中很多例子的代码实现,虽然能够成功运行,但总感觉缺乏一种更深层次的剖析。比如说,某个定时器设置的例子,代码写得很简洁,但它为什么这样设置?背后的原理是什么?涉及到哪些具体的寄存器操作?书中的解释就显得有些浅尝辄止,我花了相当多的时间去查阅AVR的官方数据手册,才能勉强理解其中的逻辑。这对于初学者来说,无疑会大大增加学习的难度和挫败感。我期待的是,即使是简单的例子,也能有详尽的原理讲解,能够引导读者逐步深入理解单片机的底层运作。

评分

评价二: 作为一名在校大学生,学习单片机是我课程的重点,而《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》这本书,在我的教材之外,是老师推荐的参考书。这本书的亮点在于它将AVR单片机和Proteus仿真软件结合起来,这在教学中是非常实用的。Proteus的仿真功能可以让我们在没有实际硬件的情况下,模拟出各种电路和器件的行为,这大大降低了硬件成本,也避免了因为硬件损坏带来的调试困扰。然而,在使用过程中,我发现这本书的Proteus仿真部分,虽然提供了原理图和代码,但对于仿真过程中可能出现的各种问题,例如时序冲突、电源干扰、或者特定元器件的参数设置,并没有给予足够的指导。有几次,我的仿真结果与书中的描述并不一致,我花了很长时间去排查,最后才发现是一些非常细微的仿真参数设置不对。我希望能有更多的篇幅来讲解Proteus的高级仿真技巧,或者提供一些常见仿真问题的解决方案,这样能让读者更有效地利用这个强大的工具。

评分

评价三: 我是一名已经工作了几年的工程师,最近因为项目需要,重新捡起了单片机这块知识。《单片机C语言程序设计实训100例:基于AVR+Proteus仿真》这本书,我抱着快速复习和了解AVR单片机最新应用的心态去阅读的。不得不说,这本书的“100例”覆盖的范围确实很广,从最基础的LED闪烁,到稍复杂的数据采集、通信协议,都有涉及。但是,我发现很多例子的工程实践性不够强。很多例子只是简单地实现了某个功能,但并没有深入探讨如何在一个实际的产品项目中,将这些零散的功能模块集成起来,如何进行功耗优化、抗干扰设计、或者如何进行可靠性测试。对于有一定基础的工程师来说,会觉得这些例子过于“玩具化”,难以直接迁移到实际工作中。我更希望书中能有一些“进阶”的实战项目,例如一个小型的数据记录仪,或者一个简单的无线传感器节点,这些项目能够更好地体现单片机在实际工程中的应用价值。

评分

同一款书,针对性强,不错的书

评分

不错啊,发货速度快,神速啊,支持!京东商城好样的!

评分

非常不错哦非常不错哦

评分

很不错的书,今天抽空看了一下,很实用

评分

仿真软件很不错,只是真的没有完全会用

评分

产品开发中可以借鉴。

评分

非常满意!非常满意!非常满意!

评分

很好的学习教材,研读中.

评分

买了没看,不过,印刷还好 买了没看,不过,印刷还好

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有