单片机课后习题 - 图文(3)

2019-01-12 18:59

CR=1;//16位计数器开始工作 while(1); }

8-9甲乙两机利用串行口1的方式1实现双机通信,甲机将片内RAM中30H-3FH单元的内容传送到乙机片内RAM的50H-5FH单元,假设甲乙两机的波特率为2400bps,系统的时钟频率为11.0592MHz,试画出双机通信的电路图,并用汇编语言和C51分别编写相应的程序实现上述任务。

分析:甲乙两机都选择串行口1工作在方式3,9位异步通信方式,TB8作为奇偶校验位,甲机控制字SCON=0C0H,乙机SCON=0D0H。利用定时器T1工作在12T模式,方式2作为串行口的波特率发生器,TMOD=20H,设SMOD=0,PCON=7FH,波特率为2400bps,系统的时钟频率为11.0592MHz,可知T1的重装初值为F4H,

汇编子程序:

TRA_UART:MOV TMOD,#20H ANL AUXR,#0BFH MOV TL1,#0F4H MOV TH1,#0F4H ANL PCON,#7FH MOV SCON,#0C0H MOV R0,#30H

MOV R7,#10H SETB TR1 LOOP: MOV A,@R0 MOV C,P MOV TB8,C MOV SBUF,A WAIT: JNB TI,WAIT CLR TI INC R0

DJNZ R7,LOOP RET 已机接收子程序:

RES_UART: MOV TMOD,#20H MOV TL1,#0F4H MOV TH1,#0F4H ANL AUXR,#0BFH ANL PCON,#7FH MOV SCON,#0D0H MOV R0,#50H MOV R7,#10H SETB TR1 LOOP: NOP

WAIT: JNB RI,WAIT CLR RI MOV A,SBUF MOV C,P ANL C,/RB8 MOV F0,C MOV C,RB8

ANL C,/P ORL C,F0

JC ERROR MOV @R0,A INC R0

DJNZ R7,LOOP RET ERROR: … … RET

C语言程序:甲乙两机都选择方式1,8位异步通信方式,甲机的控制字SCON=40H,乙机的控制字SCON=50H,选择校验方式为和校验,其他不变 甲机的发送程序: #include unsigned char idata buf[16]; unsigned char pf; void main() {

unsigned char i,j; SCON=0x40; TMOD=0x20; PCON=PCON&0x7F; AUXR=AUXR&0xBF; TL1=0xF4; TH1=0xF4; TR1=1; pf=0;

for(i=0;i<16;i++) {

SBUF=buf[i]; pf+=buf[i];

while (TI==0); TI=0;

} SBUF=pf; while (TI==0); TI=0; } while(1); }

已机接收程序: #include unsigned char idata buf[16]; unsigned char pf; void error(); void main() {

unsigned char i,j; SCON=0x50; TMOD=0x20; PCON=PCON&0x7F; AUXR=AUXR&0xBF; TL1=0xF4; TH1=0xF4; TR1=1; pf=0;

for(i=0;i<16;i++) { while(RI==0) ;

RI=0;

buf[i] =SBUF; pf+=buf[i]; }

while (RI==0); RI=0;

if(SBUF^pf) error(); while(1); }

void error() {………..}

11-4 设计电路并编写程序:使用8255A驱动2个共阳极数码管,从0开始显示,每隔1秒钟加1,直到99,反复循环。

设计电路如图习题11—4。(此处74HC373作驱动之用,不是锁存)

汇编语言程序段:

APORT EQU 0F8FFH ;A口 BPORT EQU 0F9FFH ;B口 CONPORT EQU 0FBFFH ;控制字端口 AUXR EQU 8EH ORG 0H LJMP MAIN MAIN: MOV SP,#0AFH

ORL AUXR,#00000010B MOV A,#80H


单片机课后习题 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:ArcSde的两种连接方式、区别和常见问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: