MOV DJNZ MOV CPL L1: RETI 15.每隔1s读一次
TL1,#0B0H R7,L1 R7,#2 P1.0
P1.0,如果所读的状态为“1”,则将片内RAM 10H单元的内容
加1;如果所读的状态为“0”,则将片内RAM 11H单元的内容加1。设单片机的晶振频率为12MHz,试编写程序。
ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV MOV MOV MOV MOV SETB SETB SETB SJMP T1INT: MOV MOV DJNZ MOV SETB MOV JNC INC SJMP L2: INC L1: RETI
END
0000H MAIN 001BH T1INT 0030H SP,#70H TMOD,#10H TH1,#3CH TL1,#0B0H R7,#20 10H,#0 11H,#0 EA ET1 TR1 $
TH1,#3CH TL1,#0B0H R7,L1 R7,#20 P1.0 C,P1.0 L2 10H L1 11H
方式1 50ms ;50ms*20=1s
;T1;定时
第7章 MCS?51系列单片机的串行口
1.若异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率是多少?
2750位/秒=2750波特
2.设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止位),试编程初始化程序。
设定串行口位方式1.
MOV SCON,#40H
MOV PCON,#80H MOV TMOD,#20H MOV TH1,#0F4H MOV TL1,#0F4H SETB TR1
3.MCS?51单片机的串行口控制寄存器SCON的SM2、TB8、RB8有何作用? (1)SM2是多机通信控制位
因多机通信是在方式2和方式3下进行的,所以SM2位主要用于方式2和方式3。当串行口以方式2或方式3接收数据时,如SM2 = 1,则只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求;否则,将接收到的前8位数据丢弃。而当SM2 = 0时,不论接收到的第9位数据是“0”还是“1”,都将前8位数据装入SBUF中,并产生中断请求。
在方式1时,若SM2 = 1,则只有接收到有效停止位时,RI才置1,以便接收下一帧数据。
在方式0时,SM2必须为0。 (2)TB8是发送数据的第9位
在方式2、3时,其值由用户通过软件设置。在双机通信时,TB8一般作为奇偶校验位使用;在多机通信中,常以TB8位的状态表示主机发送的是地址帧还是数据帧,且一般约定:TB8 = 0为数据帧,TB8 = 1为地址帧。
(3)RB8是接收数据的第9位
在方式2、3时,RB8存放接收到的第9位数据,它代表接收到的数据的特征:可能是奇偶校验位,也可能是地址/数据的标志位。
4.设外部晶振频率为6MHz,试编写一段对串行口的初始化程序,使之工作在方式1,波特率为1200b/s;并用查询串行口状态的方式,读出接收缓冲器的数据并回送到发送缓冲器。
MOV MOV MOV MOV MOV CLR SETB JBN MOV CLR 5.设外部晶频率振为SCON,#50H PCON,#80H TMOD,#20H TH1,#0E5H TL1,#0E5H ES TR1 RI,$ A,SBUF RI
11.0592MHz,串行口工作在方式1,波特率为4800b/s。编
写用T1作为波特率发生器的方式字并计算T1的计数初值。
TMOD:20H TH1=TL1=0FAH
6.设计一个单片机的双机通信系统,串行口工作在方式1,编写通信程序将甲机内部RAM 30H~3FH存储区的数据块通过串行口传送到乙机内部RAM 40H~4FH存储区中。
甲机发送(采用查询方式): MOV SCON,#80H MOV PCON,#00H MOV R0,#30H MOV R2,#10H LOOP: MOV A,@R0 MOV C,P MOV TB8,C MOV SBUF,A WAIT: JBC TI,NEXT SJMP WAIT NEXT: INC R0 DJNZ R2,LOOP RET
乙机接收(采用查询方式): LOOP: READ: LP0: LP1: ERR:
MOV MOV MOV MOV JBC SJMP MOV MOV JNC JNB AJMP JB MOV INC DJNZ RET …
SCON,#90H PCON,#00H R0,#40H R2,#10H RI,READ LOOP
A,SBUF C, P LP0 RB8,ERR LP1
RB8,ERR @R0,A R0
R2,LOOP
;设置工作方式2
;置SMOD = 0,波特率不加倍 ;数据区地址指针 ;数据长度 ;取发送数据
;奇偶位送TB8
;送串行口并开始发送数据 ;检测是否发送结束并清TI
;修改发送数据地址指针
;工作方式2,并允许接收 ;置SMOD = 0
;置数据区地址指针 ;等待接收数据长度 ;等待接收数据并清RI
;读一帧数据
;C不为1转LP0
;RB8 = 0,即RB8不为P转ERR ;RB8 = 1,即RB8不为P转ERR ;RB8 = P,接收一帧数据
;出错处理程序
第8章 MCS?51系列单片机系统扩展技术
1.MCS?51单片机扩展系统中,程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会发生冲突?
因为是使用不同的控制信号。
程序存储器的读控制使用/PSEN信号;数据存储器的读、写控制室使用/RD、/WR。 2.试用Intel 2764,6264为MCS?51单片机设计一个存储器系统,它具有8KB EPROM(地址由0000H~1FFFH)和16KB的数据存储器(地址为2000H~5FFFH)。要求绘出该存储器系统的硬件连接图,并指出每片芯片的地址空间。
使用一片Intel 2764,两片RAM6264.
参看图8-22,采用译码器译码。2764可以不用译码,其片选信号直接接地,其地址为0000H~1FFFH,读控制接/PSEN;RAM6264的片选分别接74LS138的/Y1、/Y2,其地址分别为:2000H~3FFFH、4000H~5FFFH,其读。写控制分别接/RD、/WR。
3.在一个8031应用系统中扩展一片2764、一片8255A和一片6264。试画出系统框图,并指出所扩展的各个芯片的地址范围。
参看图8-20、8-23、8-29.
将图8-23中的/CE1接74LS138译码器的/Y0端。 2764的地址空间范围:0000H~1FFFH 6464的地址空间范围:0000H~1FFFH
82552A的口地址:PA口0FFFCH、PB口0FFFDH、PC口0FFFEH、控制口0FFFFH。 4.试设计用两片74LS377和两片74LS244扩展两个并行输出口和两个并行输入口的扩展连接电路图。
参看图8-26、8-27.
5.8255A有哪几种工作方式?怎样进行选择?简述8255A的控制字。
8255A具有3种工作方式,通过向8255A?的控制字寄存器写入方式选择字,就可以规定各端口的工作方式。当8255A工作于方式1和方式2时,C口可用做A口或B口的联络信号,用输入指令可以读出C口的状态。
通过方式选择控制字进行选择。
D7 D6 D5 D4 D3 D2 D1 D0 C口低4位I/O B口I/O 1?输入 0?输出 1?输入 0?输出 B组方式 C口高4位I/O 1?输入 0?输出 0?方式0 1?方式1 1?输入 0?输出 A口I/O 00?方式0 A组方式 01?方式1 1*?方式2 D7=1 标志位
端口C置位/复位控制字
端口C的各位常用做控制或应答信号,通过对8255A的控制口写入置位/复位控制字,可使端口C的任意一个引脚的输出单独置1或清零,或者为应答式数据传送发出中断请求信号。在基于控制的应用中,经常希望在某一位上产生一个TTL电平的控制信号,利用端口C的这个特点,只需要用简单的程序就能形成这样的信号,从而简化了程序。
D7 D6 D5 任意位 D4 D3 D2 D1 D0 1?置位 0?复位 000 选中PC0 D7=0 00 标志位 位选择 001 选中PC1 … 111 选中PC7 D7位为置位/复位控制字标志位,它必须等于0,用来和方式选择控制字进行区分;D3~D1位用于选择对端口C中某一位进行操作;D0位指出对选中位是置1还是清零。D0 = 1时,使选中位置1;D0 = 0时,使选中位清零。
8.SPI总线一般使用几条线?分别是什么?
SPI使用4条线:串行时钟SCK,主机输入/从机输出数据线MISO(简称SO),主机输出/从机输入数据线MOSI(简称SI)和低电平有效的从机选择线CS。
9.I2C总线一般使用几条线?分别是什么?
I2C总线采用两线制,由数据线SDA和时钟线SCL构成。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片微型计算机原理及应用 课后习题答案 山东理工(7)在线全文阅读。
相关推荐: