没有合适的资源?快使用搜索试试~ 我知道了~
高级电工单片机实操教程.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 79 浏览量
2021-10-02
16:59:47
上传
评论
收藏 454KB DOC 举报
温馨提示
试读
31页
单片机技术
资源推荐
资源详情
资源评论
试题编号 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
3102
控制要求:利用 8031 定时器与中断功能控制一个“航标灯”,黑夜时发光二极管按指定频率
闪烁(如:亮 2S,灭 2S,循环);白天时发光二极管不亮。
电路图:
电路工作原理:
白天光敏电阻阻值小,使 P3.2 输入电位为高电平,不产生中断,使 LED 灭。晚上光敏
电阻阻值变大,使 P3.2 的输入电位为低电平,这时产生中断,中断使 LED 闪烁。只要
是在晚上要求 LED 一直闪烁。所以中断应该采用电平触发方式。
调试方法:
接好电路,编好程序,使光敏电阻暴露在光线下,调节 Rp 到最小值,这时 LED 应该闪
烁。慢慢调大 Rp 的阻值,使 LED 刚刚灭,保持 Rp 这时的阻值即可。当用手遮住光敏
电阻的光线,LED 就会闪烁。
编程思路:
使用定时器 T0,方式 1。所以 TMOD=0 0 0 0 0 0 0 1
即:01H 使用指令: MOV TMOD , #01H
每 50ms 中断一次
当晶振为 12MHZ 时,1us 加一。50ms=50000us。所以赋初值为
65536-50000=15536 ,将 15536 转换为十六进制为 3CB0H 高八位送 TH0, 第八位送
TL0. 使用指令: MOV TH0 , #3CH
MOV TL0 , #0B0H
当晶振为 6MHZ 时,2us 加一。50ms=50000us,50000/2=25000 所以赋初值为
65536-25000=40536 ,将 40536 转换为十六进制为 9E58H 高八位送 TH0, 第八位送
TL0 , 使用指令 :MOV TH0 , #9EH
MOV TL0 , #58H
P1.0
INT0
1
8031
LED
R1
10kΩ
VT
9013
R2
200Ω
P3.2
+ 5V
12
Rp
10kΩ
光敏电阻
当晶振为 11.0592MHZ 时, 12/11.0592 us 加一。 50ms=50000us, 50000*11.0592/12=
46080 所以赋初值为
65536-46080=19456 ,将 19456 转换为十六进制为 4C00H 高八位送 TH0, 第八位送
TL0 , 使用指令 :MOV TH0 , #4CH
MOV TL0 , #00H
因为 50ms 闪烁一次太快,当要求 2S 进行一次闪烁时则需要中断 2S/50 ms=40 次。
参考程序:(以 12MHZ 为例)
ORG 0000H
AJMP MAIN
ORG 0003H ;外部中断 0 的中断入口地址
AJMP HYSD
MAIN:MOV TMOD,#01H ;设置 T0 工作方式 1,且为定时
MOV IE,#81H ;CPU 开中断和外部中断 0 开中断
BT:CLR P1.0
SJMP BT ;白天灭 LED 且等待中断
HYSD:SETB P1.0 ;亮 LED
MOV RO,#40 ;定时 40 次,即:50ms*40=2S(这里亮 2S)
LP:MOV TH0,#3CH ;赋初值
MOV TL0,#0B0H
SETB TR0 ;启动定时
JNB TF0,$ ;等待 50ms 定时到,定时到后 TF0 为 1
CLR TF0 ;软件清除 T0 的溢出标志位 TF0
DJNZ R0,LP ;判断是否有 40 次 T0 定时
MOV R0 , #20
LP1: MOV TH0 , #3CH
MOV TL0 , #0B0H
SETB TR0
JNB TF0 , $
CLR TF0
DJNZ R0 , LP1
JNB P3.2,HYSD
RETI 18 句
+5
V
1213
14
11 10
9
8
1 2 3 4 5 6 7
CC4011
Vcc 4A 4B
4Y
3Y 3B
3A
1A
1B 1Y
2Y 2A
2B
Vss
试题编号 3105
考题:循环点亮 8 个发光二极管。
控制要求:利用左移或右移指令从左向右点亮并循环 n 次,或从右向左点亮并循环 n 次,循
环完毕全部熄灭。(循环顺序及次数由考评员现场指定)
高电单片机实操程序
1.电路原理图:
8031
P1.0
P1.7
R0
R7
200Ω
LED0
LED7
CC4011
CC4011
+
5V
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST/VPD
RXD P3.0
TXD P3.1
INT0 P3.2
INT1 P3.3
T0 P3.4
T1 P3.5
WR P3.6
RD P3.7
XTAL2
XTAL1
Vss
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Vcc
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/Vpp
ALE/PROG
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
8031
8051
8751
剩余30页未读,继续阅读
资源评论
zhangao_fengg
- 粉丝: 17
- 资源: 5万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功