① 单片机中,比如51单片机有五个中断源,两个外部中断源,两个定时器中断源,一个串口中断。它们都在什么情
MCS-51单片机中断系统的结构:
5个中断源的符号、名称及产生的条件如下。
INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。
INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。
T0:定时器/计数器0中断,由T0计满回零引起。
T1:定时器/计数器l中断,由T1计满回零引起。
TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。
整个中断系统的结构框图见下图一所示。
<51单片机中断系统结构>
如图所示,由与中断有关的特殊功能寄存器、中断入口、次序查询逻辑电路等组成,包括5个中断请求源,4个用于中断控制的寄存器IE、IP、ECON和SCON来控制中断类弄、中断的开、关和各种中断源的优先级确定。
教你详细认识!看看网址吧!
② 单片机pm.0端口是哪
单片机pm.0端口是1. 所示的器件组成: 图2.1 MCS-51 单片机结构框图 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理 器
2. MCS-51 单片机引脚功能 MCS-51 是标准的 40 。
③ 8051单片机简介
8051单片机 - 基本结构
51 单片机最初是由Intel 公司开发设计的,但后来Intel 公司把51 核的设计方案卖给了几家大的电子设计生产商,譬如 SST、Philip、Atmel 等大公司。如是市面上出现了各式各样的但均以51 为内核的单片机,倒是Intel 公司自己的单片机却显得逊色了。这些各大电子生产商推出的单片机都兼容51 指令、并在51 的基础上扩展一些功能而内部结构是与51 一致的。
8051单片机 - 结构框图
PC 机的CPU 是基于冯诺伊曼的体系结构,然而MCU(单片机)、Dsp(数字信号处理器)都是基于哈佛结构的体系结构。哈佛结构与冯诺伊曼结构有很大的不同,在冯诺伊曼体系结构下只有一个地址空间,ROM 和RAM 可以随意安排在这一地址范围内的不同空间,即ROM 和RAM 地址统一分配。CPU 访问存储器时,一个地址对应唯一的存储单元,可能是ROM,也可能是RAM。而哈佛结构下ROM 和RAM 是分开编址,即程序和数据分开保存,访问时用不同的指令加以区分,并可同时访问,在这样的体系结构下有利于提高指令的执行速度。在后面的章节我们将详细介绍单片机的存储器配置。
图2-1 所示为MCS-51 系列单片机的基本结构框图。
从结构框图我们可以看出在这一小块芯片上,集成了一个微型计算机的各个组成部分。这些部分包括:
(1) 一个8 位的微处理器(CPU)。
(2) 片内数据存储器RAM(128B/256B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供1K 的RAM。
(3) 片内程序存储器ROM/EPROM(4KB/8KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和ROM 都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了16K、32K、64K Flash 存储器,可供用户根据需要选用,读者可查看书的后面部分。
(4) 四个8 位并行I/O 接口P0~P3,每个口既可以用作输入,也可以用作输出。
(5) 两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计数器。
(6) 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断源,例如SST89E58RD 就有9 个中断源。
(7) 一个全双工UART(通用异步接收发送器)的串行I/O 口,用于实现单片机之间或单机与微机之间的串行通信。
(8) 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。
以上各个部分通过内部数据总线相互连接。
8051 单片机内部结构如图2-2 所示。一个完整的计算机应该由运算器、控制器、存储器(ROM 及RAM)、数据总线和I/O 接口组成。一般微处理器(如8086)就只包括运算器和控制器两部分。和一般微处理器相比,8051 增加了四个8 位I/O 口、一个串行口、4KB ROM、128BRAM、很多工作寄存器及特殊功能寄存器(SFR),所以单片机具有比微处理器更强大的控制功能,单片机是专为进行控制设计的,而常见的微处理器是用于运算功能的,下图各部分的功能描述。
④ 51单片机的硬件结构
本文主要讲解51单片机的硬件结构,而且只介绍重点知识。
由上图可以看出,51单片机组成结构包括以下几个部分:
时序信号:一类用于片内各功能的部件的控制,另一类用于片外存储器或IO端口的控制(这个对用户来说是比较重要的,在定时器部分会讲)
通过修改PSW中的RS1、RS0两位的状态,就能任选一个工作寄存器区。这个特点提高了MCS-51现场保护和现场恢复的速度。对于提高CPU的工作效率和响应中断的速度是很有利的。若在一个实际的应用系统中,不需要四组工作寄存器,那么这个区域中多余单元可以作为一般的数据缓冲器使用。
按存储结构可分为二类:一类是哈佛结构,另一类是普林斯顿结构。
①哈佛结构
哈佛结构是程序存储器地址空间与数据存储器地址空间分开的单片机结构,如80C51单片机采用哈佛结构,所以80C51单片机的程序存储器地址空间与数据存储器地址空间是分开的,各有64K存储空间。
②普林斯顿结构
普林斯顿结构是程序存储器地址空间与数据存储器地址空间合并的单片机结构,如MCS-96单片机采用普林斯顿结构,所以MCS-96单片机的程序存储器地址空间与数据存储器地址空间是合并的,共有64K存储空间。
P3口还有第二功能,表如下:
若TI 或 RI 被置位,必须用软件清零,硬件不能将其清零。
在不设置IP优先级寄存器的话,单片机内部会按这个默认顺序优先级去响应各个中断。
上电复位后除端口锁存器,堆栈指针,SBUF外,单片机内部的复位电路向所有的特殊功能寄存器写入00H。SBUF的值是不能确定的。
复位还使ALE和PSEN信号变为无效(高电平),而内部RAM不受影响。但由于VCC上电复位后,RAM内容不定,除非是退回低功耗方式的复位。
⑤ 51单片机烧录串口打开时瞬间跳转
@ 无条件转移指令(共4条)
LJMP addr16 ; PC〈—— addr16
AJMP addr11 ; PC〈—— PC+2 , PC10-0〈—— addr11
SJMP rel ; PC〈—— PC+2 , PC 〈—— PC+rel
JMP @A+DPTR ; PC〈—— A+DPTR
第一条指令称为长转移指令(Long Jump);
第二条指令叫作绝对转移指令(Absolute Jump);
第三条指令称作短转移指令(Short Jump);
第四条指令是变址寻址转移指令(散转指令)。
显然,每条指令均以改变程序计数器PC(Program Counter)中的内容为宗旨。
#(1)长转移指令(64KB范围内转移指令)
长转移指令的功能是:把指令码中的目标地址addr16装入程序计数器PC,使机器执行下一条指令时无条件转移到addr16处执行程序,不影响任何标志。由于addr16是一个16位二进制地址(地址范围为0000H—FFFFH),因此长转移指令一条可以在64KB范围内转移的指令。为了使程序设计方便易编,addr16常采用标号地址(如:LOOP、LOOP1、MAIN、START、DONE、NEXT1……)表示,只有在上机执行前才被汇编(或代真)为16位二进制地址。
长转移指令为三字节,双周期指令。
#(2)绝对转移指令(2KB范围内的转移指令)
绝对转移指令是一条双字节双周期指令,11位地址addr11(a10—a0)在指令中的分布是:
a10 a9 a8 0 0 0 1|a7 a6 a5 a4 a3 a2 a1 a0,其中,00001B是操作码。在程序设计中,11位地址也可以用符号表示,但在上机执行前必须按照上述指令格式加以代真。
绝对转移指令执行时分为两步:
第一步是取指令操作,程序计数器PC中内容被加1两次;
第二步是把PC加2后的高5为地址PC15—PC11和指令代码中低11位构成目标转移地址:PC15—PC11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
其中,a10—a0的地址范围是全“0”——全“1”。因此,绝对转移指令可以在2KB范围内向前或向后跳转。
如果把单片机64KB寻址区分成32页(每页2KB),则PC15—PC11(00000B—11111B)称为页面地址(即:0页—31页),a10—a0称为页内地址,但应注意:AJMP指令的目标转移地址不是和AJMP指令地址在同一个2KB区域,而是应和AJMP指令取出后的PC地址(即:PC+2)在同一个2KB区域。例如:若AJMP指令地址为2FFEH,则PC+2=3000H,故目标转移地址必在3000H—37FFH这2KB区域中。
#(3)短转移指令(-126—+129范围内的转移指令)
短转移指令的功能是先使程序计数器PC加1两次(即:取出指令码),然后把加2后的地址和rel相加作为目标转移地址。因此,短转移指令是一条相对转移指令,是一条双字节双周期指令,指令码格式为:80H rel(操作码 地址偏移量),这里,80H是SJMP指令的操作码;rel是地址偏移量,在程序中也常采用符号地址,上机运行前才被代真成二进制形式。
遇到具体问题时,头脑中一定要清楚一个关系式:目标转移地址=源地址+2+rel
#(4)变址寻址转移指令(只能在256个存储器单元内转移)
这是一条单字节双周期无条件转移指令。
在指令执行之前,用户应预先把目标转移地址的基地址送入DPTR,目标转移地址对基地址的偏移量放在累加器A中。在指令执行时,MCS-51单片机把DPTR中基地址和累加器A中地址偏移量相加,以形成目标转移地址送入程序计数器PC中。
通常,DPTR中基地址是一个确定的值,常常是一张转移指令表的起始地址,累加器A中之值为表的偏移量地址,机器通过变址寻址转移指令便可实现程序的分支转移
原文链接:https://..com/question/391202121358751485.html
打开CSDN,阅读体验更佳
51单片机汇编语言指令汇总_C.L.R的博客_51汇编
一、数据传送类指令 1.以累加器为目的操作数指令 MOV A,Rn MOV A,@Ri MOV A,direct MOV A,#data 2.以Rn为目的操作数的指令 MOV Rn,A MOV Rn,direct MOV Rn,#data 3.以直接地址为目的操作数指令 MOV direct,A MOV direc...
51单片机汇编入门基础代码-流水灯_TC肖的博客
2、跳转指令 1.短转移类指令AJMP addr11 2.长转移类指令LJMP addr16 3.相对转移指令SJMP rel 它们都用于指令跳转,从当前位置跳转到后面的地址位(一般为自己拟了名字的地址如DELAY:)。(它们的差别在于跳转的范围:LJMP一下能跳64Kb。...
单片机跳转指令学习
基于pic16f87x单片机的跳转指令学习
51单片机的汇编语言
51单片机的汇编语言操作指令总结 1.指令格式 【标号:】操作码 目的操作数 ,源操作数;注释 如:LOOP:MOV A, 33H;将33H输入到累加器A中 2.ORG xxxxH命令 是指向程序不同功能固定入口,如: 0000H----系统复位入口 0013H—外中断1入口 0003H—外部中断0入口 001BH—T1溢出中断入口 000BH—T0溢出中断入口 0023H串口中断入口 3.控制转移类指令 (1)无条件转移指令—执行到该指令时无条件跳转 LJMP长转移指令:三字节指令提供16位目
继续访问
51单片机指令详解_凌烟慕鱼的博客
51单片机指令详解 数据传递类指令 1 以累加器为目的操作数的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一条指令中,Rn代表的是R0-R7。第二条指令中,direct就是指的直接地址,而第三条指令中,就是我们刚才讲过的...
第3 章 MCS-51 单片机指令系统_杨丙寅的博客
寻址方式——计算机指令中说明操作数所在地址的方法。MCS-51 单片机的指令系统有 7 种寻址方式,分别为立即寻址、直接寻址、寄存器寻址、 寄存器间接寻址、基址加变址寻址、相对寻址和位寻址。
编程 ul 不能一行显示 跳到下行_数控编程代码及其使用方法—“UG编程”
G代码代码名称-功能简述G00------快速定位G01------直线插补G02------顺时针方向圆弧插补G03------逆时针方向圆弧插补G04------定时暂停G05------通过中间点圆弧插补G07------Z 样条曲线插补G08------进给加速G09------进给减速G20------子程序调用G22------半径尺寸编程方式G220-----系统操作界面上使用G2...
继续访问
最新发布 51的指令系统
51单片机共有111条指令。可以大致分为以下五类: (1)数据传送类(29条) (2)算术操作类(24条) (3)逻辑运算类(25条) (4)控制转移类(17条) (5)位操作类(17条) 可用的指令是固定的、每种指令对应一个物理电路的实际运行过程,如果指令是指令集中不存在的,电路内部无法实现,指令就会出错。 数据传送类指令 一般形式为 MOV <目的操作数> , <源操作数> 操作码包括MOV、MOVC、MOVX、PUSH、POP、XCH、XCHD、SWAP。 (1)首先是MOV
继续访问
51单片机原理及汇编教程(二)之汇编常用指令数,数据传输指令及寻址方式...
1、MOV指令 ① MOV R0 , #20H #后面是立即数,要和地址区分开,20H是一个16进制的数。这句话的意思是将20H这个数送入寄存器R0中。直接寻址 ② MOV 30H , @R0 R0里面放的数,以这个数位地址,将这个地址里面的数...
51单片机学习__X2的博客
51单片机指令集 *51指令不区分大小写 1个机器周期=12个时钟振荡周期 只有乘除两条指令的执行时间为4个机器周期 指令由两部分组成:操作码+操作数 指令系统的寻址方式 共7种寻址方式 寄存器寻址方式 ...
条件跳转指令总结
指令 全称 cmp a,b flag条件 jz/je jump if zero/equal a=b ZF=1 jnz/jne jump if not zero/equal a!=b ZF=0 jb/jnae/jc jump if below/not above or equal/carry a<b,无符号数 CF=1 ja/jnbe jump if above/not below or equal a>b,无符号数 jna/jbe jump if not ab...
继续访问
条件跳转指令
条件跳转指令 指令 条件 指令 条件 ja CF=0 AND ZF=0 jnc CF=0 jab CF=0 jne ZF=0 jb CF=1 jng ZF=1 OR SF!=OF jbe CF=1 OR ZF=1 jnge SF=OS jc CF=1 jnl SF=OF jcxz CX=0 jn
继续访问
单片机c语言有没有跳转指令,51单片机跳转指令
@ 无条件转移指令(共4条)LJMP addr16 ; PC〈—— addr16AJMP addr11 ; PC〈—— PC+2 , PC10-0〈—— addr11SJMP rel ; PC〈—— PC+2 , PC 〈—— PC+relJMP @A+DPTR ; PC〈—— A+DPTR第一条指令称为长转移指令(Long Jump);第二条指令叫作绝对转移指令(Absolute...
继续访问
51单片机汇编指令
注: Rn与Ri中n=0 ~ 7,i=0 ~ 1 内部数据传送指令 助记符 作用 寻址方式 机器周期 字节数 MOV A,Rn 将Rn的内容传送给A 寄存器 1 1 MOV A,direct direct是一个地址单元,将该地址的内容传送给A 直接 1 2 MOV A @Ri Ri中存储了一个地址,将该地址的内容传送给A 寄存器间接 1 1 MOV A #data 将data传送到A 立即数 1 2 ...
继续访问
汇编指令长度计算
指令长度与寻址方式有关系,规律或原则如下: 一、没有操作数的指令,指令长度为1字节。如 es: ds: cbw xlat 等。 二、操作数只涉及寄存器的指令,指令长度为2字节。如 mov al,[si] mov ax,[bx+si] mov ds,ax 等。 三、操作数涉及内存地址的指令,指令长度为3字节。如 mov al,[bx+1] mov ax,[bx+si+3] lea di,[1234] mov [2345],ax 等。 四、操作数涉及立即数的指令,指令长度为:寄存器类型+2。 8位寄存器,寄存器
继续访问
C51单片机汇编程序问题解决:
C51汇编程序出错解决最近开始学习了一点汇编语言,刚好应课程要求,就来编一些简单的C51程序,结果在定时器中断跳转的时候出错了,错误截图如下:demo.asm(8): error A51: TARGET OUT OF RANGE源程序代码块是报错在CJNE指令这里ORG 000BH INC R1 CJNE R1,#4000,MAINLOOP
继续访问
单片机iap跳转(超详细教程,简单好学,看了秒懂)
iap跳转的作用:使用boot作为app升级,通常使用串口ymodem协议进行更新app,boot一般是占用很小的flash 大约可以设置16kb,然后设置app的地址,设置相对的偏移地址后跳转到app ymodem协议:https://mp.csdn.net/mp_blog/creation/editor/122768524 几个注意的点: 1.关闭中断之后,进入app要开启中断 2.看门狗被开启之后,将永远不会被关闭,所以要做好喂狗的处理 3.一般存在设置向量表的函数,跳转之后要设置相关的向
继续访问
51单片机c语言访问外部rom,51单片机资源扩展:从片内ROM跳转到片外ROM
源于一年前想自己动手给51写个OS,编译选Large模式,调试时整个流程都跑的好好的,可是烧写到片上后得不到预期的效果,后来查书才知道51单片机片上只有4KRom,如果没有扩展片外Rom,当访问4K以外的程序空间,程序指针又会回到最开始执行。参考手册扩展片外Rom后,能访问达64K的程序空间。网上能搜索到的扩展方式都是将EA引脚接地,让MCU上电后从外部ROM开始执行。但查看芯片手册,明明说EA为...
继续访问
c语言的程序跳转,单片机中用c语言如何编写跳转程序
这个要用到软件的pwm,因为51的没有硬件的pwm所以只好自己写软件的了。首先,要做一个软件三角波发生器子程序,频率自己定,就是变亮变暗的周期。此函数的返回值作为pwm的输入值。再做一个pwm的模拟程序,占空比(0-100)是三角波发生器的输出,pwm模拟程序控制某个端口输出1和0的占空比来控制灯 的明暗。pwm的思路是:检查设置值是否不等于0,是则端口置1,程序开始加1计数,计数后检查计数值是否...
继续访问
C51 main 函数学习以及函数跳转
1.C51main函数深入学习,有如下代码: #include "reg52.h" /************* 本地变量声明 **************/ typedef void (*pFunction)(void); pFunction Jump_To_Application; unsigned int JumpAddress; unsigned int a=0; char i; v
继续访问
热门推荐 51单片机之控制转移指令SJMP、LJMP等
文章目录前言一、无条件转移指令LJMP addr16AJMP addr11SJMP relJMP @A + DPTR关于SJMP、AJMP、LJMP的选择二、条件转移指令JZ rel 前言 控制指令是将程序跳转到某个指定的地址,在顺序执行 控制指令是通过修改PC的内容来实现跳转的功能 PC的内容是将要执行的下一跳指令的地址 一、无条件转移指令 LJMP英文全称:Absolute Jump AJ...
继续访问
8051单片机原理学习
8051单片机原理学习单片机结构框图参考 单片机结构框图 51单片机的结构框图如下所示 51单片机主要组成部件有: 8bit微处理器(CPU): 主要进行算术运行和逻辑控制 片内4KB程序存储器(4KB ROM): 用以可执行程序,只读数据和表格 片内256B数据存储器(256B RAM): 用于存放可读写数据,如算术运行的中间值和最终值等 4个8位并行I/O口(输入/输出口) P0 ~ P3: 每个并口可以用作输入,也可以用作输出 2个定时/计数器:每个定时/计数器可以设置为计数方式,也可以设置为定时
继续访问
c51语言主函数,C51 main 函数学习以及函数跳转
C51main函数深入学习,有如下代码:#include "reg52.h"/*************本地变量声明**************/typedefvoid (*pFunction)(void);pFunctionJump_To_Application;unsigned int JumpAddress;unsigned int a=0;char i;void test(){while(...
继续访问
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等...
跳转指令分三类: 一、无条件跳转: JMP; 二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转); 三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了. 根据标志位跳转的指令: JE ;等于则跳转 JNE ;不等于则跳转 JZ ;为 0 则跳转 JNZ ;不为 0 则跳转 JS...
继续访问
汇编语言转换c51语言,51单片机汇编语言:控制转移指令有哪些?
跳转指令短跳指令 AJMP addr11PC←addr11,跳转范围2k长跳指令 LJMP addr16PC←addr16,跳转范围64k间接跳转指令 JMP @A+DPTRPC←(A)+(DPTR)相对转移指令 SJMP rel条件转移指令JZ rel ;(A)=0,转移JNZ rel ;(A)≠0,转移JC rel ;
⑥ 51单片机的结构组成
上图就是我们要研究学习的对象,51单片机摧部结构图了。大家看看上图,中间的一条双横线就是51单片机的内部总线了。其它的部件都是通过内部的总线与CPU相联接的,在第一节课时我们已跟大家讲述过,8051单片机是总线结构的。下面我们就51单片机内部的单个部件与大家进行讲解。
中央处理器(CPU):
刚跟大家讲过,需要提醒的是MCS-51的CPU能处理8位二进制数或代码。CPU是单片机的主要核心部件,在CPU里面包含了运算器、控制器以及若干寄存器等部件给成。
内部数据存储器(RAM):
MCS-51单片机芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00H~FFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。
内部程序存储器(ROM):
在前面也已讲过,MCS-51内部有4KB/8KB字节的ROM(51系列为4KB,51系列为8KB),用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部RAM。地址范围为0000H~FFFFH(64KB)。
定时器/计数器
51系列共有2个16位的定时器/计数器(52系列共有3个16位的定时器/计数器),以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。
并行I/O口
MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细论述。
串行口
MCS-51有一个可编程的全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD( P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。
中断控制系统
MCS-51单片机的中断功能较强,以满足不同控制应用的需要。51系列有5个中断源(52系列有6个中断源),即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别,优先级别的设置我们也将在后面进行详细的讲解。
定时与控制部件
MCS-51单片机内部有一个高增益的反相放大器,基输入端为XTAL1输出端为XTAL2。MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。
⑦ C51单片机串行接口的结构是怎样的
C51系列单片机内部有一个功能很强的全双工串行异步通信接口(UART)。如图所示为C51单片机的串行口结构框图。它主要由两个串行数据缓冲器(SBUF)、发送控制、发送端口、接收控制、接收端口和波特率控制等组成。
C51系列单片机串行接口结构框图
⑧ 51单片机C语言应用程序设计实例精讲的目录
第1章51单片机开发的基础知识
1.151单片机的硬件结构
1.1.1功能模块
1.1.2CPU
1.1.3并行I/O端口
1.1.4存储嚣结构
1.1.5定时/计数器
1.1.6串行口
1.1.7中断系统
1.251单片机的指令系统
1.2.1寻址方式
1.2.2指令说明
1.2.3指令系统表
1.3本章总结
第2章C语言程序各语句用法与意义
2.1数据结构
2.1.1数据类型
2.1.2变量与常量
2.1.3数组
2.1.4指针
2.1.5结构
2.1.6共用体
2.1.7枚举
2.2运算符与表达式
2.2.1运算符分类与优先级
2.2.2算术运算符与表达式
2.2.3关系运算符与表达式
2.2.4逻辑运算符与表达式
2.2.5位操作运算符与表达式
2.2.6赋值运算符与表达式
2.3程序结构与函数
2.3.1程序结构
2.3.2函数
2.4流程控制语句
2.4.1选择语句
2.4.2循环语句
2.4.3转移语句
2.5本章总结
第3章Keil8051C编译器
3.1Keil编译器简介
3.2使用Keil开发应用软件
3.2.1建立工程
3.2.2工程的设置
3.2.3编译与连接
3.3dScopeforWindows的使用
3.3.1如何启动
3.3.2如何调试
3.3.3调试窗口
3.4本章总结 第4章单片机实现液晶显示
4.1实例说明
4.2设计思路分析
4.2.1液晶显示模块
4.2.2液晶显示工作原理
4.2.3设计思路
4.3硬件电路设计
4.3.1器件选取
4.3.2电源模块
4.3.3液晶显示模块
4.3.4单片机模块
4.4软件设计
4.4.1液晶控制驱动嚣指令集
4.4.2程序说明
4.5实例总结
第5章基于MAX7219的8位数码管显示
5.1实例说明
5.2设计思路分析
5.2.1LED显示驱动芯片的选取
5.2.2MAX7219的工作原理
5.3硬件电路设计
5.3.1主要器件
5.3.2电路原理图
5.4软件设计
5.4.1MAX7219的工作时序和寄存器描述
5.4.2程序说明
5.5实例总结
第6章键盘输入实例——实现4x4键盘
6.1实例说明
6.2设计思路分析
6.3硬件电路设计
6.4软件设计
6.5实例总结
第7章单片机实现语音录放
7.1实例说明
7.2设计思路分析
7.2.1语音芯片选取
7.2.2语音芯片1SD2560简介
7.3硬件电路设计
7.3.1主要器件
7.3.2电路原理图及说明
7.4软件设计
7.4.1程序流程
7.4.2程序说明
7.5实例总结 第8章基于MAX197的并行A/D转换
8.1实例说明
8.2设计思路分析
8.2.1A/D转换原理
8.2.2如何选择A/D转换器件
8.2.3A/D转换器对电源电路的要求
8.3硬件电路设计
8.3.1主要器件
8.3.2电路原理图及说明
8.4软件设计
8.4.1MAX197控制字
8.4.2程序流程
8.4.3程序说明
8.5实例总结
第9章基于TLC549的串行A/D转换
9.1实例说明
9.2设计思路分析
9.2.1芯片选取
9.2.2工作原理
9.3硬件电路设计
9.3.1主要器件
9.3.2电路原理图及说明
9.4软件设计
9.4.1转换过程和时序要求
9.4.2程序流程
9.4.3程序说明
9.5实例总结
第10章基于MAX527的并行D/A转换
10.1实例说明
10.2设计思路分析
10.2.1D/A转换原理
10.2.2如何选择D/A转换器件
10.2.3D/A转换器对电源电路的要求
10.3硬件电路设计
10.3.1主要器件
10.3.2电路原理图及说明
10.4软件设计
10.4.1MAX527的地址和重要引脚
10.4.2程序流程
10.4.3程序说明
10.5实例总结
第11章基于MAX517的串行D/A转换
11.1实例说明
11.2设计思路分析
11.2.1芯片选取
11.2.2工作原理
11.3硬件电路设计
11.3.1主要器件
11.3.2电路原理图及说明
11.4软件设计
11.4.1时序要求和转换过程
11.4.2程序说明
11.5实例总结
第12章基于SHT71数字温/湿度传感器的采集实现
12.1实例说明
12.2设计思路分析
12.2.1SHT71性能概述
12.2.2SHT71的功能说明
12.2.3SHT71的引脚尺寸和说明
12.3硬件电路设计
12.4软件设计
12.4.1SHT71的操作方法
12.42程序流程
12.4.3源程序清单
12.5实例总结
第13章基于DS1624的数字温度计设计
13.1实例说明
13.1.2设计思路分析
13.2.1DS1624简介
13.2.2DS1624基本特性
13.2.3DS1624工作原理
13.2.4DS1624工作方式
13.2.5DS1624的指令集
13.3硬件电路设计
13.3.1硬件设计
13.3.2原理科及其说明
13.4软件设计
13.4.1程序流程
13.4.2程序说明
13.5实例总结 第14章基于DS12C887的实时日历时钟显示系统设计
14.1实例说明
14.2设计思路分析
14.2.1选择合适的日历时钟芯片7
14.2.2如何由DS12C887芯片获取时间信息
14.3硬件电路设计
14.3.1结构框图
14.3.2主要器件
14.3.3电路原理图及说明
14.4软件设计
14.4.1DS12C877的内存空间
14.4.2程序流程
14.4.3程序代码及说明
14.5实例总结
第15章单片机控制的步进电机系统
15.1实例说明
15.2设计思路分析
15.2.1步进电机的工作原理
15.2.2步进电机的控制
15.2.3脉冲分配与驱动芯片的选取
15.3硬件电路设计
15.3.1结构框图
15.3.2主要器件
15.3.3电路原理图厦说明
15.4软件设计
15.4.1程序流程
15.4.2程序说明
15.5实例总结
第16章基于MAX1898的智能充电器设计
16.1实例说明
16.2设计思路分析
16.2.1为何需要实现充电器的智能化
16.2.2如何选择电池充电芯片
16.2.3MAX1898的充电工作原理
16.3硬件电路设计
16.3.1主要器件
16.3.2电路原理图及说明
16.4软件设计
16.4.1程序流程
16.4.2程序说明
16.5实例总结 第17章基于NORFlashAM29LV320的数据存储
17.1实例说明
17.2设计思路分析
17.2.1芯片AM29LV320
17.2.2具体设计思路
17.3硬件电路设计
17.4软件设计
17.4.1AM29LV320的命令与状态
17.4.2串行异步数据传输
17.4.3程序代码说明
17.5实例总结
第18章基于XC95144的串口扩展
18.1实例说明
18.2设计思路分析
18.2.1串口发送的设计
18.2.2串口接收的设计
18.2.3串口模块的设计l
18.3硬件电路设计
18.4软件设计
18.4.1CPLD的设计原理图
18.4.2C51单片机程序代码说明
18.5实例总结
第19章基于8255扩展并行口
19.1实例说明
19.2设计思路分析
19.2.1并行口扩展的原理
19.2.2芯片选择
19.3硬件电路设计
19.4软件设计
19.5实例总结 第20章单片机实现智能信号发生器
第21章单片机实现步进式PWM信号输出
第22章单片机实现CRC算法
第23章单片机实现软件滤波
第七篇通信传输系统设计
第24章单片机实现点对点的数据传输
第25章单片机实现点对多点的数据传输
第26章单片机实现以太网接口
第27章单片机实现1C总线通信
第28章单片机实现RS-485总线现场监测系统
第29章CAN总线接口通信设计
第八篇电源监控与抗干扰设计
第30章单片机监控电路设计
第31章光电隔离电路设计 附录A汇编语言与C语言的混合编程
附录B实例配套实验箱