10年复习单片机.docx
- 文档编号:27053410
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:13
- 大小:148.39KB
10年复习单片机.docx
《10年复习单片机.docx》由会员分享,可在线阅读,更多相关《10年复习单片机.docx(13页珍藏版)》请在冰豆网上搜索。
10年复习单片机
复习
练习1
现有一蜂鸣器,用80C51设计一系统,使蜂鸣器周而复始地响1min,停1min,设晶振为12MHz。
要求采用定时子程序。
画出电路,编写子程序和主程序。
解:
1.电路
2.定时子程序
定时器计数一次的时间:
s=1us
定时50ms的计数次数:
=50000次
定时/计数器工作方式:
方式013位定时/计数器
方式116位定时/计数器
方式28位循环定时/计数器(初值重装入)
方式3T1做波特率发生器(用与串行口)
16位定时/计数器的最大计数次数:
216=26K≈64000(次)>50000次
所以:
采用16位定时/计数器(即定时/计数器工作于方式1)
因为:
50000=C350H
所以:
定时器初值=10000H–C350H=3CB0H
流程图
工作方式TMOD=10H
定时器1
定时器0
GATE
C/T(平)
M1
M0
0
0
0
1
—
—
—
—
子程序:
DELAY:
MOVTMOD,#10H;设定时器工作方式
MOVTH1,#3CH;设定时器1高8位TH1的初值
MOVTL1,#B0H;设定时器1低8位TL1的初值
SETBTR1;启动定时器1工作
REQTF1:
JNBTF1,$;查询TF1的状态,等待定时器1溢出
CLRTF1
RET;返回主程序
3.使P1.1电平每隔1min变反一次的主程序
定时子程序定时50ms
要定时1min,需要循环
=1200次
因为:
工作寄存器(R0~R7)只有8位,28=256<1200
所以:
采用双重循环。
设内循环40次,外循环30次,40*30=1200
流程图
程序:
ORG1000H
PRO:
MOVR2,#30;设外循环次数
OUTERLP:
MOVR3,#40;设内循环次数
INNERLP:
LCALLDELAY;调定时50ms子程序
DJNZR3,INNERLP;内循环
DJNZR2,OUTERLP;外循环
CPLP1.0;P1.1取反
AJMPPRO
END
完整程序
ORG1000H
PRO:
MOVR2,#30;设外循环次数
OUTERLP:
MOVR3,#40;设内循环次数
INNERLP:
LCALLDELAY;调定时50ms子程序
DJNZR3,INNERLP;内循环
DJNZR2,OUTERLP;外循环
CPLP1.0;P1.1取反
AJMPPRO
DELAY:
MOVTMOD,#10H;设定时器工作方式
MOVTH1,#3CH;设定时器1高8位TH1的初值
MOVTL1,#B0H;设定时器1低8位TL1的初值
SETBTR1;启动定时器1工作
REQTF1:
JNBTF1,$;查询TF1的状态,等待定时器1溢出
CLRTF1
RET;返回主程序
END
◆思考:
蜂鸣器响10us
练习2.利用80C51串行口工作方式3实现一个数据块的带奇偶校验的发送,设发送数据缓冲区首地址为片内50H,发送数据长度(字节数)为10H,选定波特率为1200,时钟频率为11.0529MHz。
解:
分析:
串行口方式0:
同步通信方式,用于串行口扩展
方式1:
异步通信方式,波特率可变,由T1溢出率决定
即T1溢出
次,发送一个位,T1一般用方式2,
所以波特率=
方式2:
多机通信方式(与SM2有关),波特率=
方式3:
多机通信方式(与SM2有关),波特率与方式1同
查表:
教材P84表4-3
波特率为1200、时钟频率为11.059MHz、SMOD=0时,定时器T1的计数初值为E8H
定时器T1工作于方式2
1.采用查询方式
流程图
定时器工作方式字TMOD=20H
定时器1
定时器0
GATE
C/T(平)
M1
M0
0
0
1
1
—
—
—
—
串行口工作方式字SCON=C0H
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
1
1
0
—
—
—
0
—
程序
ORG1000H
MOVR2,#10H
MOVR0,#50H
MOVSCON,#0C0H
MOVTMOD,#20H
CLRSMOD
MOVTH1,#E8H
MOVTH0,#E8H
BYTLP:
MOVA,@R0
MOVTB8,P
MOVSBUF,A
SETBTR1
JNBTI,$
CLRTI
INCR0
DJNZR2,BYTLP
END
2.采用中断方式
采用循环结构,每次循环发送一个字节,在发送一个字节的过程中需要等待,发送完一个字节后跳出等待,因此用一个标志位来标志一个字节有没有发送完。
该标志位首先清零,在发送一个字节的过程中,不断查询该标志位的状态,若是零,继续查询;
若一个字节发送完毕,进入中断服务子程序,在此子程序中,将标志位置1;
中断处理完毕,返回查询标志位的语句,因为标志位已是1,所以跳出查询
流程图:
(1)主程序
ORG1000H
MOVR2,#10H
MOVR0,#50H
SETBEA
SETBES
CLRET1
MOVSCON,#C0H
MOVTMOD,#20H
MOVPCON,#00H;设置SMOD=0
MOVTH1,#E8H
MOVTH0,#E8H
BYTLP:
CLR00H
MOVA,@R0
MOVTB8,P
MOVSBUF,A
SETBTR1
JNB00H,$
INCR0
DJNZR2,BYTLP
END
(2)中断服务子程序
流程图
子程序
ORG0023H
AJMPSEND
SEND:
CLRTI
SETB00H
RETI
练习3.片内RAM40H开始的单元内有10字节二进制数,编程找出其中最大值并存于片外RAM50H单元
解:
流程图
ORG1000H
MOVR0,#40H
MOVR1,#50H
MOVR2,#10
MOVA,@R0
MOV30H,@R0
CJNEA,30H,LOG1
LOG1:
JCNEXT
XCHA,30H
NEXT:
INCR0
DJNZR2
MOVX@R1,A
END
本课程的重点章节:
第二章单片机的结构
第三章单片机的指令
第四章汇编程序(综合)
第五章第六章第七章三个基本功能
第九章并行扩展键盘和LED显示器
考试题型:
1.单项选择13*2分=26分
2.程序题3小题,共16分
3.应用题5小题,共58分
编程很重要!
注意:
要求编写主程序,一定要有伪指令ORG和END
要求编写指令段,可不写伪指令ORG和END
子程序一定要有返回语句
熟悉指令系统(几类指令)
重点:
1.三个基本功能单元
2.LED显示器
3.单片机指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 复习 单片机