15. 设某异步通信接口,每帧信息格式为10位,当接口每秒传送1000个字符,其波特率为多少?
答:波特率为:
1000×10bit/s=10000bit/s
19.用汇编语言和c语言编程实现一个双机通信系统,将甲机的片内ram中30h~3fh的数据块,传送到乙机片外ram中0030h~003fh中,并画出电路图。
解:汇编语言。
甲机发送程序:
org 0000h
ljmp maina跳至主程序入口。
org 0023h
ajmp ser_t1a转至串行中断服务程序。
org 0100h
maina: mov sp ,#60h设置堆栈指针。
mov scon ,#40h ;串行口置工作方式1
mov tmod ,#20h ;定时器1为工作方式2
mov tl1 ,#n定时器1计数初值。
mov th1 ,#n计数重装值。
mov pcon ,#00h ;波特率不倍增。
setb tr1启动定时器1
setb ea中断总允许。
setb es串行口开中断。
mov dptr ,#30h ;发送数据的首地址30h送dptr
mov r0 ,#00h传送字节数初值。
movx a ,@dptr取第一个发送字节。
mov sbuf ,a启动串行口发送。
sjmp等待中断。
ser_t1a: clr ti将中断标志清零。
cjne r0 , #0fh,loopa ;判断128b是否发送完,若没完,则转loopa
继续取下一发送数据。
clr es全部发送完毕,禁止串行口中断。
ajmp enda转中断返回。
loopa: inc r0字节数加1
inc dptr地址指针加1
movx a ,@dptr取发送数据。
mov sbuf ,a启动串行口。
enda: reti中断返回。
end乙机接收程序:
org 0000h
ljmp mainb转主程序。
org 0023h
ajmp ser_t1b转串行口中断服务程序。
org 0100h
mainb: mov sp ,#60h设置堆栈指针。
mov scon ,#50h ;串行口置工作方式1,允许接收。
mov tmod ,#20h ;定时器1为工作方式2
mov pcon ,#00h ;波特率不倍增。
mov tl1 ,#n设置计数初值。
mov th1 ,#n计数重装值。
setb tr1启动定时器1
setb ea开中断。
setb es串行口开中断。
mov dptr ,#0030h ;数据缓冲区首地址送dptr
mov r0 ,#00h置传送字节数初值。
sjmp等待中断。
中断服务程序。
ser_t1b: clr ri清接收中断标志。
mov a ,sbuf取接收的数据。
movx @dptr ,a ;接收的数据送缓冲区。
cjne r0 ,#0fh ,loopb ;判别接收完没有。若没有,转loopb,继续接收。
clr es若接收完,则关串行口中断。
ljmp endb
loopb: inc r0计数指针加1
inc dptr地址指针加1
endb: reti中断返回。
endc语言:
甲机发送程序:
#include <>包含8051单片机的寄存器定义头文件 */
unsigned char xdata addra [16]; 在外部ram区定义16个单元 */
unsigned char num=0声明计数变量 */
unsigned char *p定义 p为指针 */
void main(void主程序 */
scon=0x40置串行口工作方式1 */
tmod=0x20定时器1为工作方式2 */
pcon=0x00smod=0 */
tl1=0xnm置计数初值 */
th1=0xnm计数重装值 */
tr1=1启动定时器1 */
ea=1开中断 */
es=1串行口开中断 */
p=0x30设置发送数据缓冲器区指针 */
sbuf=*p发送第一个数据 */
while (1等待中断 */
void ser_t1a (void) interrupt 4 /*中断号4是串行中断 */
ti=0清发送中断标志 */
if (num==0x0f) es=0判断是否发送完,若已完,则关中断 */
else否则,修改指针,发送下一个数据 */
乙机接收程序:
#include <>包含8051单片机的寄存器定义头文件 */
unsigned char xdata addrb [16]; 在外部ram区定义128个单元 */
unsigned char num=0声明计数变量 */
unsigned char *p定义 p为指针 */
void main(void主程序 */
scon=0x50置串行口工作方式1,允许接收 */
tmod=0x20定时器1为工作方式2 */
pcon=0x00smod=0 */
tl1=0xnm置计数初值 */
th1=0xnm计数重装值 */
tr1=1启动定时器1 */
ea=1开中断 */
es=1串行口开中断 */
p=addrb设置接收数据缓冲器区指针 */
while (1等待中断 */
void ser_t1b (void) interrupt 4 /*中断号4是串行中断 */
第6章作业
第6章高聚物的分子运动。1.已知聚乙烯 pe 和聚甲基丙烯酸甲酯 pmma 的流动活化能 e 分别为10千卡 摩尔和46千卡 摩尔,聚乙烯在200 时粘度为9.1 102泊,聚甲基丙烯酸甲酯在240 时粘度为2.0 103泊,a 分别计算聚乙烯在210 和190 时以及聚甲基丙烯酸甲酯在250 和2...
第6章作业
第6章作业及思考题。1.设一薄物体的面积 厚度 密度 热容和它与周围环境间的对流换热系数分别为a c 和h。当薄物体一面受温度为t 的热气流加热,并同时受热通量为的辐射加热,吸收率为 另一面不绝热。求薄板着火时间 初始温度t0,自燃温度为ti 2.分别举例说明可燃固体的燃烧有哪几种形式?举例说明。3...
第6章作业
明娟不再和阿苏说话了。自从明娟第一天到爱通公司上班,她就注意到了阿苏,阿苏总是表现得冷漠疏远。开始,她认为阿苏是憎恨她的工商管理项士学位,她在公司的快速提升,或者是她的雄心壮志。但是,明娟决心同办公室里的每一位同事都处好关系,因此她邀请他出去吃午饭,一有可能就表扬他的工作,甚至还同他的儿子保持联络。...