摘要:针对砂轮产品生产中传统的人工称重速度慢、精度低等问题,设计了碳化硅砂子自动称重系统.该系统采用C8051F020单片机实现传感器微弱信号的采集与转换,对A/D转换值进行数字平均值滤波,并对主直流电机进行PWM调速控制,实现碳化硅砂子的实时准确称重与定量输送.实验结果表明,该系统动态称重精度较高,误差为±0.1 g,可完全满足生产要求.
上传时间: 2013-10-19
上传用户:stvnash
本书从应用的角度,详细地介绍了MCS-51单片机的硬件结构、指令系统、各种硬件接口设计、各种常用的数据运算和处理程序及接口驱动程序的设计以及MCS-51单片机应用系统的设计,并对MCS-51单片机应用系统设计中的抗干扰技术以及各种新器件也作了详细的介绍。本书突出了选取内容的实用性、典型性。书中的应用实例,大多来自科研工作及教学实践,且经过检验,内容丰富、翔实。 本书可作为工科院校的本科生、研究生、专科生学习MCS-51单片机课程的教材,也可供从事自动控制、智能仪器仪表、测试、机电一体化以及各类从事MCS-51单片机应用的工程技术人员参考。 第一章 单片微型计等机概述 1.1 单片机的历史及发展概况 1.2 单片机的发展趋势 1.3 单片机的应用 1.3.1 单片机的特点 1.3.2 单片机的应用范围 1.4 8位单片机的主要生产厂家和机型 1.5 MCS-51系列单片机 第二章 MCS-51单片机的硬件结构 2.1 MCS-51单片机的硬件结构 2.2 MCS-51的引脚 2.2.1 电源及时钟引脚 2.2.2 控制引脚 2.2.3 I/O口引脚 2.3 MCS-51单片机的中央处理器(CPU) 2.3.1 运算部件 2.3.2 控制部件 2.4 MCS-51存储器的结构 2.4.1 程序存储器 2.4.2 内部数据存储器 2.4.3 特殊功能寄存器(SFR) 2.4.4 位地址空间 2.4.5 外部数据存储器 2.5 I/O端口 2.5.1 I/O口的内部结构 2.5.2 I/O口的读操作 2.5.3 I/O口的写操作及负载能力 2.6 复位电路 2.6.1 复位时各寄存器的状态 2.6.2 复位电路 2.7 时钟电路 2.7.1 内部时钟方式 2.7.2 外部时钟方式 2.7.3 时钟信号的输出 第三章 MCS-51的指令系统 3.1 MCS-51指令系统的寻址方式 3.1.1 寄存器寻址 3.1.2 直接寻址 3.1.3 寄存器间接寻址 3.1.4 立即寻址 3.1.5 基址寄存器加变址寄存器间址寻址 3.2 MCS-51指令系统及一般说明 3.2.1 数据传送类指令 3.2.2 算术操作类指令 3.2.3 逻辑运算指令 3.2.4 控制转移类指令 3.2.5 位操作类指令 第四章 MCS-51的定时器/计数器 4.1 定时器/计数器的结构 4.1.1 工作方式控制寄存器TMOD 4.1.2 定时器/计数器控制寄存器TCON 4.2 定时器/计数器的四种工作方式 4.2.1 方式0 4.2.2 方式1 4.2.3 方式2 4.2.4 方式3 4.3 定时器/计数器对输入信号的要求 4.4 定时器/计数器编程和应用 4.4.1 方式o应用(1ms定时) 4.4.2 方式1应用 4.4.3 方式2计数方式 4.4.4 方式3的应用 4.4.5 定时器溢出同步问题 4.4.6 运行中读定时器/计数器 4.4.7 门控制位GATE的功能和使用方法(以T1为例) 第五章 MCS-51的串行口 5.1 串行口的结构 5.1.1 串行口控制寄存器SCON 5.1.2 特殊功能寄存器PCON 5.2 串行口的工作方式 5.2.1 方式0 5.2.2 方式1 5.2.3 方式2 5.2.4 方式3 5.3 多机通讯 5.4 波特率的制定方法 5.4.1 波特率的定义 5.4.2 定时器T1产生波特率的计算 5.5 串行口的编程和应用 5.5.1 串行口方式1应用编程(双机通讯) 5.5.2 串行口方式2应用编程 5.5.3 串行口方式3应用编程(双机通讯) 第六章 MCS-51的中断系统 6.1 中断请求源 6.2 中断控制 6.2.1 中断屏蔽 6.2.2 中断优先级优 6.3 中断的响应过程 6.4 外部中断的响应时间 6.5 外部中断的方式选择 6.5.1 电平触发方式 6.5.2 边沿触发方式 6.6 多外部中断源系统设计 6.6.1 定时器作为外部中断源的使用方法 6.6.2 中断和查询结合的方法 6.6.3 用优先权编码器扩展外部中断源 第七章 MCS-51单片机扩展存储器的设计 7.1 概述 7.1.1 只读存储器 7.1.2 可读写存储器 7.1.3 不挥发性读写存储器 7.1.4 特殊存储器 7.2 存储器扩展的基本方法 7.2.1 MCS-51单片机对存储器的控制 7.2.2 外扩存储器时应注意的问题 7.3 程序存储器EPROM的扩展 7.3.1 程序存储器的操作时序 7.3.2 常用的EPROM芯片 7.3.3 外部地址锁存器和地址译码器 7.3.4 典型EPROM扩展电路 7.4 静态数据存储的器扩展 7.4.1 外扩数据存储器的操作时序 7.4.2 常用的SRAM芯片 7.4.3 64K字节以内SRAM的扩展 7.4.4 超过64K字节SRAM扩展 7.5 不挥发性读写存储器扩展 7.5.1 EPROM扩展 7.5.2 SRAM掉电保护电路 7.6 特殊存储器扩展 7.6.1 双口RAMIDT7132的扩展 7.6.2 快擦写存储器的扩展 7.6.3 先进先出双端口RAM的扩展 第八章 MCS-51扩展I/O接口的设计 8.1 扩展概述 8.2 MCS-51单片机与可编程并行I/O芯片8255A的接口 8.2.1 8255A芯片介绍 8.2.2 8031单片机同8255A的接口 8.2.3 接口应用举例 8.3 MCS-51与可编程RAM/IO芯片8155H的接口 8.3.1 8155H芯片介绍 8.3.2 8031单片机与8155H的接口及应用 8.4 用MCS-51的串行口扩展并行口 8.4.1 扩展并行输入口 8.4.2 扩展并行输出口 8.5 用74LSTTL电路扩展并行I/O口 8.5.1 用74LS377扩展一个8位并行输出口 8.5.2 用74LS373扩展一个8位并行输入口 8.5.3 MCS-51单片机与总线驱动器的接口 8.6 MCS-51与8253的接口 8.6.1 逻辑结构与操作编址 8.6.2 8253工作方式和控制字定义 8.6.3 8253的工作方式与操作时序 8.6.4 8253的接口和编程实例 第九章 MCS-51与键盘、打印机的接口 9.1 LED显示器接口原理 9.1.1 LED显示器结构 9.1.2 显示器工作原理 9.2 键盘接口原理 9.2.1 键盘工作原理 9.2.2 单片机对非编码键盘的控制方式 9.3 键盘/显示器接口实例 9.3.1 利用8155H芯片实现键盘/显示器接口 9.3.2 利用8031的串行口实现键盘/显示器接口 9.3.3 利用专用键盘/显示器接口芯片8279实现键盘/显示器接口 9.4 MCS-51与液晶显示器(LCD)的接口 9.4.1 LCD的基本结构及工作原理 9.4.2 点阵式液晶显示控制器HD61830介绍 9.5 MCS-51与微型打印机的接口 9.5.1 MCS-51与TPμp-40A/16A微型打印机的接口 9.5.2 MCS-51与GP16微型打印机的接口 9.5.3 MCS-51与PP40绘图打印机的接口 9.6 MCS-51单片机与BCD码拨盘的接口设计 9.6.1 BCD码拨盘 9.6.2 BCD码拨盘与单片机的接口 9.6.3 拨盘输出程序 9.7 MCS-51单片机与CRT的接口 9.7.1 SCIBCRT接口板的主要特点及技术参数 9.7.2 SCIB接口板的工作原理 9.7.3 SCIB与MCS-51单片机的接口 9.7.4 SCIB的CRT显示软件设计方法 第十章 MCS-51与D/A、A/D的接口 10.1 有关DAC及ADC的性能指标和选择要点 10.1.1 性能指标 10.1.2 选择ABC和DAC的要点 10.2 MCS-51与DAC的接口 10.2.1 MCS-51与DAC0832的接口 10.2.2 MCS-51同DAC1020及DAC1220的接口 10.2.3 MCS-51同串行输入的DAC芯片AD7543的接口 10.3 MCS-51与ADC的接口 10.3.1 MCS-51与5G14433(双积分型)的接口 10.3.2 MCS-51与ICL7135(双积分型)的接口 10.3.3 MCS-51与ICL7109(双积分型)的接口 10.3.4 MCS-51与ADC0809(逐次逼近型)的接口 10.3.5 8031AD574(逐次逼近型)的接口 10.4 V/F转换器接口技术 10.4.1 V/F转换器实现A/D转换的方法 10.4.2 常用V/F转换器LMX31简介 10.4.3 V/F转换器与MCS-51单片机接口 10.4.4 LM331应用举例 第十一章 标准串行接口及应用 11.1 概述 11.2 串行通讯的接口标准 11.2.1 RS-232C接口 11.2.2 RS-422A接口 11.2.3 RS-485接口 11.2.4 各种串行接口性能比较 11.3 双机串行通讯技术 11.3.1 单片机双机通讯技术 11.3.2 PC机与8031单片机双机通讯技术 11.4 多机串行通讯技术 11.4.1 单片机多机通讯技术 11.4.2 IBM-PC机与单片机多机通讯技术 11.5 串行通讯中的波特率设置技术 11.5.1 IBM-PC/XT系统中波特率的产生 11.5.2 MCS-51单片机串行通讯波特率的确定 11.5.3 波特率相对误差范围的确定方法 11.5.4 SMOD位对波特率的影响 第十二章 MCS-51的功率接口 12.1 常用功率器件 12.1.1 晶闸管 12.1.2 固态继电器 12.1.3 功率晶体管 12.1.4 功率场效应晶体管 12.2 开关型功率接口 12.2.1 光电耦合器驱动接口 12.2.2 继电器型驱动接口 12.2.3 晶闸管及脉冲变压器驱动接口 第十三章 MCS-51单片机与日历的接口设计 13.1 概述 13.2 MCS-51单片机与实时日历时钟芯片MSM5832的接口设计 13.2.1 MSM5832性能及引脚说明 13.2.2 MSM5832时序分析 13.2.3 8031单片机与MSM5832的接口设计 13.3 MCS-51单片机与实时日历时钟芯片MC146818的接口设计 13.3.1 MC146818性能及引脚说明 13.3.2 MC146818芯片地址分配及各单元的编程 13.3.3 MC146818的中断 13.3.4 8031单片机与MC146818的接口电路设计 13.3.5 8031单片机与MC146818的接口软件设计 第十四章 MCS-51程序设计及实用子程序 14.1 查表程序设计 14.2 散转程序设计 14.2.1 使用转移指令表的散转程序 14.2.2 使用地地址偏移量表的散转程序 14.2.3 使用转向地址表的散转程序 14.2.4 利用RET指令实现的散转程序 14.3 循环程序设计 14.3.1 单循环 14.3.2 多重循环 14.4 定点数运算程序设计 14.4.1 定点数的表示方法 14.4.2 定点数加减运算 14.4.3 定点数乘法运算 14.4.4 定点数除法 14.5 浮点数运算程序设计 14.5.1 浮点数的表示 14.5.2 浮点数的加减法运算 14.5.3 浮点数乘除法运算 14.5.4 定点数与浮点数的转换 14.6 码制转换 ……
上传时间: 2013-11-06
上传用户:xuanjie
本书分三部分介绍在美国广泛应用的、高功能的M68HC11系列单片机(8位机 ,Motorola公司)。内容包括M68HC11的结构与其基本原理、开发工具EVB(性能评估板)以及开发和应用技术。本书在介绍单片机硬、软件的基础上,进一步介绍了在美国实验室内,如何应用PC机及EVB来进行开发工作。通过本书的介绍,读者可了解这种单片机的原理并学会开发和应用方法。本书可作为大专院校单片机及其实验的教材(本科、短训班)。亦可供开发、应用单片机的各专业(计算机、机电、化工、纺织、冶金、自控、航空、航海……)有关技术人员参考。 第一部分 M68HC11 结构与原理Motorola单片机 1 Motorla单片机 1.1 概述 1.1.1 Motorola 单片机发展概况(3) 1.1.2 Motorola 单片机结构特点(4) 1.2 M68HC11系列单片机(5) 1.2.1 M68HC11产品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9单片机引脚说明(8) 1.3 Motorola 32位单片机(14) 1.3.1中央处理器(CPU32)(15) 1.3.2 定时处理器(TPU)(16) 1.3.3 串行队列模块(QSM)(16) 1.3.4 系统集成模块 (SIM)(16) 1.3.5 RAM(17) 2 系统配置与工作方式 2.1 系统配置(19) 2.1.1 配置寄存器CONFIG(19) 2.1.2 CONFIG寄存器的编程与擦除(20) 2?2 工作方式选择(21) 2.3 M68HC11的工作方式(23) 2.3.1 普通单片工作方式(23) 2.3.2 普通扩展工作方式(23) 2.3.3 特殊自举方式(27) 2.3.4 特殊测试方式(28) 3 中央处理器(CPU)与片上存储器 3.1 CPU寄存器(31) 3?1?1 累加器A、B和双累加器D(32) 3.1.2 变址寄存器X、Y(32) 3.1.3 栈指针SP(32) 3.1.4 程序计数器PC(33) 3.1.5 条件码寄存器CCR(33) 3.2 片上存储器(34) 3.2.1 存储器分布(34) 3.2.2 RAM和INIT寄存器(35) 3.2.3 ROM(37) 3.2.4 EEPROM(37) 3.3 M68HC11 CPU的低功耗方式(39) 3.3.1 WAIT方式(39) 3.3.2 STOP方式(40) 4 复位和中断 4.1 复位(41) 4.1.1 M68HC11的系统初始化条件(41) 4.1.2 复位形式(43) 4.2 中断(48) 4.2.1 条件码寄存器CCR中的中断屏蔽位(48) 4.2.2 中断优先级与中断矢量(49) 4.2.3 非屏蔽中断(52) 4.2.4 实时中断(53) 4.2.5 中断处理过程(56) 5 M68HC11指令系统 5.1 M68HC11寻址方式(59) 5.1.1 立即寻址(IMM)(59) 5.1.2 扩展寻址(EXT)(60) 5.1.3 直接寻址(DIR)(60) 5.1.4 变址寻址(INDX、INDY)(61) 5.1.5 固有寻址(INH)(62) 5.1.6 相对寻址(REL)(62) 5.1.7 前置字节(63) 5.2 M68HC11指令系统(63) 5.2.1 累加器和存储器指令(63) 5.2.2 栈和变址寄存器指令(68) 5.2.3 条件码寄存器指令(69) 5.2.4 程序控制指令(70) 6 输入与输出 6.1 概述(73) 6.2 并行I/O口(74) 6.2.1 并行I/O寄存器(74) 6.2.2 应答I/O子系统(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 数据格式(83) 6.3.3 SCI硬件结构(84) 6.3.4 SCI寄存器(86) 6.4 串行外围接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引脚信号(92) 6.4.3 SPI结构(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系统与外部设备进行串行数据传输(99) 7 定时器系统与脉冲累加器 7.1 概述(105) 7.2 循环计数器(107) 7.2.1 时钟分频器(107) 7.2.2 计算机正常工作监视功能(110) 7.2.3 定时器标志的清除(110) 7.3 输入捕捉功能(111) 7.3.1 概述(111) 7.3.2 定时器输入捕捉锁存器(TIC1、TIC2、TIC3) 7.3.3 输入信号沿检测逻辑(113) 7.3.4 输入捕捉中断(113) 7.4 输出比较功能(114) 7.4.1 概述(114) 7.4.2 输出比较功能使用的寄存器(116) 7.4.3 输出比较示例(118) 7.5 脉冲累加器(119) 7.5.1 概述(119) 7.5.2 脉冲累加器控制和状态寄存器(121) 8 A/D转换系统 8.1 电荷重新分布技术与逐次逼近算法(125) 8.1.1 基本电路(125) 8.1.2 A/D转换逐次逼近算法原理(130) 8.2 M68HC11中A/D转换的实现方法(131) 8.2.1 逐次逼近A/D转换器(131) 8.2.2 控制寄存器(132) 8.2.3 系统控制逻辑(135)? 9 单片机的内部操作 9.1 用立即> 图书前言 美国Motorola公司从80年代中期开始推出的M68HC11系列单片机是当今功能最强、性能/价格比最好的八位单片微计算机之一。在美国,它已被广泛地应用于教学和各种工业控制系统中。? 该单片机有丰富的I/O功能,完善的系统保护功能和软件控制的节电工作方式 。它的指令系统与早期Motorola单片机MC6801等兼容,同时增加了91条新指令。其中包含16位乘法、除法运算指令等。 为便于用户开发和应用M68HC11单片机,Motorola公司提供了多种开发工具。M68HC11 EVB (Evaluation Board)性能评估板就是一种M68HC11系列单片机的廉价开发工具。它既可用来 调试用户程序,又可在仿真方式下运行。为方便用户,M68HC11 EVB可与IBM?PC连接 ,借助于交叉汇编、通信程序等软件,在IBM?PC上调试程序。? 本书分三部分(共15章)介绍了M68HC11的结构和基本原理、开发工具-EVB及开发应用实例等。第一部分(1~9章),介绍M68HC11的结构和基本原理。包括概述,系统配置与工作方式、CPU和存储器、复位和中断、指令系统、I/O、定时器系统和脉冲累加器、A/D转换系统、单片机的内部操作等。第二部分(10~11章),介绍M68HC11 EVB的原理和技术特性以及EVB的应用。第三部分(12~15章),介绍M68HC11的开发与应用技术。包括基本的编程练习、应用程序设计、接口实验、接口设计及应用等。 读者通过学习本书,不仅可了解M68HC11的硬件、软件,而且可了解使用EVB开发和应用M68HC11单片机的方法。在本书的第三部分专门提供了一部分实验和应用程序。? 本书系作者张宁作为高级访问学者,应邀在美国马萨诸塞州洛厄尔大学(University of Massachusetts Lowell)工作期间完成的。全书由张宁执笔。在编著过程中,美国洛厄尔大学的R·代克曼教授?(Professor Robert J. Dirkman)多次与张宁一起讨论、研究,并提供部分资料及实验数据。参加编写和审校等工作的还有王云霞、孙晓芳、刘安鲁、张籍、来安德、张杨等同志。? 为将M68HC11系列单片机尽快介绍给我国,美国Motorola公司的Terrence M.S.Heng先生曾大力支持本书的编著和出版。在此表示衷心感谢。
上传时间: 2013-10-27
上传用户:rlgl123
本书针对Atmel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT90LS8535的C语言程序设计。全书共有13章,其内容既涉及到了单片机的结构原理、指令系统、内容资源和外部功能扩展,又包含了单片机的编程工具——ICC AVR C编程器的数据类型、控制流、函数和指针等。本书的特点是:深入浅出,从最基本的概念开始,循序渐进地讲解单片机的应用开发;列举了大量实例,使读者能从实际应用中掌握单片机的开发与应用技术。本书适合作为从事单片机开发人员的参考用书。书中先后讲解了C语言基础、AVR单片机基础,并举了一些简单的实例。本书非常适合初学者。 【目录信息】 第1章 单片机系统概述 1. 1 AVR系列单片机的特点 1. 2 AT90系列单片机简介 第2章 AT90LS8535单片机的基础知识 2. 1 AT90LS8535单片机的总体结构 2. 1. 1 AT90LS8535单片机的中央处理器 2. 1. 2 AT90LS8535单片机的存储器组织 2. 1. 3 AT90LS8535单片机的I/O接口 2. 1. 4 AT90LS8535单片机的内部资源 2. 1. 5 AT90LS8535单片机的时钟电路 2. 1. 6 AT90LS8535单片机的系统复位 2. 1. 7 AT90LS8535单片机的节电方式 2. 1. 8 AT90LS8535单片机的芯片引脚 2. 2 AT90LS8535单片机的指令系统 2. 2. 1 汇编指令格式 2. 2. 2 寻址方式 2. 2. 3 伪指令 2. 2. 4 指令类型及数据操作方式 2. 3 应用程序设计 2. 3. 1 程序设计方法 2. 3. 2 应用程序举例 第3章 AT90LS8535单片机的C编程 3. 1 支持高级语言编程的AVR系列单片机 3. 2 AVR的C编译器 3. 3 ICCAVR介绍 3. 3. 1 安装ICCAVR 3. 3. 2 设置ICCAVR 3. 4 用ICCAVR编写应用程序 3. 5 下载程序文件 第4章 数据类型. 运算符和表达式 4. 1 ICCAVR支持的数据类型 4. 2 常量与变量 4. 2. 1 常量 4. 2. 2 变量 4. 3 AT90LS8535的存储空间 4. 4 算术和赋值运算 4. 4. 1 算术运算符和算术表达式 4. 4. 2 赋值运算符和赋值表达式 4. 5 逻辑运算 4. 6 关系运算 4. 7 位操作 4. 7. 1 位逻辑运算 4. 7. 2 移位运算 4. 8 逗号运算 第5章 控制流 5. 1 C语言的结构化程序设计 5. 1. 1 顺序结构 5. 1. 2 选择结构 5. 1. 3 循环结构 5. 2 选择语句 5. 2. 1 if语句 5. 2. 2 switch分支 5. 2. 3 选择语句的嵌套 5. 3 循环语句 5. 3. 1 while语句 5. 3. 2 do…while语句 5. 3. 3 for语句 5. 3. 4 循环语句嵌套 5. 3. 5 break语句和continue语句 第6章 函数 6. 1 函数的定义 6. 1. 1 函数的定义的一般形式 6. 1. 2 函数的参数 6. 1. 3 函数的值 6. 2 函数的调用 6. 2. 1 函数的一般调用 6. 2. 2 函数的递归调用 6. 2. 3 函数的嵌套调用 6. 3 变量的类型及其存储方式 6. 3. 1 局部变量 6. 3. 2 局部变量的存储方式 6. 3. 3 全局变量 6. 3. 4 全局变量的存储方式 6. 4 内部函数和外部函数 6. 4. 1 内部函数 6. 4. 2 外部函数 第7章 指针 7. 1 指针和指针变量 7. 2 指针变量的定义和引用 7. 2. 1 指针变量的定义 7. 2. 2 指针变量的引用 7. 2. 3 指针变量作为函数参数 7. 3 数组与指针 7. 3. 1 指向数组元素的指针变量 7. 3. 2 数组元素的引用 通过指针 7. 3. 3 数组名作为函数参数 7. 3. 4 指向多维数组的元素的指针变量 7. 4 字符串与指针 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指针变量与字符数组的区别 7. 5 函数与指针 7. 5. 1 函数指针变量 7. 5. 2 指针型函数 7. 6 指向指针的指针 7. 7 有关指针数据类型和运算小结 7. 7. 1 有关指针的数据类型的小结 7. 7. 2 指针运算的小结 第8章 结构体和共用体 8. 1 结构体的定义和引用 8. 1. 1 结构体类型变量的定义 8. 1. 2 结构体类型变量的引用 8. 2 结构类型的说明 8. 3 结构体变量的初始化和赋值 8. 3. 1 结构体变量的初始化 8. 3. 2 结构体变量的赋值 8. 4 结构体数组 8. 4. 1 结构体数组的定义 8. 4. 2 结构体数组的初始化 8. 5 指向结构体类型变量的指针 8. 5. 1 指向结构体变量的指针 8. 5. 2 指向结构体数组的指针 8. 5. 3 指向结构体变量的指针做函数参数 8. 6 共用体 8. 6. 1 共用体的定义 8. 6. 2 共用体变量的引用 第9章 A190LS8535的内部资源 9. 1 I/O 口 9. 1. 1 端口A 9. 1. 2 端口B 9. 1. 3 端口C 9. 1. 4 端口D 9. 1. 5 I/O口的编程 9. 2 中断 9. 2. 1 单片机的中断功能 9. 2. 2 AT90LS8535单片机的中断系统 9. 2. 3 1CCAVRC编译器的中断操作 9. 2. 4 中断的编程 9. 3 串行数据通信 9. 3. 1 数据通信基础 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的异步串行接口 9. 4 定时/计数器 9. 4. 1 定时/计数器的分频器 9. 4. 2 8位定时/计数器0 9. 4. 3 16位定时/计数器1 9. 4. 4 8位定时/计数器2 9. 5 EEPROM 9. 5. 1 与EEPROM有关的寄存器 9. 5. 2 EEPROM读/写操作 9. 5. 3 EEPROM的应用举例 9. 6 模拟量输入接口 9. 6. 1 模数转换器的结构 9. 6. 2 ADC的使用 9. 6. 3 与模数转换器有关的寄存器 9. 6. 4 ADC的噪声消除 9. 6. 5 ADC的应用举例 9. 7 模拟比较器 9. 7. 1 模拟比较器的结构 9. 7. 2 与模拟比较器有关的寄存器 9. 7. 3 模拟比较器的应用举例 第10章 AT90LS8535的人机接口编程 10. 1 键盘接口 10. 1. 1 非矩阵式键盘 10. 1. 2 矩阵式键盘 10. 2 LED显示输出 10. 2. 1 LED的静态显示 10. 2. 2 LED的动态扫描显示 10. 2. 3 动态扫描显示专用芯片MC14489 10. 3 LCD显示输出 10. 3. 1 字符型LCD 10. 3. 2 点阵型LCD 10. 4 ISD2500系列语音芯片的编程 10. 4. 1 ISD2500的片内结构和引脚 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和单片机的接口及编程 10. 5 TP-uP微型打印机 10. 5. 1 TP-uP打印机的接口和逻辑时序 10. 5. 2 P-uP打印机的打印命令和字符代码 10. 5. 3 AT90LS8535与TP-uP系列打印机的接口及编程 10. 6 IC卡 10. 6. 1 IC卡读写装置 10. 6. 2 IC卡软件 第11章 AT90LS8535的外围扩展 11. 1 简单I/O扩展芯片 11. 1. 1 用74LS377扩展数据输出接口 11. 1. 2 数据输入接口 11. 2 模拟量输出 11. 2. 1 D/A转换器简介 11. 2. 2 8位数模转换器DAC0832 11. 2. 3 8位数模转换器与单片机的接口及编程 11. 2. 4 12位数模转换器DACl230 11. 2. 5 12位数模转换器与单片机的接口及编程 11. 3 可编程I/O扩展芯片8255A 11. 3. 1 8255A的引脚和内部结构 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 带片内RAM的I/O扩展芯片8155 11. 4. 1 8155的引脚和内部结构. 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定时/计数器 11. 4. 4 8155的命令和状态字 11. 4. 5 AT90LS8535与8155的接口及编程 11. 5 定时/计数器芯片8253 11. 5. 1 8253的信号引脚和逻辑结构 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535与8253的接口及编程 11. 6 实时时钟芯片DS1302 11. 6. 1 DS1302的引脚和内部结构 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535与DS1302的接口与编程 11. 7 数字温度传感器DS18B20 11. 7. 1 DSl8B20的引脚和内部结构 11. 7. 2 DS18B20的温度测量 11. 7. 3 AT90LS8535与DS18B20的接口与编程 第12章 AT90LS8535的通信编程 12. 1 串口通信 12. 1. 1 异步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C总线 12. 2. 1 I2C总线协议 12. 2. 2 采用AT90LS8535的并行I/O口模拟I2C总线 12. 3 CAN总线 12. 3. 1 CAN总线的特点 12. 3. 2 CAN协议的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535与SJA1000的接口及编程 12. 4 AT90LS8535单片机与PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 应用实例 第13章 系统设计中的程序处理方法 13. 1 数字滤波处理 13. 1. 1 平滑滤波 13. 1. 2 中值滤波 13. 1. 3 程序判断滤波 13. 2 非线性处理 13. 2. 1 查表法 13. 2. 2 线性插值法
上传时间: 2013-11-04
上传用户:元宵汉堡包
《AVR单片机原理及应用》详细介绍了ATMEL公司开发的ATmega8系列高速嵌入式单片机的硬件结构、工作原理、指令系统、接口电路、C编程实例,以及一些特殊功能的应用和设计,对读者掌握和使用其他ATmega8系列的单片机具有极高的参考价值 AVR单片机原理及应用》具有较强的系统性和实用性,可作为有关工程技术人员和硬件工程师的应用手册,亦可作为高等院校自动化、计算机、仪器仪表、电子等专业的教学参考书。 目录 第1章 绪论 1.1 AVR单片机的主要特性 1.2 主流单片机系列产品比较 1.2.1 ATMEL公司的单片机 1.2.2 Mkcochip公司的单片机 1.2.3 Cygnal公司的单片机 第2章 AVR系统结构概况 2.1 AVR单片机ATmega8的总体结构 2.1.1 ATmega8特点 2.1.2 结构框图 2.1.3 ATmega8单片机封装与引脚 2.2 中央处理器 2.2.1 算术逻辑单元 2.2.2 指令执行时序 2.2.3 复位和中断处理 2.3 ATmega8存储器 2.3.1 Flash程序存储器 2.3.2 SRAM 2.3.3 E2pROM 2.3.4 I/O寄存器 2.3.5 ATmega8的锁定位、熔丝位、标识位和校正位 2.4 系统时钟及其分配 2.4.1 时钟源 2.4.2 外部晶振 2.4.3 外部低频石英晶振 2.4.4 外部:RC振荡器 2.4.5 可校准内部.RC振荡器 2.4.6 外部时钟源 2.4.7 异步定时器/计数器振荡器 2.5 系统电源管理和休眠模式 2.5.1 MCU控制寄存器 2.5.2 空闲模式 2.5.3 ADC降噪模式 2.5.4 掉电模式 2.5.5 省电模式 2.5.6 等待模式 2.5.7 最小功耗 2.6 系统复位 2.6.1 复位源 2.6.2 MCU控制状态寄存器——MCUCSR 2.6.3 内部参考电压源 2.7 I/O端口 2.7.1 通用数字I/O端口 2.7.2 数字输入使能和休眠模式 2.7.3 端口的第二功能 第3章 ATmega8指令系统 3.1 ATmega8汇编指令格式 3.1.1 汇编语言源文件 3.1.2 指令系统中使用的符号 3.1.3 ATmega8指令 3.1.4 汇编器伪指令 3.1.5 表达式 3.1.6 文件“M8def.inc” 3.2 寻址方式和寻址空间 3.3 算术和逻辑指令 3.3.1 加法指令 3.3.2 减法指令 3.3.3 取反码指令 3.3.4 取补码指令 3.3.5 比较指令 3.3.6 逻辑与指令 3.3.7 逻辑或指令 3.3.8 逻辑异或 3.3.9 乘法指令 3.4 转移指令 3.4.1 无条件转移指令 3.4.2 条件转移指令 3.4.3 子程序调用和返回指令 3.5 数据传送指令 3.5.1 直接寻址数据传送指令 3.5.2 间接寻址数据传送指令 3.5.3 从程序存储器中取数装入寄存器指令 3.5.4 写程序存储器指令 3.5.5 I/0端口数据传送 3.5.6 堆栈操作指令 3.6 位操作和位测试指令 3.6.1 带进位逻辑操作指令 3.6.2 位变量传送指令 3.6.3 位变量修改指令 3.7 MCU控制指令 3.8 指令的应用 第4章 中断系统 4.1 外部向量 4.2 外部中断 4.3 中断寄存器 第5章 自编程功能 5.1 引导加载技术 5.2 相关I/O寄存器 5.3 Flash程序存储器的自编程 5.4 Flash自编程应用 第6章 定时器/计数器 6.1 定时器/计数器预定比例分频器 6.2 8位定时器/计数器O(T/CO) 6.3 16位定时器/计数器1(T/C1) 6.3.1 T/C1的结构 6.3.2 T/C1的操作模式 6.3.3 T/121的计数时序 6.3.4 T/C1的寄存器 6.4 8位定时器/计数器2(T/C2) 6.4.1 T/C2的组成结构 6.4.2 T/C2的操作模式 6.4.3 T/C2的计数时序 6.4.4 T/02的寄存器 6.4.5 T/C2的异步操作 6.5 看门狗定时器 第7章 AVR单片机通信接口 7.1 AVR单片机串行接口 7.1.1 同步串行接口 7.1.2 通用串行接口 7.2 两线串行TWT总线接口 7.2.1 TWT模块概述 7.2.2 TWT寄存器描述 7.2.3 TWT总线的使用 7.2.4 多主机系统和仲裁 第8章 AVR单片机A/D转换及模拟比较器 8.1 A/D转换 8.1.1 A/D转换概述 8.1.2 ADC噪声抑制器 8.1.3 ADC有关的寄存器 8.2 AvR单片机模拟比较器 第9章 系统扩展技术 9.1 串行接口8位LED显示驱动器MAX7219 9.1.1 概述 9.1.2 引脚功能及内部结构 9.1.3 操作说明 9.1.4 应用 9.1.5 软件设计 9.2 AT24C系列两线串行总线E2PPOM 9.2.1 概述 9.2.2 引脚功能及内部结构 9.2.3 操作说明 9.2.4 软件设计 9.3 AT93C46——三线串行总线E2PPOM接口芯片 9.3.1 概述 9.3.2 内部结构及引脚功能 9.3.3 操作说明 9.3.4 软件设计 9.4 串行12位的ADCTL543 9.4.1 概述 9.4.2 内部结构及引脚功能 9.4.3 操作说明 9.4.4 AD620放大器介绍 9.4.5 软件设计 9.5 串行输出16位ADCMAXl95 9.5.1 概述 9.5.2 引脚功能及内部结构 9.5.3 操作说明 9.5.4 应用 9.5.5 软件设计 9.6 串行输入DACTLC5615 9.6.1 概述 9.6.2 引脚功能及内部结构 9.6.3 操作说明 9.6.4 软件设计 9.7 串行12位的DACTLC5618 9.7.1 概述 9.7.2 内部结构及引脚功能 9.7.3 操作说明 9.7.4 软件设计 9.8 串行非易失性静态RAMX24C44 9.8.1 概述 9.8.2 引脚功能及内部结构 9.8.3 操作说明 9.8.4 软件设计 9.9 数据闪速存储器AT45DB041B 9.9.1 概述 9.9.2 引脚功能及内部结构 9.9.3 操作说明 9.9.4 软件设计 9.10 GM8164串行I/0扩展芯片 9.10.1 概述 9.10.2 引脚功能说明 9.10.3 操作说明 9.10.4 软件设计 9.11 接口综合实例 附录1 ICCACR简介 附录2 ATmega8指令表 参考文献
上传时间: 2013-10-29
上传用户:lanwei
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
设计了一种基于PIC16C71单片机的数字水温配制阀。该配制阀采用NTC热敏电阻作温度传感器,与固定电阻组成简单分压电路作为水温测量电路,利用PIC16C71单片机内置的8位A/D转换器把热敏电阻上的模拟电压转换为数字量,PIC16C71单片机控制直流电机驱动混水阀调节冷热水的混合比例实现水温调节。给出了控制电路图,对水温测量电路的参数选择和测温精度作了详细讨论。实验和分析表明,选用阻值较大的NTC热敏电阻和分压电阻可较好地解决热敏电阻因功耗较大造成的热击穿问题。 Abstract: A digital valve for controlling water temperature based on PIC16C71 was presented in this paper.A bleeder circuit which consisted of a NTC thermistor as temperature sensor and a fixed resistance was designed as water temperature measuring circuit.The analog voltage on the thermistor was converted into digital signal by a 8-bit A/D converter embedded in PIC16C71. Based on the digital signal, the MCU PIC16C71 drived the valve by a DC motor to adjust the water temperature through adjusting the proportion of hot water and cold water.The circuit diagram of controller was given,the principle,the component parameters and the accuracy of measuring temperatures were also dissertated in detail. It was found by experiment and analysis that thermal breakdown of thermistor caused by high power could be solved by selecting thermistor and fixed resistance with high impedance value.
上传时间: 2013-11-08
上传用户:Yue Zhong
摘要:为了解决信号采集系统的同步串行通讯问题,在理解AVR 单片机SPI接口的通讯原 理和方法的基础上,分析了AVR 单片机SPI接口的工作过程,设计了AVR单片机和串行A/ D转换器的同步串行通讯接口,并用程序描述了SPI接口通讯的过程,实现了AVR单片机 通过SPI接口与串行A/D转换器之间的数据通讯。最后,用实验和数据分析验证了设计方 案的可行性。 关键词:SPI接口;AVR单片机;串行A/D
上传时间: 2013-10-31
上传用户:lilei900512
摘要:数字电压表抗干扰能力强、测量速度快、测量准确度高。本系统采AT89C51单片机、A/D转换器ADC0808和共阳极数码管为主要硬件,详细分析了数字电压表Proteus软件仿真电路设计及编程方法。关键词:数字电压表;单片机;A/D转换器
上传时间: 2013-10-26
上传用户:tiantwo