第7章 单片机接口技术
单片机原理及接口技术(C51编程)第7章 定时器计数器

图7-14 由外部计数输入信号控制LED的闪烁
(3)设置IE寄存器 本例由于采用T1中断,因此需将IE寄存器的EA、ET1位置1。
(4)启动和停止定时器T1 将寄存器TCON中TR1=1,则启动T1计数;TR1=0,则停止T1计数。
参考程序如下:
#include <reg51.h> void Delay(unsigned int i)
7.4 定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,只是计数位数不同。方
式0为13位,方式1为16位。由于方式0是为兼容MCS-48而设,计数初 值计算复杂,所以在实际应用中,一般不用方式0,常采用方式1。
7.4.1 P1口控制8只LED每0.5s闪亮一次 【例7-1】在AT89S51的P1口上接有8只LED,原理电路见图7-
当TMOD的低2位为11时,T0被选为方式3,各引脚与T0的逻辑关系 见图7-8。
T0分为两个独立的8位计数器TL0和TH0,TL0使用T0的状态控制位 C/T* 、GATE、TR0 ,而TH0被固定为一个8位定时器(不能作为外部 计数模式),并使用定时器T1的状态控制位TR1,同时占用定时器T1的 中断请求源TF1。
13。采用T0方式1的定时中断方式,使P1口外接的8只LED每0.5s闪亮 一次。
23
图7-13 方式1定时中断控制LED闪亮
24
(1)设置TMOD寄存器 T0工作在方式1,应使TMOD寄存器的M1、M0=01;应设置C/T*=0,为定
时器模式;对T0的运行控制仅由TR0来控制,应使相应的GATE位为0。定时 器T1不使用,各相关位均设为0。所以,TMOD寄存器应初始化为0x01。 (2)计算定时器T0的计数初值
单片机原理及接口技术课后答案第七章

