M68HC08系列单片机原理与应用-嵌入式系统初步 作者: 张友德 涂时亮 陈章龙 出版社:复旦大学出版社 出版日期:2001 年9月 本书首先阐明嵌入式系统的一般结构以及与单片机的关系。重点以新型的M68HC08 系统单片机为主线,系统地论述了当今当性能单片机的系统结构,芯片内部常用的功能模块等内容。 第一章 嵌入式系统与单片机 §1.1 嵌入式系统. §1.2 单片机的内部结构 §1.3 典型的单片机产品 §1.4 m68hc朋系列单片机产品简介 §1.5 单片机的应用——简易的嵌入式系统 第二章 m68h008系列单片机系统结构 §2.1 总体结构 §2.2 中央处理器cpu08 §2.3 存储空间分配 §2.4 时钟发生器模块ccn §2.5 复位 §2.6 中断系统 §2.7 m68hc08的其他功能模块 第二章习题和思考题 第三章 m68h008指令系统 §3.1 指令格式 §3.2 寻址方式 §3.3 m68hc08指令系统 ......
上传时间: 2013-10-11
上传用户:baitouyu
首次介绍EPSON公司EOC88系列8位单片机的技术书籍。全书对近十种单片机的多功能接口、应用及其开发技术作了系统及详细地阐述:包括CPU及其指令、工作方式与存储器扩展,各类定时/计数器,声音发生器,LCD驱动控制器,串行口及红外收发控制器,触摸屏控制器,A/D、D/A转换器,SVD电路及其操作流程;在应用中介绍了交通管理IC卡读写器、电子门锁及高档股票机等;最后对EOC88系列单片机的开发工具与开发技术作了详细地描述。<br>本书可作为大专院校有关专业师生的教学参考,也是从事单片机应用与开发的广大工程技术人员必备的参考资料。 第一章EOC88系列单片机CPU结构及其指令系统 1.1单片机概述 1.2EOC88系列单片机CPU结构 1.2.1运算器与寄存器结构 1.2.2CPU工作方式单片机工作方式 1.3单片机的存储器结构 1.3.1程序存储器 1.3.2数据存储器 1.3.3存储器映象I/O寻址 1.4CPU操作及其时序 1.4.1时序发生器与总线控制 1.4.2单片机的操作时序 1.5总线方式及其扩展 1.5.1总线方式 1.5.2单片机总线扩展 1.5.3系统控制与总线控制 1.6单片机指令系统 1.6.1单片机寻址方式 1.6.2指令格式 1.6.3指令系统 第二章EOC88系列单征机制接口技术 2.1电源 2.2初始化复位 2.3接口电路及其操作 2.3.1系统控制器与总线控制 2.3.2振荡电路及其操作 2.3.3监测定时器 2.3.4输入口 2.3.5输出口 2.3.6I/O口 2.3.7串行口 2.3.8红外通讯接口 2.3.9时钟计时器 2.3.10秒表计时器 2.3.11可编程定时/计数器 2.3.12LCD驱动器与控制器 2.3.13声音发生器 2.3.14模拟比较器 2.3.15模拟比较器 2.3.16A/D转换器 2.3.17D/A转换器 2.3.18电源电压检测电路 2.3.19中断系统 第三章应用 3.1电子门锁 3.1.1电子门锁 3.1.2EOC88104单片机的控制信号 3.1.3程序流程 3.2手持式"交通卡"读写器 3.2.1结构 3.2.2操作流程与编程注意事项 3.3高档股票信息机 3.3.1性能 3.3.2EOC88系列单片机开发系统组成及开发过程 第四章系统组成概述 4.1系统组成概述 4.2主计算机位置 4.3硬件开发工具概述 4.3.1内电路仿真器 4.3.2外围电路板 4.3.3内电路仿真器操作软件在Windows上的安装 4.4软件开发工具 4.4.1EOC88系列"结构汇编器"软件包 4.4.2EOC88XXX开发工具软件包 4.5开发过程概述 4.6汇编语言源文件的编制 4.6.1EOC88系列单片机 4.6.2伪指令 4.6.3宏指令 4.6.4条件汇编 4.6.5输出表格控制 4.7各软件工具在开发过程中的使用 4.7.1结构预处理器 4.7.2交叉汇编器 4.7.3连接器 4.7.4连接命令参数文件的生成 4.7.5二进制/十六进制转换器 4.7.6符号信息生成器 4.7.7符号表文件生成器 4.7.8程序未使用区填充器 4.7.9功能选择生成器 4.7.10掩模数据检查器 4.7.11批处理文件 4.8仿真调试 4.8.1调试功能概述 4.8.2开发系统仿真调试命令 4.8.3开发系统仿真调试操作 4.8.4开发系统运行注意事项
上传时间: 2013-10-24
上传用户:凤临西北
《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
附件为:LCD12864显示汉字和数字的程序与电路 /* 自定义延时子函数 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判断LCD忙信号状态 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD写指令函数 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD写数据函数 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD选屏函数 */ void select_screen(uchar screen) { switch(screen) { case 0: //选择全屏 CS1=0; CS2=0; break; case 1: //选择左屏 CS1=0; CS2=1; break; case 2: //选择右屏 CS1=1; CS2=0; break; /* case 3: //选择右屏 CS1=1; CS2=1; break; */ } } /* LCDx向上滚屏显示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函数:清屏从第一页的第一列开始,总共8页,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-选择全屏,1-选择左半屏,2-选择右半屏 for(x=0xb8;x<0xc0;x++) //从0xb8-0xbf,共8页 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD显示汉字字库函数 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-3,mun:显示第几个汉字的参数 int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD显示字符字库函数 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD显示数字字库函数 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:选择屏幕参数,page:选择页参数0-3,col:选择列参数0-7,mun:显示第几个汉字的参数 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函数 */ void lcd_init() { w_com(0x3f); //LCD开显示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD页初始地址,共8页 w_com(0x40); //LCD列初始地址,共64列 } /* LCD显示主函数 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD显示数字 lcd_display_shuzi(1,0,5,1); //LCD显示数字 lcd_display_hanzi(1,0,3,0); //LCD显示汉字 lcd_display_hanzi(2,0,0,1); //LCD显示汉字 //LCD字符汉字 lcd_display_hanzi(2,0,1,2); //LCD显示汉字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD显示字符 lcd_display_zifuk(1,1,3,0); //LCD显示字符 lcd_display_zifuk(1,1,4,0); //LCD显示字符 lcd_display_zifuk(1,1,5,4); //LCD显示字符 lcd_display_shuzi(1,1,6,8); //LCD显示字符 lcd_display_shuzi(1,1,7,9); //LCD显示字符 lcd_display_shuzi(2,1,0,5); //LCD显示字符 lcd_display_shuzi(2,1,1,1); //LCD显示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD显示汉字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD显示汉字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD显示汉字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滚屏显示 lcd_rol(); } */ }
上传时间: 2013-11-08
上传用户:aeiouetla
#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
在16MHZ频率下速度为16MIPS的8位RISC结构单片机,内含硬件乘法器。 支持JTAG端口仿真和编程,仿真效果比传统仿真同更真实有效。 8通道10位AD转换器,支持单端和双端差分信号输入,内带增益可编程运算放大器。 16K字节的FLASH存贮器,支持ISP、IAP编程,使系统开发、生产、维护更容易。 多达1K字节的SRAM,32个通用寄存器,三个数据指针,使用C语言编程更容易。 512字节的EEPROM存贮器,可以在系统掉电时保存您的重要数据。 多达20个中断源,每个中断有独立的中断向量入口地址。 2个8位定时/计数器,1个16位定时/计数器,带捕捉、比较功能,有四个通道的PWM。 硬件USART、SPI和基于字节处理的I2C接口。 杰出的电气性能,超强的抗干扰能力。每个IO口可负载40mA的电流,总电流不超过200mA。 可选片内/片外RC振荡、石英/陶瓷晶振、外部时钟,更具备实时时钟(RTC)功能;片内RC振荡可达8MHZ,频率可校调到1%精度;片外晶振振荡幅度可调,以改善EMI性能。 内置模拟量比较器。 可以用熔丝开启、带独立振荡器的看门狗,看门狗溢出时间分8级可调。 内置上电复位电路和可编程低电压检测(BOD)复位电路。 六种睡眠模式,给你更低的功耗和更灵活的选择。 ATMEGA16L工作电压2.7V-5.5V,工作频率0-8MHZ;ATMEGA16工作电压4.5-5.5V,工作频率0-16MHZ。 32个IO口,DIP40、TQFP44封装。 与其它8位单片机相比,有更高的程序安全性,保护您的知识产权。
上传时间: 2013-11-22
上传用户:wcl168881111111
1. 型号紧跟的字母,表示电压工作范围。带“V”:1.8-5.5V;若缺省,不带“V”:2.7-5.5V。 例:ATmega48-20AU,不带“V”表示工作电压为2.7-5.5V。 2. 后缀的数字部分,表示支持的最高系统时钟。 例:ATmega48-20AU,“20”表示可支持最高为20MHZ的系统时钟。 3. 后缀第一(第二)个字母,表示封装。“P”:DIP封装,“A”:TQFP封装,“M”:MLF封装。 例:ATmega48-20AU,“A”表示TQFP封装。 4. 后缀最后一个字母,表示应用级别。“C”:商业级,“I”:工业级(有铅)、“U”工业级(无铅)。 例:ATmega48-20AU,“U”表示无铅工业级。ATmega48-20AI,“I”表示有铅工业级。
上传时间: 2013-11-11
上传用户:jokey075
概述 BL35P02R是一款低功耗8位OTP型微控制器单元(MCU),并带有内置高精度振荡器,及一个可直接驱动红外发射管的遥控码输出口,适用于各类家电(如电视、VCD机等)的红外遥控器。 主要特点 8位CISC结构CPU(MotorolaHC05兼容)最多可支持16个通用IO口和1个输入口1个8位定时/计数器9路键盘中断(KBI)1路遥控码输出口(IROUT),8种载波频率可选(1/3占空比),驱动能力强(>300mA)外接晶振325K-8MHz/内置RC振荡4MHz(偏差≤5%,0-40℃,2.0-3.6V工作电压范围内)低功耗设计(待机功耗<1uA@3V)32byteRAM(含堆栈)2K*8bitOTPROMOTP数据加密功能工作电压2.0-5.5V封装形式:SOP20(300mil)/SOP18(300mil)/SOP16(150mil)
上传时间: 2013-10-12
上传用户:z240529971
概述 BL22P02是一款低功耗8位OTP型微控制器单元(MCU),适用于各类小家电控制。 主要特点 8位CISC结构CPU(Motorola HC05兼容)17个通用IO口8位实时定时器/计数器,其信号源和触发沿可由软件设定,可设置溢出中断7路键盘中断(KBI)2路外中断(INT)振荡模式晶振:32K晶振:432K-8MHz内部RC:2MHz@5V、4MHz@5V、6MHz@5V外接电阻低功耗设计(静态功耗<1uA@5V)内部自振式看门狗计数器(WDT)64byteRAM2K*8bitOTPROM串行烧写接口电路程序加密功能工作电压2.0-5.5V@(432K-4M)2.7-5.5V@(432K-8M)封装形式:DIP20、SOP20、DIP18、SOP18、DIP16、SOP16、DIP14、SOP14、DIP8、SOP8
上传时间: 2013-10-15
上传用户:佳期如梦
概述 BL35P02是一款低功耗8位OTP型微控制器单元(MCU),适用于各类家电(如电视、VCD机等)的红外遥控器。 主要特点 8位CISC结构CPU(MotorolaHC05兼容)15个通用IO口1个8位定时/计数器9路键盘中断(KBI)1路遥控码输出口(IROUT),8种载波频率可选(1/3占空比)外接晶振325K-8MHz低功耗设计(待机功耗<1uA@3V)32byteRAM(含堆栈)2K*8bitOTPROMOTP数据加密功能工作电压2.0-5.5V封装形式:SOP20(300mil)/SSOP20(200mil)/SOP16(150mil)
上传时间: 2013-11-06
上传用户:894448095