当前位置:网站首页>单片机期末复习大题
单片机期末复习大题
2022-08-05 05:24:00 【毕竟是shy哥】
每一题预测的都有所依据,考完试再做预测分析,给大家个交代。
之前课本上老师划得也看看吧,当然,我觉着这几个才是重点!
一、分析与编程
- 考点最大的我认为还是第四题
- 编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。
答案:
START: MOV R0,#30H
MOV R2,#20H
LOOP: MOV A,@R0
CJNE A,#0AAH,NEXT
MOV 51H,#01H
LJMP EXIT
NEXT: INC R0
DJNZ R2,LOOP
MOV 51H,#00H
EXIT: RET
二、线转法
- 对下图所示的键盘,采用线反转法原理编写出识别某一按键被按下并得到其键号的程序。

KEYIN: MOV P1,#0FH ;反转读键
MOV A,P1
ANL A,#0FH
MOV B,A
MOV P1,#0F0H
MOV A,P1
ANL A,#0F0H
ORL A,B
CJNE A,#0FFH,KEYIN1
RET ;未按键
KEYIN1: MOV B,A ;暂存特征码
MOV DPTR,#KEYCOD ;指向特征码表
MOV R3,#0FFH ;顺序码初始化
KEYIN2: INC R3
MOV A,R3
MOVC A,@A+DPTR
CJNE A,B,KEYIN3
MOV A,R3 ;找到,取顺序码
RET
KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查
RET ;已查完,未找到,以未按键处理
KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表
DB 0D7H,0DBH,0DDH,0DEH
DB 0B7H,0BBH,0BDH,0BEH
DB 77H,7BH,7DH,7EH
三、串行口编程
- 若晶体振荡器为11.0592MHz,串行口工作于方式1,波特率为4 800bit/s,写出T1采用方式2作为波特率发生器的方式控制字和初始化程序。
答案:计数初值为FAH,
ANL TMOD,#0FH ;屏蔽高4位
ORL TMOD,#20H ;控制字
MOV TH1,#0FAH ;写入计数初值
MOV TL1,#0FAH
MOV SCON,#40H
四、82c55
- AT89S52单片机扩展了一片82C55,若把82C55的PB口用作输入,PB口的每一位接一个开关,PA口用作输出,每一位接一个发光二极管,请画出电路原理图,并编写出PB口某一位开关接高电平时,PA口相应位发光二极管被点亮的程序。
答:时间问题,我只接了一个演示一下,意思意思,明白就行。
只需要将读到的PB口的值送给PA口就可以满足题目要求了。
ORG 0100H
MIAN: MOV A,#10000010B ;设置PA口方式0输出,PB口方式0输入
MOV DPTR,#0FF7FH ;控制口地址送DPTR
MOVX @DPTR,A ;送方式控制字
MOV DPTR,#0FF7DH ;PB口地址送DPTR
MOVX A,@DPTR ;读入开关信息
MOV DPTR,#0FF7CH ;PA口地址送DPTR
MOVX @DPTR,A ;PA口的内容送PB口点亮相应的二极管
END
五、20分
1.下图中外部扩展的程序存储器和数据存储器容量各是多少?
2.三片存储器芯片的地址范围分别是多少??(单片机发地址时,每次只能选中一片芯片) 。
3.请编写程序(用汇编语言),指令后要有注释,要求:
(1)将内部RAM 40H~4FH中的内容送入1# 6264的前16个单元中;
(2)将2# 6264 的前4个单元的内容送入片内RAM单元50H~53H中;
答:
外扩的程序存储器容量为:8kB
外扩的数据存储器容量为:8kB×2=16kB程序存储器2764地址范围为: A15 A14 A13
0 0 0
范围为:0000H~1FFFH
数据存储器1#6264地址范围为: A15 A14 A13
0 1 1
范围为:6000H~7FFFH
数据存储器2#6264地址范围为: A15 A14 A13
1 0 1
范围为:A000H~BFFFH编写程序
(1)
MOV R0, #40H
MOV DPTR, #6000H ;设置数据指针为6000H
LOOP:MOV A, @R0 ; 将片内RAM(40∼4FH)中的内容送入A中
MOVX @DPTR, A ; 将A→@DPTR中
INC R0
INC DPTR
CJNE R0, #10H,LOOP; 将此子程序,循环执行16次
RET
(2)
MOV R0, #50H
MOV DPTR, #0A000H ; 设置数据指针为A000H
LOOP:MOVX A, @DPTR
MOV @R0, A ; 将外部数据存储器内容送入到片内中
INC R0
INC DPTR
CJNE R0, #04H,LOOP ; 将此子程序循环执行4次
RET
边栏推荐
- The problem come from line screening process
- The method of using ROS1 bag under ROS2
- 程序员应该这样理解I/O
- sql server duplicate values are counted after
- BIO,NIO,AIO实践学习笔记(便于理解理论)
- [问题已处理]-虚拟机报错contains a file system with errors check forced
- 七种让盒子水平垂直居中的方法
- product learning materials
- Proprietary host CDH
- From "dual card dual standby" to "dual communication", vivo took the lead in promoting the implementation of the DSDA architecture
猜你喜欢

What's the point of monitoring the involution of the system?

Mina's long and short connections

Transformer详细解读与预测实例记录

Dry!Teach you to use industrial raspberries pie combining CODESYS configuration EtherCAT master station

selenium learning

Complete mysql offline installation in 5 minutes

NAT实验

Cloud Computing Basics - Study Notes

Wireshark packet capture and common filtering methods

ALC experiment
随机推荐
Browser Storage for H5
浏览器兼容汇总
Mina's long and short connections
Shadowless Cloud Desktop
Media query, rem mobile terminal adaptation
System basics - study notes (some command records)
What is the website ICP record?
用户和用户组管理、文件权限管理
RAID磁盘阵列
Transformer interprets and predicts instance records in detail
config.js related configuration summary
wc, grep, tar, vi/vim
Programmers should understand I/O this way
D39_Eulerian Angles and Quaternions
网络层协议介绍
Quick question and quick answer - FAQ of Tencent Cloud Server
Problems encountered in installing Yolo3 target detection module in Autoware
NAT实验
King power volume LinkSLA, realize operations engineer is happy fishing
GetEnumerator method and MoveNext and Reset methods in Unity