案例解说单片机C语言开发

当前位置:首页 > 计算机网络 > 计算机体系结构 > 案例解说单片机C语言开发

出版社:电子工业出版社
出版日期:2012-9
ISBN:9787121180187
作者:程国钢
页数:377页

作者简介

《案例解说单片机C语言开发:基于AVR+Proteus仿真》基于ICCAVR和Proteus介绍了ATmega128单片机体系结构、C语言、内部资源,以及常用扩展器件的使用方法。全书分为3个部分:第1章和第2章是基础部分,介绍了ICCAVR和Proteus的基础用法。第3~9章是基础应用部分,各个章节基于ICCAVR和Proteus介绍了ATmega128单片机的内部资源和典型外部扩展器件的使用方法,对于这些资源和器件进行了基础知识和Proteus库的介绍,还提供了详尽的实例。第10章是综合应用部分,介绍了ATmega128单片机应用系统的基础设计方法,提供了包括频率计、简易数字时钟、可控自校准数字电源、仓库自动通风控制系统在内的4个大型综合应用实例。 
《案例解说单片机C语言开发:基于AVR+Proteus仿真》提供了大量实例,它们都有详细的设计思路、典型器件列表、Proteus应用电路、C语言应用代码和仿真运行结果。

书籍目录

第1章 atmega128应用基础
 1.1 atmega128的体系结构
 1.1.1 atmega128的内核
 1.1.2 atmega128的存储器体系
 1.1.3 atmega128的系统时钟
 1.1.4 atmega128的电源管理
 1.1.5 atmega128的复位
 1.1.6 atmega128的外部引脚封装
 1.1.7 atmega128的中断系统
 1.2 atmega128的c语言
 1.2.1 atmega128 c语言的数据类型、运算符和表达式
 1.2.2 atmega128 c语言的结构
 1.2.3 atmega128 c语言的函数
 1.2.4 atmega128 c语言的数组和指针
 1.2.5 atmega128 c语言的自构造类型
 1.3 iccavr软件开发环境应用基础
 1.3.1 iccavr的工作界面
 1.3.2 iccavr的菜单
 1.3.3 iccavr的扩展关键字
 1.3.4 iccavr的库函数
 1.3.5 使用iccavr
第2章 proteus硬件仿真环境
 2.1 proteus应用基础
 2.1.1 proteus的界面
 2.1.1 proteus的界面
 2.1.2 proteus支持的文件格式
 2.1.2 proteus的菜单
 2.1.3 proteus的快捷工具栏和工具箱
 2.2 使用proteus
 2.3 protues中的atmega128
 2.4 proteus和iccavr的联合调试应用实例
第3章 proteus中的atmega128内部基础资源应用实例
 3.1 atmega128的i/o引脚应用实例
 3.1.1 i/o引脚基础
 3.1.2 i/o引脚输出高低脉冲电平应用实例
 3.2 atmega128的外部中断应用实例
 3.2.1 外部中断基础
 3.2.2 外部中断控制i/o引脚输出应用实例
 3.3 atmega128的定时/计数器应用实例
 3.3.1 定时/计数器基础
 3.3.2 定时器控制i/o引脚输出方波应用实例
 3.3.3 定时器输出pwm波形应用实例
 3.3.4 输出频率可调的pwm波形应用实例
 3.3.5 定时/计数器秒定时输出高低电平应用实例
 3.4 atmega128的串行口应用实例
 3.4.1 串行口基础
 3.4.2 atmega128串口0数据发送应用实例
 3.4.3 atmega128串口1数据发送应用实例
 3.4.4 和pc进行串行通信应用实例
 3.4.5 双串口联合使用应用实例
 3.5 atmega128的twi(i2c)总线接口应用实例
 3.5.1 twi(i2c)总线接口基础
 3.5.2 双机atmega128使用twi总线通信应用实例
 3.6 atmega128的spi总线接口应用实例
 3.6.1 spi总线接口基础
 3.6.2 双机atmega128使用spi总线通信应用实例
 3.7 atmega128的内置看门狗模块应用实例
 3.7.1 内置看门狗模块基础
 3.7.2 内置看门狗模块测试应用实例
 3.8 建立并引用用户库函数应用实例
 3.8.1 实例的设计思路
 3.8.2 实例的proteus电路图
 3.8.3 应用实例代码
 3.8.4 应用实例的仿真结果和说明
