- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
试卷编号3301
控制要求:在内部RAM中20H开始的地区中存有二十个无符号数,找出此中最大和最小数,
分别送34H和35H单元。(注:目标程序于0800H单元开始)
ORG
0000H
LJMP
MAIN
ORG
0800H
MAIN:
MOV
R0,#20H
;从内部20H单元开始查找
MOV
R7,#19
;20个数需要比较19次
MOV
34H,@R0
;将20H单元的内容同时送
34H和35H
MOV
35H,@R0
LOOP:
INC
R0
;指向下一个单元
MOV
A,@R0
;读取到ACC
CJNE
A,34H,B1
;将读取的内容与34H
的内容进行比较,不相等跳
B1处
SJMP
EXIT
;相等则不作其余比较跳
EXIT处
B1
:
JC
XIAO
;若A的内容小于34H
的内容则C为1,跳XIAO
处
MOV
34H,A
;C为0表示A大于34H的内容则替代掉
34H的内容
SJMP
EXIT
;替代退后出不作最小数比较
XIAO
:
CJNE
A,35H,B2;作最小数比较,不相等跳
B2处
SJMP
EXIT
;相等退出到EXIT处
B2
:
JNC
EXIT
;若A的内容大于35H
的内容跳EXIT处
MOV
35H,A
;若A的内容小于35H的内容则替代掉
35H的内容
EXIT
:
DJNZ
R7,LOOP
;判断比较次数能否完成
SJMP
$
;比较完成原地等候
END
开始
19→R7
20H→R0
((R0))→34H
((R0))→35H
(R0)+1→R0
((R0))→A
≠(34H)吗?
Y
>(34H)吗?
N
≠(35H)吗?
Y
<(35H)吗?
N
Y(R7)-1→R7
(R7)≠0吗?
N
等候
N
Y
(A)→34H
N
Y
(A)→35H
结束
3102
控制要求:利用8031
闪耀(如:亮2S,灭
准时器与中止功能控制一个“航标灯”2S,循环);白日时发光二极管不亮。
,黑夜时发光二极管按指定频次
电路图:
VT
LED
R2
1
R1
+5V
1.0
9013
200Ω
P
10kΩ
8031
12
INT0
P3.2
光敏电阻
Rp
10kΩ
电路工作原理:
白日光敏电阻阻值小,使
P3.2输入电位为高电平,不产生中止,使
LED灭。夜晚光敏
电阻阻值变大,使P3.2的输入电位为低电平,这时产生中止,中止使
LED闪耀。只需
是在夜晚要求LED向来闪耀。所以中止应当采纳电平触发方式。
调试方法:
接好电路,编好程序,使光敏电阻裸露在光芒下,调理
Rp到最小值,这时LED应当
闪耀。慢慢调大Rp的阻值,使LED刚才灭,保持
Rp这时的阻值即可。当用手遮住光
敏电阻的光芒,LED就会闪耀。
编程思路:
使用准时器
T0,方式1。所以TMOD即:01H
使用指令:
MOVTMOD,
#01H
每50ms中止一次
当晶振为12MHZ时,1us加一。50ms=50000us。所以赋初值为
65536-50000=15536,将15536变换为十六进制为3CB0H高八位送TH0,第八位
送TL0.使用指令:MOVTH0,#3CHMOVTL0,#0B0H
当晶振为6MHZ时,2us加一。50ms=50000us,50000/2=25000所以赋初值为
65536-25000=40536,将40536变换为十六进制为9E58H高八位送TH0,
第八位
送
TL0,
使用指令:MOV
TH0,#9EH
MOV
TL0,#58H
当晶振为11.0592MHZ时,
=46080所以赋初值为
12/11.0592us加一。
50ms=50000us,
50000*11.0592/12
65536-46080=19456
,将
19456变换为十六进制为
4C00H
高八位送
TH0,
第八位
送
TL0,
使用指令:MOV
TH0,#4CH
MOV
TL0,#00H
由于
50ms闪耀一次太快,当要求
2S进行一次闪耀时则需要中止
2S/50ms=40次。
参照程序:
(以
12MHZ
为例)
ORG
0000H
AJMPMAIN
ORG0003H
AJMPHYSD
;外面中止
0的中止进口地点
MAIN:MOVTMOD,#01H
MOVIE,#81H
;设置T0工作方式1,且为准时
;CPU开中止和外面中止0开中止
BT
:CLRP1.0
SJMPBT
HYSD:SETBP1.0
MOVRO,#40
LP:MOVTH0,#3CH
MOVTL0,#0B0H
SETBTR0
JNBTF0,$
CLRTF0
DJNZR0,LP
MOVR0,
文档评论(0)