第8章51单片机外部串行总线扩展的C51编程
第8章 51单片机输入输出接口-单片机原理与应用及C51程序设计(第4版)-谢维成-清华大学出版社
第8章 51单片机输入输出接口及应用
该最小系统的特点如下: (1) 由于P0、P2在扩展程序存储器时作为地址线和数 据线,不能作为I/O线,因此,只有P1、P3作为用户I/O接 口使用。 (2) 片内数据存储器同样有128B,地址空间为00H~ 7FH,没有片外数据存储器。 (3) 内部无程序存储器,片外扩展了程序存储器,其地 址空间随芯片容量不同而不一样。图8.2中使用的是2764 芯片,容量为8KB,地址空间为0000H~1FFFH。由于片 内没有程序存储器,只能使用片外程序存储器,EA 只能接 低电平。 (4) 同样可以使用两个定时/计数器T0和T1,一个全双 工的串行通信接口,5个中断源。
2.另一端送相应的编码(字段码)
第8章 51单片机输入输出接口及应用
8段发光管控制端与字节的关系。
76543210 dp g f e d c b a
00 11 1111
3FH
0 00 0 0110
06H
0101 1011
5BH
第8章 51单片机输入输出接口及应用
显示字符 共阴极字 共阳极字 显示字符 共阴极字 共阳极字
最小配置系统。对于单片机内部资源已能满足 系统需要的,可直接采用最小系统。MCS-51单 片机根据片内有无程序存储器最小系统分两种 情况。
8.1.1 8051/8751的最小系统
第8章 51单片机输入输出接口及应用
XTAL1
P0
8
8751
8051 P1
8
XTAL2
P2
8
RESET
EA GNDP3
8
+5V
+5V V
第8章 51单片机输入输出接口及应用
该最小系统的特点如下: (1) 由于片外没有扩展存储器和外设,P0、P1、P2、P3都 可以作为用户I/O接口使用。 (2) 片内数据存储器有128B,地址空间为00H~7FH,没有 片外数据存储器。 (3) 内部有4KB的程序存储器,地址空间为0000H~0FFFH
单片机原理与接口技术(C51编程)(第2版)-习题答案汇总
1 / 29第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S51单片机工作频率上限为 MHz。
答:24MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用2 / 29C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对3 / 29第2章思考题及习题2参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2µs2. AT89S51单片机的机器周期等于个时钟振荡周期。
第八章89c51
四、C51的常量
整型常量 十进制整型常量:如250,-12 十六进制整型常量:以0x或0X开头 例:十进制的128,用十六进制表示为0x80, 字符型常量 如,'A','*'和'8'等都是合法的字符型常量。 C51还允许使用一些特殊的字符常量,这些字 符常量都是以反斜杠字符'\'开头的字符序列, 称为“转义字符”。
移位运算经典应用: 用“左移”8位分离出16位数的高8位。 用“与”0x00ff分离出16位数的低8位。 #include <reg51.h> #include <stdio.h> #include <intrins.h> void main (void) { unsigned int data x; //定义在内部RAM中的无符号16位整数 unsigned char data h,l; //定义内RAM中无符号8位字符(整数) h=x>>8; //取x的高8位 l=x&0x00ff; //取x的低8位 }
l
8.4 C51的编程规范
主要目的是方便阅读和理解 l 一、注释 l 1.采用中文; l 2.开始的注释: l 文件(模块)注释内容:
l
–
公司名称、版权、作者名称、修改时间、 模块功能、背景介绍等,复杂的算法需要加上 流程说明;
比如: /**************************************************/ 公司名称: 模 块 名:89C5X编程器 硬件型号:89C51 创 建 人:靳 桅 日期:2002−09−08 修 改 人:邬芝权 日期:2001−10−19 功能描述:对89C51、89C52、89C52编程 其他说明: 版 本:2.1 /**************************************************/
单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答
第8章思考题及习题8参考答案一、填空1、AT89S51的串行异步通信口为 (单工/半双工/全双工)。
答:全双工。
2。
串行通信波特率的单位是 .答:bit/s3。
AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。
答:fosc/125.AT89S51单片机的通讯接口有和两种型式。
在串行通讯中,发送时要把数据转换成数据。
接收时又需把数据转换成数据。
答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz。
答:11.05927.AT89S51单片机串行口的4种工作方式中,和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
9.在串行通信中,收发双方对波特率的设定应该是的。
答:相同的。
10.串行口工作方式1的波特率是。
答: 方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择。
A. 方式0B.方式1C. 方式2 D。
方式3答:A2. 控制串行口工作方式的寄存器是。
A.TCON B。
PCON C. TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义.对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的.对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。
错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定.对6. 串行口工作方式1的波特率是固定的,为fosc/32.错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。
单片机原理及应用与C51程序设计(第三版)第8章作业
单片机原理及应用与C51程序设计(第三版)第8章作业习题1. 什么是MCS-51单片机的最小系统?答:所谓最小系统,是指一个真正可用的单片机的最小配置系统。
对于单片机内部资源已能够满足系统需要的,可直接采用最小系统。
2. 简述半导体存储器的分类?答:半导体存储器按读写工作方式可分为两种:只读存储器ROM(Read Only Memory)和随机读写存储器RAM(Random Access Memory)。
只读存储器ROM 有MROM-掩膜型ROM, PROM-可编程ROM, EPROM-可擦除的PROM, E2PROM -电擦除的PROM, Flash Memory-快擦型存储器; 随机读写存储器RAM有静态RAM-SRAM, 动态RAM-DRAM, 非易失性RAM-NVRAM。
3. 简述存储器扩展的一般方法。
答:存储器芯片与单片机扩展连接具有共同的规律。
即不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。
另外,电源线接电源线,地线接地线。
4. 什么是部分译码法?什么是全译码法?它们各有什么特点?用于形成什么信号?答:部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。
部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。
全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。
这种译码方法中存储器芯片的地址空间是唯一确定的,但译码电路要相对复杂。
译码形成存储器芯片的片选信号线CE。
5. 采用部分译码为什么会出现地址重叠情况,它对存储器容量有何影响?答:部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。
参加译码的地址线对于选中某一存储器芯片有一个确定的状态,而与不参加译码的地址线无关。
也可以说,只要参加译码的地址线处于对某一存储器芯片的选中状态,不参加译码的地址线的任意状态都可以选中该芯片。
第8章作业-单片机原理与应用及C51程序设计(第4版)-谢维成-清华大学出版社
;查表取得段选码
3
MOV P0,A
;字段码从 P0 口输出
ACALL DL1
;调用 1ms 延时子程序
DEC R0
;指向缓冲区下一单元
MOV A,R3
;位选码送累加器 A
JNB ACC.0,LD1 ;判断 8 位是否显示完毕,显示完返回
RR A
;未显示完,把位选字变为下一位选字
MOV R3,A
;修改后的位选字送 R3
LOOP: MOV @R0,A
INC R0
INC A
DJNZ R2,LOOP
MOV TMOD , #10H
MOV TH1 , #(65536-20000)/256
MOV TL1 , #(65536-20000)%256
SETB EA
SETB ET1
SETB TR1
LOOP1作于方式 1 实现 20ms 周期性定时,20ms 定时到调用显示函数一 遍,定时器方式控制字为 10H,系统时钟为 12MHz,初值为:65536-20000
;设 8 个数码管的从左到右显示缓冲区为片内 RAM 的 50H~57H 单元)
ORG 0000H LJMP MAIN
2
工作过程可分为两步:第一步是 CPU 首先检测键盘上是否有键按下;第二步是识别哪 一个键按下。
(1) 检测键盘上是否有键按下的处理方法是:将列线送入全扫描字,读入行线的状态 来判别。
(2) 识别键盘中哪一个键按下的处理方法是:将列线逐列置成低电平,检查行输入状 态,称为逐列扫描。
10. 对于数码管动态显示,在很多实际的单片机应用系统中,为了实现较好的显示效 果,通常是把动态显示过程用定时扫描方式来实现,处理思想如下:用定时器实现 20ms 周 期性定时,定时时间到动态显示一遍。参照书上图 8.9 的电路和内容,把数码管显示改成 定时扫描方式,用汇编语言编写相应程序。
微机原理与单片机接口技术(第2版)李精华 第8章 微处理器控制系统的接口扩展
8.1.2 编址技术
所谓编址,就是通过51单片机地址总线,使片外扩展的存 储器和I/O口中的每个存储单元或元器件,在51单片机的寻址 范围内均有独立的地址,以便51单片机使用该地址能唯一地选 中该单元。51单片机对外部扩展的存储器和I/O设备进行编址 的方法有两种:线选法和译码法。 1、线选法
所谓线选法,就是直接选定单片机的某根空闲地址线作为 存储芯片的片选信号。 2、译码法
由P0口作为地址线低8位,P2口作为地址线高8位,构 成16位地址,寻址范围为64KB。由于P0口分时复用为 地址总线和数据总线,除提供低8位地址之外,又要 作为数据口,地址和数据分时控制输出。为避免地址 和数据的冲突,低8位地址必须用锁存器锁存。也就 是在P0口外加一个锁存器,当ALE为下降沿时,将低8 位地址锁存。
位(LSB)所对应的输入模拟电压的变化量。分辨率定义 为转换器的满刻度电压(基准电压)VFSR与2n的比值,即
分辨率= VFSR 式中,n为A/D转2换n器输出的二进制位数,n越大,分
辨率越高。分辨率取决于A/D转换器的位数,所以习惯上 用输出的二进制位数或BCD码位数表示。
8.2 A/D转换器与D/A转换器简介
2.A/D转换器的主要技术指标 • (2)量化误差:模拟量是连续的,而数字量是断续
的,当A/D转换器的位数固定后,数字量不能把模拟 量所有的值都精确地表示出来,这种由A/D转换器有 限分辨率所造成的真实值与转换值之间的误差称为量 化误差。一般量化误差为数字量的最低有效位所表示 的模拟量,理想的量化误差容限是±1/2LSB。
三、教学难点
I2C总线接口的程序设计。
四、教学方式
8.1 单片机的外部并行总线
8.1.1 并行总线结构 51单片机具有外部并行总线,分为地址总线(AB)
单片机原理及接口技术(C51编程)(第2版)-习题答案汇总
单片机答案第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S51单片机工作频率上限为 MHz。
答:24MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、11个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章思考题及习题2参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2µs2. AT89S51单片机的机器周期等于个时钟振荡周期。
零基础学单片机C语言程序设计 第11章 C51串行接口程序设计
(4)执行写发送缓冲器SBUF语句,示例如下:
SBUF=0x76;
//将0x76送入发送缓冲器
(5)在发送移位脉冲的作用下,数据帧依次从TXD引脚发出。
(6)在8位串行数据发送完毕后,也就是在插入停止位的时候,使TI 置1,用以通知CPU可以发送下一帧的数据。此时可以采用查询或者中 断两种方式来获知TI是否置位。当TI置位后,C51程序中清零TI,以便 于发送下一个数据。
串 行 控 制 寄 存 器 (98H)
RXD(P3.2)
11.1.3 串行接口控制寄存器SCON
控制寄存器SCON的字节地址为98H,可进行位寻址。该寄存 器用于选择串行通信的工作方式和某些控制功能,包括接 收/发送控制及设置状态标志等。
D7 D6 D5 D4 D3 D2 D1 D0
字节地址:98H
第11章 C51串行接口程序设计
11.1 51系列单片机的串行接口
51系列单片机内部集成的全双工串行通信接口电路,常称 为UART。该串行接口电路功能很强,不仅可以进行串行异 步数据的发送和接收,也可以作为一个同步移位寄存器使 用。
11.1.1 单片机串行通信概述
单片机和外部设备可以采用并行通信和串行通信两种方法 进行数据传输。
11.3.3 模式1的数据接收及C51程序设计
串行口的工作模式1为10位异步发送接收方式,单片机RXD 引脚为数据接收端。模式1接收数据中的定时信号可以有两 种,接收移位脉冲和接收字符的检测脉冲。
串行口模式1接收数据时的接收移位脉冲,由定时器1的溢 出信号和波特率倍增位SMOD来共同决定,即由定时器1的溢 出率经过16分频或32分频得到。
P1.0 P1.1 单 P1.2 片 P1.3 机 P1.4 1 P1.5 P1.6 P1.7
单片机原理及接口技术(C51编程)(第2版)-习题答案 - 第8章习题解答
第8章思考题及习题8参考答案一、填空1、AT89S51的串行异步通信口为(单工/半双工/全双工)。
答:全双工。
2. 串行通信波特率的单位是。
答:bit/s3. AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。
答:fosc/125.AT89S51单片机的通讯接口有和两种型式。
在串行通讯中,发送时要把数据转换成数据。
接收时又需把数据转换成数据。
答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz。
答:11.05927.AT89S51单片机串行口的4种工作方式中,和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
9.在串行通信中,收发双方对波特率的设定应该是的。
答:相同的。
10.串行口工作方式1的波特率是。
答:方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择。
A. 方式0B.方式1C. 方式2D.方式3答:A2. 控制串行口工作方式的寄存器是。
A.TCON B.PCON C. TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义。
对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。
错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对6. 串行口工作方式1的波特率是固定的,为fosc/32。
错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。
(C语言版)绝密版C51单片机复习题及答案
(C语言版)绝密版C51单片机复习题及答案一填空题1、计算机中最常用的字符信息编码是(ASCII码)。
2、MCS-51系列单片机为(8)位单片机。
3、若不使用MCS-51片内存储器引脚(/EA)必须接(地)。
4、8031内部有(128)个RAM;8051内部有(4K ROM)和(128个RAM)。
5、堆栈的地址由(SP)内容确定,其操作规律是“(先)进(后)出”。
6、在单片机扩展时,(P0)口和(P2)口为地址线,(P0)口又分时作为数据线。
7、在MCS-51单片机中,如采用6MHZ晶振,一个机器周期为(2us)。
8、当80C51的RST引脚上保持(2)个机器周期以上的低电平时,80C51即发生复位。
9、当P1口做输入口输入数据时,必须先向该端口的锁存器写入(1),否则输入数据可能出错。
10、若某存储芯片地址线为12根,那么它的存储容量为(4K B)。
11、程序状态寄存器PSW的作用是用来保存程序运行过程中的各种状态信息。
其中CY为(进位)标志,用于无符号数加(减)运算,当进行(位)操作时作为位累加器。
OV为(溢出)标志,用于有符号数的加(减)运算。
12、消除键盘抖动常用两种方法,一是采用(硬件去抖电路),用基本RS触发器构成;二是采用(软件去抖程序),既测试有键输入时需延时(约大于10毫秒)后再测试是否有键输入,此方法可判断是否有键抖动。
13、若MCS-51单片机采用12MHz的晶振频率,它的机器周期为(1us),ALE引脚输出正脉冲频率为(2MHZ)。
14、8051有两个16位可编程定时/计数器,T0和T1。
它们的功能可由两个控制寄存器(TCON)、(TMOD)的内容决定,且定时的时间或计数的次数与(TH)、(TL)两个寄存器的初值有关。
15、串行口的控制寄存器SCON中,REN的作用是(允许串行接收位)。
16、单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由(中断优先级寄存器,)寄存器的置位状态决定的。
单片机原理及应用(C51编程)
C51语言继承了标准C语言的语法和结构,同时针对单片机的 特性进行了一些扩展和优化。
03
C51语言支持结构化编程、模块化设计和可重用性,使得程序 更加清晰、易于维护和调试。
C51编程的基本语法
变量声明
C51语言支持多种类型的变量声明,包括整 型、浮点型、字符型等。
条件语句
使用if、else if、else等关键字实现条件判断 和选择执行。
位域
用于表示二进制位,可以用来存储状 态信息或控制位。
C51编程的运算符与表达式
算术运算符
包括加、减、乘、除等基本算术运算。
逻辑运算符
包括与、或、非等逻辑运算,用于实现条 件判断。
位运算符
赋值ห้องสมุดไป่ตู้算符
包括位与、位或、位异或等位运算,可以 用于控制硬件位操作。
包括赋值、自增、自减等赋值运算,用于 修改变量值。
02
单片机具有强大的控制功能,能够实现各种数字信号处理和控制,广泛应用于 工业自动化控制、智能家居、智能仪表等领域。
03
单片机编程语言主要有汇编语言和C语言,其中C语言编程具有易学易用、可读 性强、可移植性好等优点,被广泛应用于单片机开发。
单片机的应用领域
工业自动化控制
01
单片机能够实现各种传感器数据的采集、处理和控制,广泛应
延时函数
在程序中实现一个延时函数,用于控制LED灯的闪烁频率。
按键输入的实现
硬件连接
将按键的一端连接到单片机的某个I/O口,另一端 接地。
编程实现
使用C51编程语言,通过检测I/O口的电平变化来 判断按键是否被按下。
去抖动
为了消除按键抖动对程序的影响,可以在程序中 实现去抖动算法。
单片机原理及接口技术-C51编程(张毅刚第二版)-习题答案
单片机原理及接口技术(C51编程)(第2版)—习题答案汇总23单片机答案第1章单片机概述思考题及习题1 参考答案一、填空1。
除了单片机这一名称之外,单片机还可称为( )或().答:微控制器,嵌入式控制器。
2.单片机与普通微型计算机的不同之处在于其将()、()和( )三部分,通过内部( )连接在一起,集成于一块芯片上.答:CPU、存储器、I/O口、总线3. AT89S51单片机工作频率上限为()MHz。
答:24MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低( )和提高( ).答:成本,可靠性。
二、单选1。
单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便 B.受器件的物理性能限制C.为了通用性 D。
为了提高运算数度答:B2。
在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用 B。
测量、控制应用C.数值计算应用 D。
数据处理应用答: B3。
下面的哪一项应用,不属于单片机的应用范围.A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1。
STC系列单片机是8051内核的单片机。
对2。
AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3。
单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换.对7。
为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换.对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章 AT89S51单片机片内硬件结构思考题及习题2 参考答案一、填空1。
51单片机编程
《单片机C51程序设计》课程标准一、课程性质课程名称:单片机C51程序设计课程代码:109025学时数:84其中课内实验学时数:34学分数:6适用专业:应用电子技术、电子信息工程技术二、课程教学目标1、课程知识目标掌握单片机基本原理,熟悉KEILL软件的使用,熟悉基于proteus软件的单片机的仿真方法,熟悉MCS-51的结构与应用设计方法,掌握C51结构与基本的程序设计方法,通过应用实例熟悉单片机C语言的在单片机应用设计中的用法。
2、课程技能目标通过本课程的教学,要求学生初步具有用C语言进行单片机系统设计的能力。
3、职业能力目标掌握电子产品设计的基本方法,能够以单片机作为核心进行电子产品的设计与开发。
三、课程内容本课程由理论教学模块、实验教学模块两大模块组成。
其中理论教学模块50学时、占60%,实践(含实验和实训)教学模块34学时,占40%。
各教学模块如下:1、理论教学模块2、实验教学模块四、学生学习指南模块一keil软件与proteus软件的使用Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选。
Proteus ISIS是一款Labcenter 出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
该软件的特点:①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
8XC51串行口专题知识讲座
1.从广义上讲,计算机通信方式可分为: 并行通信-----其相应旳通信总线称为并行通信总线. * 同步传送. N位二进制数需N根数据传播线. 适合短距离传播.快.费钱. 串行通信----其相应旳通信总线称为串行通信总线. * 分时传送. 仅需一到两根数据传播线. 适合长距离传播.(相对)慢. 省钱. 串行通信又可分: a.同步串行通信(见书P174). b.异步串行通信(见书P172).
波特率----每秒所传送旳二进制位数. 移位时钟---(串行通信时)发送时钟和接受时钟旳统称.其作用如下:
a. 发送时:在发送时钟旳作用下,将发送移位寄存器旳数据串行移位输出. b. 接受时:在接受时钟旳作用下,将通信线上传来旳数据串行移入移位寄存器.
波特率发生器---能产生移位时钟旳电路. 为提升采样辨别率,精确测定数据位旳上升沿或下降沿,时钟频率总是高于 波特率旳若干倍,此倍数称波特率因子.
b. 中断:如设置中断允许,EA=1. ES=1,TI=1或 RI=1可引起中断.
发送程序: 发一帧数据 等待中断 在中断中软件清0 T1 - - -(发送三步曲) 接受程序: 等待中断 在中断中软件 清0 RI 读入一帧数据- - -(接受三步曲)
4. 为确保通信双方协调一致,须注意下列两点: a. 波特率一致. b.可约定某字符作发送起点,先发字符,待接受方应答无误,且准备完毕后发数据,并 进行系统通信相应正误校验(如下例中旳”累加和校验”等) 下面以实例进行应用阐明:
a. 方式0. 2使用固定波特率,只用依需要设定SMOD即可;
b. 方式1. 3使用可变波特率,对T1初始化(T1.方式2),算出(或查表得出)T1旳 计数初值X;
ห้องสมุดไป่ตู้
C51语言编程基础
C51语言编程基础与 Keil µVision3的使用
1
3.1 C51编程语言简介
3.1.1 C51语言与汇编语言的比较
与8051汇编语言相比, C51有如下优点。
(1)可读性好。 (2)模块化开发与资源共享。 (3)可移植性好。 (4)生成的代码效率高。
3.1.2
C51语言与标准C语言的比较
标准C语言相比增加了位类型。
3
(3)C51语言变量存储模式ቤተ መጻሕፍቲ ባይዱ标准C语言中变量存储模式数
据不一样。标准C最初是为通用计算机设计的,在通用计算机 中只有一个程序和数据统一寻址的内存空间,而C51语言中变 量的存储模式与8051单片机的各种存储器区紧密相关。 (4)数据存储类型不同。8051存储区可分为内部数据存储 区、外部数据存储区以及程序存储区。内部数据存储区可分 为3个不同的C51存储类型:data、idata和bdata。外部数据
储器,相当于用@DPTR寻址。通过数据指针访问外部数据存储
器的效率较低,特别是当变量为2字节或更多字节时,该模式 要比SMALL和COMPACT产生更多的代码。
15
3.2.2
C51语言的特殊功能寄存器及位变量定义
1.特殊功能寄存器的C51定义
C51语言允许通过使用关键字sfr、sbit或直接引用编译
bit *ptr;
bit array[ ] ;
// 错误,不能用位变量来定义指针
// 错误,不能用位变量来定义数组array[ ]
定义位变量时,允许定义存储类型,位变量都被放入一个 位段,此段总是位于8051的片内RAM中,因此其存储类型限制 为DATA或IDATA,如果将位变量定义成其他类型,将会导致编
② sbit 位名=字节地址^位置;
单片机C语言第3章51单片机P0P3口的C51编程1课件
1. 结构
P0
P1
P2
P3
D锁存器
★
★
★
★
MUX开关 ★
★
输出控制 ★
★
★
内部上拉电阻
★
★
★
2. 功能
P0
P1
P2
读引脚
VCC
2
P1.N锁存器
D
Q
CLK
Q
R V
P1.N
1
(1)输出方式:数据经内部总线送入锁存器存储,某位数 据为1,则Q=1,Q=0,VT1截止,引脚P1.N上出现高电 平;反之,数据为0,则Q=0,Q=1,VT1导通,引脚 P1.N上出现低电平。
(2)读引脚方式:读引脚时,控制器打开三态门1,引脚 P1.N上的数据经三态门1进入芯片的内部总线,再送到 累加器A,输入时无锁存功能。
1、P0口具有通用I/O口方式,可实现输出、读引脚(输入) 和读锁存器三种功能;
2、作为通用I/O口方式时,需要外接上拉电阻;
3、P0口具有地址/数据分时复用方式,可实现地址/数据输 出、数据输入两种功能;
4、地址/数据分时复用方式时无需外接上拉电阻;
5、分时复用方式的数据输入时无需程序写1操作。
P0~P3小结
V
P0.n的通用I/O口工作方式:输出、读引脚、读锁存器
读锁存器 2
VCC
外接上拉电阻
内部总线 写锁存器
P0.N锁存器
D
Q
V
CLK
Q
2023年大学_单片机原理与接口技术第二版(李晓林牛昱光著)课后答案下载
2023年单片机原理与接口技术第二版(李晓林牛昱光著)课后答案下载单片机原理与接口技术(第2版)简介第1章概述 11.1 单片机的结构组成、特点和指标 11.1.1 微型计算机的基本结构 11.1.2 单片机的基本结构 21.1.3 单片机的特点 31.1.4 单片机的重要指标 31.2 单片机的发展历史和产品类型 41.2.1 单片机的发展历史 41.2.2 单片机的产品类型 51.2.3 80C51系列单片机 51.2.4 其他系列单片机 91.3 单片机的应用 91.3.1 单片机应用领域 91.3.2 单片机应用举例 101.4 单片机技术相关 14习题与思考题 15第2章 MCS-51单片机硬件结构和原理 16 2.1 MCS-51系列单片机的分类 162.2 单片机硬件结构 162.2.1 单片机的引脚功能 162.2.2 单片机的内部结构 182.3 中央处理器(CPU) 192.3.1 运算器 192.3.2 控制器 202.3.3 布尔(位)处理器 212.4 存储器 212.4.1 程序存储器 222.4.2 数据存储器 222.5 并行输入/输出(I/O)端口 262.5.1 P1口 272.5.2 P2口 272.5.3 P3口 282.5.4 P0口 292.5.5 并行口的应用 302.6 时钟电路和时序 322.6.1 时钟电路 322.6.2 时序 332.7 单片机的工作方式 352.7.1 复位方式 352.7.2 程序执行方式 362.7.3 低功耗运行方式 36习题与思考题 37第3章 MCS-51单片机指令系统 38 3.1 指令系统简介 383.1.1 指令系统的分类 383.1.2 指令格式 393.1.3 指令中的常用符号 393.1.4 寻址方式 403.2 指令系统 443.2.1 数据传送指令 443.2.2 算术运算指令 483.2.3 逻辑运算指令 523.2.4 控制转移指令 553.2.5 位操作指令 59习题与思考题 61第4章 MCS-51汇编语言程序设计 64 4.1 程序设计概述 644.1.1 程序设计的步骤 644.1.2 程序设计的方法 654.1.3 汇编语言的规范 654.1.4 汇编语言程序编辑和汇编 68 4.2 结构化程序设计方法 694.2.1 顺序结构程序 694.2.2 分支结构程序 704.2.3 循环结构程序 714.2.4 查表程序 744.2.5 子程序 754.3 汇编语言程序设计实例 784.3.1 算术运算程序 784.3.2 数据排序程序 824.3.3 数制转换程序 834.3.4 线性标度变换程序 86习题与思考题 86第5章 MCS-51单片机C51程序设计 88 5.1 C51概述 885.2 C51语法基础 895.2.1 标识符和关键字 895.2.2 数据类型 905.2.3 C51运算符和表达式 925.2.4 程序结构 935.3 C51对MCS-51单片机的访问 945.3.1 存储类型 945.3.2 存储模式 955.3.3 对特殊功能寄存器的访问 965.3.4 对存储器和并行口的访问 975.3.5 位地址访问 1005.4 C51函数 1005.4.1 函数的分类 1015.4.2 函数的定义 1015.4.3 函数的调用 1025.4.4 对被调函数的说明 1025.5 C51结构化程序设计 1045.5.1 顺序结构程序 1045.5.2 选择结构程序 1045.5.3 循环结构程序 1075.6 C51程序设计实例 1095.6.1 查表程序 1095.6.2 单片机内/外部资源应用程序设计 1105.6.3 C51语言和MCS-51汇编语言混合编程 116 5.6.4 编程优化的概念 118习题与思考题 118第6章 MCS-51单片机中断系统 1206.1 中断概述 1206.1.1 CPU与外设的输入/输出方式 1206.1.2 中断的概念 1216.2 MCS-51中断系统 1236.2.1 中断系统的内部结构 1236.2.2 中断源与中断方式 1236.2.3 中断控制寄存器 1256.3 中断应用举例 1316.3.1 中断服务程序设计 1316.3.2 中断系统应用实例 132习题与思考题 136第7章 MCS-51单片机定时/计数器和串行接口 137 7.1 定时/计数器 1377.1.1 定时/计数器的结构与原理 1377.1.2 定时/计数器的工作方式 1397.1.3 定时/计数器对输入信号的要求 1427.1.4 定时/计数器的应用 1427.2 串行通信接口 1497.2.1 串行通信基础知识 1497.2.2 MCS-51串行通信接口 1517.2.3 串行通信接口的应用 155习题与思考题 162第8章单片机系统基本并行扩展技术 1648.1 概述 1648.2 外部总线扩展 1648.3 外部存储器扩展 1658.3.1 外部程序存储器扩展 1658.3.2 外部数据存储器扩展 1708.3.3 多片存储器芯片扩展 1728.4 并行接口扩展 1738.4.1 并行接口的简单扩展方法 1738.4.2 8155可编程并行I/O接口扩展 175 8.5 显示器与键盘扩展 1798.5.1 LED显示器接口扩展 1798.5.2 LCD显示器接口扩展 1818.5.3 键盘接口扩展 1838.5.4 键盘和显示器接口设计实例 1878.6 打印机扩展 1898.6.1 TPuP-16A/40A微型打印机 1898.6.2 打印机接口扩展方法 190习题与思考题 192第9章单片机系统常用串行扩展技术 194 9.1 常用串行总线协议 1949.1.1 I2C串行总线 1949.1.2 SPI总线 1989.1.3 单线总线 2019.2 串行存储器扩展 2049.2.1 I2C接口EEPROM的存储器扩展 2049.2.2 SPI接口的大容量Flash存储器扩展 2099.3 串行转并行I/O接口扩展 2149.3.1 串行转并行I/O扩展芯片的工作原理 2149.3.2 串行总线扩展I/O接口实例 2169.4 串行键盘和LED显示器扩展 2189.4.1 串行键盘和LED显示器控制芯片的工作原理 218 9.4.2 串行键盘和LED显示器扩展实例 2219.5 串行总线扩展实例简介 226习题与思考题 228第10章单片机系统模拟量及其他扩展技术 22910.1 A/D转换扩展 22910.1.1 并行A/D转换扩展 22910.1.2 串行A/D转换扩展 23110.2 D/A转换扩展 24110.2.1 并行D/A转换扩展 24110.2.2 串行D/A转换扩展 24410.3 日历时钟芯片扩展 24810.3.1 日历时钟芯片8563 24810.3.2 单片机与日历时钟芯片的接口方法 250 10.4 IC卡扩展 25110.4.1 SLE4442 IC卡 25110.4.2 SLE4442 IC卡数据传送协议 25210.4.3 SLE4442 IC卡操作命令 25410.4.4 单片机与SLE4442 IC卡的接口方法 255 习题与思考题 256第11章单片机系统无线扩展技术 25711.1 点对点无线通信 25711.1.1 nRF905芯片介绍 25711.1.2 应用nRF905扩展单片机无线接口 261 11.2 ZigBee无线网络技术简介 26511.2.1 ZigBee网络框架 26611.2.2 ZigBee网络中的设备 26611.2.3 ZigBee网络拓扑结构 26611.2.4 ZigBee技术的特点和应用领域 26711.3 ZigBee无线网络技术应用实例 26811.3.1 支持ZigBee无线网络的.单片机选择 26811.3.2 串行总线接口的数字式温湿度传感器选择 272 11.3.3 ZigBee无线网络节点的硬件电路设计 27611.3.4 软件设计 277习题与思考题 280第12章单片机系统电源设计 28112.1 单片机系统电源设计的考虑因素 28112.2 线性稳压供电电源 28112.2.1 三端固定输出集成稳压器电源电路 28212.2.2 三端可调输出集成稳压器电源电路 28212.2.3 低压差线性稳压器(LDO)电源电路 28312.3 DC/DC供电电源 28412.3.1 降压型DC/DC电源电路 28412.3.2 升压型DC/DC电源电路 28612.3.3 DC/DC模块电源的选择与应用 28812.4 AC/DC供电技术 28912.4.1 AC/DC电源技术 28912.4.2 AC/DC模块电源 29112.5 基准电源的产生方法 29212.5.1 稳压管基准电压源电路 29212.5.2 集成块基准电压源电路 292习题与思考题 295第13章单片机应用系统抗干扰技术 296 13.1 干扰源及其分类 29613.1.1 干扰的定义 29613.1.2 干扰的种类 29613.2 干扰对单片机应用系统的影响 298 13.3 硬件抗干扰技术 29913.3.1 无源滤波 29913.3.2 有源滤波 29913.3.3 去耦电路 29913.3.4 屏蔽技术 30013.3.5 隔离技术 30013.3.6 接地技术 30213.4 软件抗干扰技术 30413.4.1 软件抗干扰的一般方法 30413.4.2 指令冗余技术 30513.4.3 软件陷阱技术 30513.4.4 “看门狗”技术 30813.5 数字滤波技术 31013.5.1 一阶低通滤波法 31013.5.2 程序判断滤波法 31113.5.3 算术平均滤波法 31113.5.4 中位值平均滤波法 31213.5.5 中值滤波法 31313.5.6 递推平均滤波法 31313.5.7 防脉冲干扰平均值滤波法 314习题与思考题 315第14章单片机系统开发工具与设计实例 31614.1 单片机应用系统开发环境 31614.1.1 开发系统的功能 31614.1.2 开发系统的分类 31614.2 Keil C51开发工具及仿真调试方法 31714.2.1 Keil C51开发工具 31714.2.2 应用Keil C51进行单片机软件开发调试的方法 319 14.2.3 应用Keil C51调试C51应用程序举例 32214.3 Proteus电路分析与实物仿真软件及调试方法 32514.3.1 Proteus仿真软件 32514.3.2 应用Proteus进行单片机应用系统仿真调试的方法 326 14.3.3 应用Proteus进行单片机系统仿真调试举例 32714.4 单片机应用系统设计举例 33114.4.1 需求分析 33114.4.2 功能说明 33214.4.3 体系结构设计 33214.4.4 硬件系统设计 33414.4.5 软件系统设计 33614.4.6 系统调试 339习题与思考题 339第15章实验及课程设计 34115.1 概述 34115.2 实验 34115.2.1 实验1——BCD码/十六进制码转换 34115.2.2 实验2——排序程序 34215.2.3 实验3——定时/计数器 34415.2.4 实验4——基本输入/输出 34815.2.5 实验5——外部中断 35015.2.6 实验6——并行接口扩展 35215.2.7 实验7——A/D转换 35515.2.8 实验8——D/A转换 35615.2.9 实验9——单片机与PC通信 35715.2.10 实验10——综合实验(温度控制系统设计实例) 36115.3 课程设计 36515.3.1 课程设计的目的 36515.3.2 课程设计要求 36515.3.3 课程设计题目及要求 366附录A MCS-51汇编指令-机器码对照表 370附录B ASCII编码表 372参考文献 373单片机原理与接口技术(第2版)目录《单片机原理与接口技术(第2版)》为普通高等教育“十一五”国家级规划教材。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【例8-4】模拟输入信号从通道0输入,将 输入的模拟量转换成二进制数在显示器上 显示出来。
第8章
51系列单片机 串行总线接口扩展技术
片外串行总线扩展。 8.1 I2C总线接口技术 8.2 SPI总线接口技术 8.3 单总线(1-wire)接口技术 8.4 典型串行A/D接口芯片TLC2543应 用示例
8.1 I2C总线接口技术
• 8.1.1 认识I2C总线 • I2C总线是Philips公司推出的芯片间的 串行传输总线,它采用同步方式接收或 发送信息。 I2C总线以两根连接线实现 全双工同步数据传送,可以极方便地构 成外围器件扩展系统。 • I2C总线的两根线分别为: • ① 串行数据SDA(Serial Data) • ② 串行时钟SCL(Serial Clock)
VCC RP
DS18B20
I/O
单 片 机
GND DQ VCC
DQ
DQ
…
DQ DS18B20
DS18B20 DS18B20
常用的单总线器件:
8.3.2
单总线典型器件DS18B20
8.4
12位串行A/D转换器TLC2543
• TLC2543是TI公司生产的12位串行A/D转 换器,使用开关电容逐次逼近技术完成 A/D转换过程。
8.2.1
SCK SI SO
认识SPI总线 1、SPI外围串行结构图
SCK SI SO
SCK SI SO
SCK SI SO
单 片 机
I/O I/O I/O
外围器件 1# CS
外围器件 1# … 外围器件 1# CS CS
2、常用的SPI器件
8.2.2
• • • •
SPI典型器件X25045
X25045是一种集看门狗、 电压监控和串行EEPROM 3种功能于一身的 可编程控制芯片。
【例8-2】应用举例
8.3
•
单总线(1-wire)接口技术
单总线(1 wire BUS)是Dallas公 司推出的外围串行扩展总线。单总线只 有一根数据输入/输出线DQ,总线上所 有器件都挂在DQ上,电源也经过这根信 号线供给。这种使用一根信号线的串行 扩展技术,称为单总线技术。
8.3.1
认识单总L
单 SAD 片 机 SCL
SAD SCL 存储器 SAD SCL 键盘/显示接口
常用的I2C总线器件
8.1.2 I2C总线器件 AT24C02
•
• • • •
AT24C02是串行E2PROM是具有I2C总线 接口功能的电可擦除串行E2PROM器件。 ① SCL:串行时钟输入线。 ② SDA:串行数据/地址线。 ③ A0、A1、A2:器件地址输入端。 ④ WP:写保护端。
【例8-1】AT24C02举例: 将数据“0x55”写入AT24C02,然后将其 读出并发出送到P1口显示。
8.2
•
SPI总线接口技术
• • • •
SPI是Motorola公司推出的一种同步串行 外设接口,允许MCU与各厂家生产的标准外围 设备直接接口,以串行方式交换数据。SPI用 以下3个引脚完成通信: ① 串行数据输出SDO(Serial Data Out),简称SO。 ② 串行数据输入SDI(Serial Data In),简称SI。 ③ 串行数据时钟SCK(Serial Clock)。 另外挂接在SPI总线上的每个从机还需要 一根片选线。