第4章 proteus中的atmega128人机交互通道应用实例
 4.1 发光二极管应用实例
 4.1.1 器件基础
 4.1.2 应用实例设计分析
 4.1.3 应用实例的代码
 4.1.4 应用实例的仿真结果和说明
 4.2 单位数码管应用实例
 4.2.1 器件基础
 4.2.2 应用实例设计分析
 4.2.3 应用实例的代码
 4.2.4 应用实例的仿真结果和说明
 4.3 多位数码管应用实例
 4.3.1 器件基础
 4.3.2 应用实例设计分析
 4.3.3 应用实例的代码
 4.3.4 应用实例的仿真结果和说明
 4.4 max7219应用实例
 4.4.1 器件基础
 4.4.2 应用实例设计分析
 4.4.3 应用实例的代码
 4.4.4 应用实例的仿真结果和说明
 4.5 1602液晶应用实例
 4.5.1 器件基础
 4.5.2 应用实例设计分析
 4.5.3 应用实例的代码
 4.5.4 应用实例的仿真结果和说明
 4.6 独立按键应用实例
 4.6.1 器件基础
 4.6.2 应用实例设计分析
 4.6.3 应用实例的代码
 4.6.4 应用实例的仿真结果和说明
 4.7 行列扫描键盘应用实例
 4.7.1 器件基础
 4.7.2 应用实例设计分析
 4.7.3 应用实例的代码
 4.7.4 应用实例的仿真结果和说明
 4.8 拨码开关应用实例
 4.8.1 器件基础
 4.8.2 应用实例设计分析
 4.8.3 应用实例的代码
 4.8.4 应用实例的仿真结果和说明
第5章 proteus中的atmega128信号采集通道应用实例
 5.1 atmega128的内置比较器模块应用实例
 5.1.1 内置比较器模块基础
 5.1.2 双通道模拟信号比较应用实例
 5.1.3 多通道模拟信号比较应用实例
 5.2 atmega128的内置a/d模块应用实例
 5.2.1 内置a/d模块基础
 5.2.2 单通道模拟信号采集实例
 5.2.3 多通道模拟信号采集实例
 5.2.4 增益放大模拟信号采集实例
 5.2.5 差分模拟信号比较采集实例
 5.2.6 多通道模拟信号比较采集实例
 5.3 ds1302应用实例
 5.3.1 器件基础
 5.3.2 应用实例设计分析
 5.3.3 应用实例的代码
 5.3.4 应用实例的仿真结果和说明
 5.4 ds18b20应用实例
 5.4.1 器件基础
 5.4.2 应用实例设计分析
 5.4.3 应用实例的代码
 5.4.4 应用实例的仿真结果和说明
第6章 proteus中的atmega128信号输出通道应用实例
 6.1 dac0832应用实例
 6.1.1 器件基础
 6.1.2 应用实例设计分析
 6.1.3 应用实例的代码
 6.1.4 应用实例的仿真结果和说明
 6.2 74hc165应用实例
 6.2.1 器件基础
 6.2.2 应用实例设计分析
 6.3 74hc595应用实例
 6.3.1 器件基础
 6.3.2 应用实例设计分析
 6.3.3 应用实例的代码
 6.3.4 应用实例的仿真结果和说明
第7章 proteus中的atmega128 存储器应用实例
 7.1 atmega128的内部e2prom应用实例
 7.1.1 e2prom基础
 7.1.2 e2prom读写应用实例
 7.2 62256应用实例
 7.2.1 器件基础
 7.2.2 应用实例设计分析
 7.2.3 应用实例的代码
 7.2.4 应用实例的仿真结果和说明
第8章 proteus中的atmega128执行机构应用实例
 8.1 三极管应用实例
 8.1.1 器件基础
 8.1.2 应用实例设计分析
 8.1.3 应用实例的代码
 8.1.4 应用实例的仿真结果和说明
 8.2 uln2803应用实例
 8.2.1 器件基础
 8.2.2 应用实例设计分析
 8.2.3 应用实例的代码
 8.2.4 应用实例的仿真结果和说明
 8.3 光电隔离器应用实例
 8.3.1 器件基础
 8.3.2 应用实例设计分析
 8.3.3 应用实例的代码
 8.3.4 应用实例的仿真结果和说明
 8.4 直流电动机应用实例
 8.4.1 器件基础
 8.4.2 应用实例设计分析
 8.4.3 应用实例的代码
 8.4.4 应用实例的仿真结果和说明
 8.5 步进电动机应用实例
 8.5.1 器件基础
 8.5.2 应用实例设计分析
 8.5.3 应用实例的代码
 8.5.4 应用实例的仿真结果和说明
 8.6 继电器应用实例
 8.6.1 器件基础
 8.6.2 应用实例设计分析
 8.6.3 应用实例的代码
 8.6.4 应用实例的仿真结果和说明
 8.7 蜂鸣器应用实例
 8.7.1 器件基础
 8.7.2 应用实例设计分析
 8.7.3 应用实例的代码
 8.7.4 应用实例的仿真结果和说明
第9章 proteus中的atmega128通信应用实例
 9.1 max232应用实例
 9.1.1 器件基础
 9.1.2 应用实例设计分析
 9.1.3 应用实例的代码
 9.1.4 实例的仿真结果和说明
 9.2 sn75179应用实例
 9.2.1 器件基础
 9.2.2 应用实例设计分析
 9.2.3 应用实例的代码
 9.2.4 实例的仿真结果和说明
 9.3 max487应用实例
 9.3.1 器件基础
 9.3.2 应用实例设计分析
 9.3.3 应用实例的代码
 9.3.4 实例的仿真结果和说明