第七章1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。
通信采用帧格式,无需同步字符。
存在空闲位也是异步通信的特征之一。
2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。
由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。
串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。
定时器T1产生串行通信所需的波特率。
3、简述串行口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。
当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN (SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。
当发读SBUF命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF 取出信息通过89C51内部总线送CPU。
4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:89C51串行口有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
有2种帧格式:10位,11位方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)方式2:方式2波特率≌2SMOD/64×fosc方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)如果T1采用模式2则:5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则:波特率=(11b/字符)×(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。
第7章 IO口

27
第7章 MCS-51单片机常用接口技术
MCS-51对LED的显示 2.动态显示
多个LED共用一个8位I/O口,任何时候各个LED都接 有相同的字形码,但某一时刻只点亮一个LED。究竟哪个 LED被点亮由字位码控制,各个LED轮流被点亮。
MOV E, C ;读取P1.0、P1.1 ANL C,D ;得DE MOV G, C MOV C, E ORL C, D ;得(D+E) ANL C, /G ;得F值 MOV P1.2, C ;用灯显示F SJMP LOOP1 END 20
第7章 MCS-51单片机常用接口技术
(三)作为外部三态门和锁存器接口
2.读端口数据方式(读端口锁存器中数据) 直接以Pn口为源操作数的操作指令。例:
MOV ORL ANL XRL A , P0 R1 , P1 20H , P2 @R0 , P3
返回
17
第7章 MCS-51单片机常用接口技术
3.读引脚方式(获取从引脚传送进来的外部数据)
例如,读P1口低4位:
MOV P1 , #0FH MOV A , P1
读P1口
MOV P1,A MOV A, P1 JNB ACC.0, PR0
JNB ACC.1, PR1
……
PR7:…
……
JNB ACC.7, PR7
AJMP DONE
END 各按键对应的处 理子程序 32
判断哪个按键被按下
第7章 MCS-51单片机常用接口技术
2.对行列式非编码键盘的接口
行列式非编码键盘是一种把所有按键排列成行列矩 阵的键盘。 在这种键盘中,行列交叉处为按键,当某一按键被 按下时,相应的行线列线就会接通,否则处于断开状 态。
单片机原理及接口技术

单片机原理及接口技术在当今数字化时代,单片机已经成为嵌入式系统设计中不可或缺的重要组成部分。
本文将介绍单片机的工作原理以及与外部设备进行通信的接口技术。
单片机工作原理单片机是一种集成了处理器、存储器和输入输出设备等功能模块的微型计算机系统。
它通常由中央处理器(CPU)、存储器(RAM和ROM)、计时器(Timer)、串行通信接口(UART)和引脚(Port)组成。
单片机的工作原理可以简要描述为以下几个步骤:1.初始化:单片机在上电时会执行初始化程序,设置各种工作模式、配置寄存器等。
2.执行程序:单片机会根据存储器中存储的程序指令序列来执行相应的操作,包括算术逻辑运算、控制流程等。
3.输入输出操作:单片机通过输入输出接口与外部设备进行通信,如传感器、执行器等。
4.中断处理:单片机可以在特定条件下触发中断请求,暂停当前执行的程序,转而执行中断服务程序,处理相应的事件或信号。
单片机接口技术单片机与外部设备的通信主要依赖于接口技术,包括数字输入输出接口、模拟输入输出接口以及通信接口等。
数字输入输出接口数字输入输出接口用于与二进制设备进行通信,通过配置相应的引脚工作在输入或输出模式,实现信号的采集与输出。
常用的数字输入输出方式包括GPIO口、SPI接口、I2C接口等。
模拟输入输出接口模拟输入输出接口用于处理模拟信号,包括模拟输入端口和模拟输出端口。
模拟输入端口通过模数转换器将模拟信号转换为数字信号,模拟输出端口则通过数模转换器将数字信号转换为模拟信号。
通信接口通信接口是单片机与外部设备进行数据交换的重要手段,主要有串行通信接口(UART)、并行通信接口(Parallel)、CAN接口等。
通过这些通信接口,单片机可以实现与其他设备的数据交换与通信。
结语单片机原理及接口技术是嵌入式系统设计的基础知识,通过深入了解单片机的工作原理和接口技术,可以更好地应用单片机进行系统设计与开发。
希望本文对读者有所帮助,谢谢!以上是关于单片机原理及接口技术的简要介绍,希望能对读者有所启发。
第7章 MCS-51单片机常用接口技术

图7.3 用8031的P1口设计的4×4键盘
第7章 MCS-51单片机常用接口技术
7.1.2 键盘按键识别方法
首先在键处理程序中将P1.3~P1.0依次按位变低, P1.3~P1.0在某一时刻只有一个为低。在某一位为低时读行线, 根据行线的状态即可判断出哪一个按键被按下。 如9号键按下时,当列线P1.2为低时,读回的行线状态中 P1.4被拉低,由此可知2号键被按下。 一般在扫描法中分两步处理按键,首先是判断有无键按下, 即使列线(P1.3~P1.0)全部为低,读行线,如行线 (P1.4~P1.7)全为高,则无键按下,如行线有一个为低,则 有键按下。当判断有键按下时,使列线依次变低,读行线,进 而判断出具体哪个键按下。
第7章 MCS-51单片机常用接口技术
7.2.2 LED显示器接口及显示方式
表7.2 段选码、位选码及显示状态表
段选码 (字型) F9H A4H B0H 99H 92H 位选码 P2.4~P2.0 11110 11101 11011 10111 01111 1 2 3 4 5 显示器显示状态
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
图7.6为LED显示器的内部结构及外形。
(a)共阴极 (b)共阳极 (c)LED实物 图7.6 LED显示结构及实物
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
7段LED显示数字0~F,符号等字型见表7.1,其中a段为最 低位,dp为最高位。
第7章 MCS-51单片机常用接口技术
单片机原理及应用教程
第 7章 MCS-51单片机常用接口技术
主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞
第7章 MCS-51单片机常用接口技术
单片机原理及其接口技术

单片机原理及其接口技术
单片机是一种能够实现控制、数据采集、运算处理等功能的微处理器
技术,是拥有最广泛应用范围的控制芯片之一、单片机中主要包括由编程
器芯片(CPU)、内存、外围电路元器件以及相关的接口技术组成,正是
由于单片机的优势,其在智能家居、智能物联网、汽车电子等领域得到了
广泛的应用。
单片机接口技术是一种实现硬件和软件之间通信的技术,它确保系统
的稳定性和可靠性。
接口技术主要有I/O接口、传输接口、外设接口、模
拟量接口、通用接口、串行接口和无线接口等。
I/O接口是单片机的核心技术,它是用来实现硬件和软件间的任务交
互的接口,通过I/O接口,可以实现软件和外围设备之间的信息传输,它
由多种I/O接口技术,如串口口、并口、中断口和DMA(Direct Memory Access)组成,用于实现与外部设备的连接。
外设接口是一种实现单片机与外设之间的接口技术,它要求使用特定
的接口类型来连接数据。
外设一般包括存储设备、显示器、键盘、投影仪、打印机等,外设接口可以用来控制外设,传输数据,收集外边设备的信息。
外设接口主要有USB接口、SCSI接口、GPIO接口、I2C接口、SPI接口等。
《单片机原理及接口技术》第7章习题及答案

《单片机原理及接口技术》(第2版)人民邮电出版社第7章 AT89S51单片机的串行口思考题及习题71.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
2.在串行通信中,收发双方对波特率的设定应该是的。
答:相等的。
3.下列选项中,是正确的。
A.串行口通信的第9数据位的功能可由用户定义。
对B.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对C.串行通信帧发送时,指令把TB8位的状态送入发送SBUF中。
错D.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对E.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对4.通过串行口发送或接收数据时,在程序中应使用。
A.MOVC指令B.MOVX指令 C.MOV指令 D.XCHD指令答:C5.串行口工作方式1的波特率是。
A.固定的,为f osc/32 B.固定的,为f osc/16C.可变的,通过定时器/计数器T1的溢出率设定D.固定的,为f osc/64答:C6.在异步串行通信中,接收方是如何知道发送方开始发送数据的?答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
7.AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD /32×定时器T1的溢出率方式2的波特率=2SMOD /64×fosc方式3的波特率=2SMOD /32×定时器T1的溢出率8.假定串行口串行发送的字符格式为1个起始位、8个数据位、1个奇校验位、1个停止位,请画出传送字符“B ”的帧格式。
单片机原理与接口技术

单片机原理与接口技术
一、什么是单片机?
单片机(Microcontroller)是一种嵌入式微处理器,具有处理器、
存储器、输入输出接口和时钟周期等功能,能够独立控制和处理系统的芯片。
可以说,单片机是电路的最小单元,它能够完成任意复杂的指令,如
加减法、计时、计算等功能,是电子系统中不可或缺的核心元件。
二、单片机原理
单片机的原理关键在于指令译码器,它是把指令逐个读出,然后通过
中央处理单元(CPU)将指令转化成相应的操作,例如加减计算、读写存
储器、输入输出接口等,从而实现电路的功能。
三、单片机接口技术
单片机接口技术是指把外部信号与微处理器系统的接口连接起来,实
现外部设备与微处理器系统的通信。
主要有:
(1)I2C接口:是一种基于两根总线的接口,能够在同一总线上同
时供应多节点器件,可以发送8位的数据。
(2)串行接口:是把数据按位(逐位)发送出去的接口,按位发送,可以极大程度上减少线路连接的数量。
它可以支持双向和多向通信,通常
用于远距离传输数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章单片机接口技术
单片机应用系统常需连接键盘、显示器、打印机、A/D和D/A转换器等外设,其中,键盘和显示器是使用最频繁的外设,它们是构成人机对话的一种基本方式,A/D和D/A转换器是计算机与外界联系的重要途径。
本章将叙述常用外设的工作原理以及它们如何与单片机接口,如何相互传送信息等技术。
实训7 简易秒表的制作
1.实训目的
(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。
(2)通过LED显示程序的调整,熟悉8155与8051,8155与LED的接口技术,熟悉LED动态显示的控制过程。
(3)通过键盘程序的调整,熟悉8155与矩阵式键盘的接口技术,熟悉键盘扫描原理。
(4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。
2.实训设备与器件
(1)实训设备:单片机开发系统、微机。
(2)实训器件:实训电路板1套。
3.实训步骤与要求
(1)要求:利用实训电路板,以8位LED右边2位显示秒,左边6位显示0,实现秒表计时显示。
以4×4矩阵键盘的KE0、KE1、KE2等3键分别实现启动、停止、清零等功能。
(2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器1方式3计数,实现60秒计数。
用动态显示方式实现秒表计时显示,用键盘扫描方式取得KE0、KE1、KE2的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。
(3)实验线路分析:采用实训电路板,其原理图参见附录。
8位LED显示的位码由8155的PA口输出,段码由8155的PB口输出,PB口线与LED之间接有200Ω限流电阻,LED 为共阴极数码管,LED显示方式为动态显示方式。
4×4矩阵键盘的行线经5.1KΩ电阻上拉后与8155PC口的PC0~PC3口线相连,列线与8155PA口的PA0~PA3口线相连。
8155的控制口地址为4400H,PA口地址为4401H,PB口地址为4402H,PC口地址为4403H。
系统本采用11.0592MHz的晶振,本实训应改为12MHz晶振,以方便定时。
(4)软件设计:软件整体设计思路是以键盘扫描和键盘处理作为主程序,LED动态显示作为子程序。
二者间的联系是:主程序查询有无按键,无按键时,调用二次LED动态显示子程序(约延时8ms)后再回到按键查询状态,不断循环;有按键时,LED动态显示子程序作为按键防抖延时被连续调用二次(约延时16ms),待按键处理程序执行完后,再回到按键查询状态,同时兼顾了按键扫描取值的准确性和LED动态显示的稳定性。
秒定时采用定时器T0中断方式进行,60秒计数由定时器1采用方式3完成,中断及计数的开启与关闭受控于按键处理程序。
由上述设计思路可设计出软件流程图如图7.1所示。
(5)程序编制:编程时置KE0键为“启动”,置KE1键为“停止”,置KE2键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,每条指令后紧跟着一条无条件跳转指令“AJMP”,转至相应的按键处理程序,如不是上述3
个按键值则跳回按键查询状态。
8位LED 显示的数据由显示缓冲区30H~37H 单元中的数据决定,顺序是从左至右,动态显示时,每位显示持续时间为1ms ,1ms 延时由软件实现,8位显示约耗时8ms 。
主程序、按键查询子程序采用第0组工作寄存器,显示子程序采用第1组工作寄存器。
1秒定时采用定时器T0方式1中断,每50ms 中断一次,用21H 做50 ms 计数单元,每20次为一个循环,计满20次,60秒计数单元(20H )计数1次。
60秒计数采用定时器T1方式2计数,计数脉冲采用软件置位、复位P3.5口的方法实现,用20H 单元做60秒计数单元,如定时器T1溢出,则20H 单元被清零,20H 单元的数据采用十进制计数,该数据被拆成个位和十位两个数据后分别送至显示缓冲区的30H 、31H 单元。
动态显示子程序
主程序程序
定时器中断服务
程序流程图图7.1 简易秒表软件流程图
按照上述思路可编制源程序如下:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP CONT
;◇◇◇◇◇◇◇◇◇◇◇主程序◇◇◇◇◇◇◇◇◇◇◇◇◇
;――――――――――初始化程序――――――――――――
MAIN : MOV TMOD ,#61H ;置T0方式1定时,T1方式2计数
MOV TH0,#3CH ;T0置初值
MOV TL0,#0B0H
MOV TH1,#0C4H ;T1置初值
MOV TL1,#0C4H
MOV DPTR ,#4400H ;8155控制口地址送DPTR
MOV A,#43H ;设置8155工作方式字
MOVX @DPTR,A ;设置PA、PB口输出,PC口输入
MOV 20H,#00H ;60秒计数单元置初值
MOV 21H,#14H ;50ms计数单元置初值
MOV SP,#3FH ;堆栈指针置初值
MOV R2,#08H ;LED待显示位数送R2
MOV R0,#30H ;显示缓冲区首址送R0 STAR:MOV @R0,#00H ;显示缓冲区清零
INC R0
DJNZ R2,STAR
CLR A ;累加器清零;―――――――――――键盘查询程序――――――――――
KEY:ACALL KS ;调按键查询子程序判是否有键按下
JNZ K1 ;有键按下转移
ACALL DISP ;无键按下,调显示子程序延时
AJMP KEY ;继续查询按键;―――――――――――键盘扫描程序――――――――――
K1:ACALL DISP ;键盘去抖延时
ACALL DISP
ACALL KS ;再次判别是否有键按下
JNZ K2 ;有键按下转移
AJMP KEY ;无按键,误读,继续查询按键K2:MOV R3,#0FEH ;首列扫描字送R3
MOV R4,#00H ;首列号送R4
K3:MOV DPTR,#4401H ;PA口地址送DPTR,开始列扫描
MOV A,R3
MOVX @DPTR,A ;列扫描字送PA口
INC DPTR ;指向PC口
INC DPTR
MOVX A,@DPTR ;读取行扫描值
JB ACC.0,L1 ;第0行无键按下,转查第1行
MOV A,#00H ;第0行有键按下,行首键号送A
AJMP LK ;转求键号
L1:JB ACC.1,L2 ;第1行无键按下,转查第2行
MOV A,#08H ;第1行有键按下,行首键号送A
AJMP LK ;转求键号
L2:JB ACC.2,L3 ;第2行无键按下,转查第3行
MOV A,#10H ;第2行有键按下,行首键号送A
AJMP LK ;转求键号
L3:JB ACC.3,NEXT ;第3行无键按下,转查下一列
MOV A,#18H ;第3行有键按下,行首键号送A
AJMP LK
LK:ADD A,R4 ;形成键码送A
PUSH ACC ;键码入栈保护。