第10章 在proteus中设计atmega128的应用系统
 10.1 atmega128综合应用实例设计基础
 10.2 频率计应用实例
 10.2.1 频率计的需求分析和系统设计
 10.2.2 频率计的硬件设计
 10.2.3 频率计的软件设计
 10.2.4 proteus中的虚拟信号发生器
 10.2.5 实例的仿真结果和总结
 10.3 简易数字时钟应用实例
 10.3.1 简易数字时钟的需求分析和系统设计
 10.3.2 简易数字时钟的硬件设计
 10.3.3 简易数字时钟的软件设计
 10.3.4 实例的仿真结果和总结
 10.4 可控自校准数字电源应用实例
 10.4.1 可控自校准数字电源的需求分析和系统设计
 10.4.2 可控自校准数字电源的硬件设计
 10.4.3 可控自校准数字电源的软件设计
 10.4.4 实例的仿真结果和总结
 10.5 仓库自动通风控制系统应用实例
 10.5.1 仓库自动通风控制系统的需求分析和系统设计
 10.5.2 仓库自动通风控制系统的硬件设计
 10.5.3 仓库自动通风控制系统的软件设计
 10.5.4 实例的仿真结果和总结

编辑推荐

《案例解说单片机C语言开发:基于AVR+Proteus仿真》包含丰富的单片机内部资源和外围模块的应用实例,并且都基于Proteus仿真,简单直观,适合具有初步单片机基础的单片机工程师进阶学习,以及高等院校电子类专业的学生和单片机爱好者阅读,也可以作为工程设计人员的参考手册。

章节摘录

版权页:   插图:   可以通过修改ATmega128的ADMUX寄存器中MUX4~MUXO位来选择A/D采样的输入通道,在进行选择时需要遵循以下原则: •当ADC工作于单次转换模式时,总是在启动转换之前选定通道,在ADSC被置位后的第一个ADC时钟周期就可以选择新的模拟输入通道了,但是最简单的办法是等待转换结束后再改变通道。 •当ADC工作于连续转换模式时,总是在第一次转换开始之前选定通道,在ADSC被置位后的第一个ADC时钟周期就可以选择新的模拟输入通道了,但是最简单的办法是等待转换结束后再改变通道。但是此时新一次转换已经自动开始了,下一次的转换结果反映的是以前选定的模拟输入通道,以后的转换结果才是新通道的。 •当ADC切换到差分增益通道时,由于自动偏移抵消电路需要沉积时间,第一次转换结果准确率很低,最好舍弃第一次转换结果。 5.ND模块的基准电压源选择 ADC模块的基准电压源(VREF)是A/D转换的一个参考源,若单端通道电平超过VREF,其结果将无限接近Ox3FF,ATmega128的VREF可以来自AVCC、内部2.56V基准或外加在AREF引脚上的电压。 ATmega128的AVCC引脚通过一个无源开关与A/D模块连接,而片内的2.56V参考电压则由能隙基准源(VBG)通过内部放大器产生。无论使用何种基准源,AREF都直接与A/D模块相连,通过在AREF与地之间外加电容可以提高参考电压的抗噪性。VREF可以通过高输入内阻的伏特表在AREF引脚测得,由于VREF的阻抗很高,因此,只能连接容性负载。 如果在AREF引脚上加上一个固定电压,ATmega128则不能选择其他的基准源,因为这会导致片内基准源与外部参考源的短路,如果AREF引脚上没有连接任何外部参考源,用户可以选择AVCC或2.56V作为基准源。 6.A/D模块的差分增益通道 当ATmega128使用差分增益通道时则需要考虑转换的确定特征,因为在进行差分转换时,A/D模块与内部时钟CKADC2同步,该时钟的频率为ADC时钟频率的1/2,其同步是由A/D模块在CKADC2边沿出现采样与保持时自动实现的。当CKADC2为低时,通过启动转换(包括单次转换与第一次连续转换)将与单端转换使用的时间相同,即预分频后的13个ADC时钟周期;当CKADC2为高时,由于同步机制,将会使用14个ADC时钟周期。在连续转换工作模式下,一次ADC转换结束后立即启动新的转换,由于CKADC2此时为高,所有的除第一次外的自动启动将使用14个ADC时钟周期。 在所有的增益设置中,当带宽为4kHz时增益级最优,更高的频率可能会造成非线性放大。当输入信号包含高于增益级带宽的频率时,应在输入前加入低通滤波器。需要注意的是,ADC时钟频率不受增益级带宽限制,例如,不管通道带宽是多少,ADC的时钟周期均为6μs,允许通道采样率为12kSPS。 如果使用差分增益通道且通过自动触发启动转换,在转换时ADC必须关闭,当使用自动触发时,ADC预分频器在转换启动前复位。由于在转换前的增益级依靠稳定的ADC时钟,该转换无效。在每次转换(对寄存器ADCSRA的ADEN位清零后立刻置“1”),通过禁用然后重使能ADC,只执行扩展转换,扩展转换结果有效。

图书封面


 案例解说单片机C语言开发下载



发布书评

 
 


精彩短评 (总计1条)

  •     这本书实用性极强,在介绍iccavr语言编程环境的同时,也注重培养搭建电路的能力,对当前流行的proteus的应用也做了比较详细的讲解。
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024