级单片机复习例题 (有答案版)
更新时间:2024-06-02 07:31:01 阅读量: 综合文库 文档下载
- 单片机编程例题推荐度:
- 相关推荐
11级单片机总复习
开卷考试,可以带书和手写的作业本,笔记本,不许带打印的和复印的资料。 题型
1、填空题(C语言任务1-12,在4-7题考不到的如串口) 2、简答题(C语言任务1-12,在4-7题考不到的如串口) 3、读程序(C语言任务1-12,在4-7题考不到的如串口) 4、写程序(C语言定时器、计数器、中断参考任务4-5) 5、综合(存储器扩展参考任务7)
6、综合(A/D D/A扩展参考任务11-12) 7、综合(键盘 显示器扩展参考任务9-10)
一、填空题
样题:40个引脚的功能、作用p17 如:
? 8031引脚T1的作用__________,/EA的作用________________________。
二、简答题
存储器
? MCS-51单片机片内RAM低128字节单元划分为哪几个区域?应用时应该如何合理有效地使用?(片内数据存储器分为哪几个性质和用途不同的区域?)(试说明8051单片机按照存储器功能和所在位置分类,并分别说明其容量。)(8051单片机存储器的组织结构是怎样的?)
? ? ? ?
8051片内数据存储器分为哪几个性质和用途不同的区域? 51单片机有几种地址译码方式,分别说明它们的优缺点。 C51变量有几种存储类型,分别说明它们的特点。
单片机访问外设有哪几种方式,分别说明它们的特点。
1
? 计算机的数据传输方式分为串行传输和并行传输,试说明它们各自的传输特点、优缺点
和使用场合。
三、读程序
样题:1.阅读下列C语言程序,并详细解释指定位置语句的功能。 # include
unsigned char data daData;
unsigned char xdata *add_dac0832 = 0x7fff; //语句功能定义add_dac0832 指向片外地址0x7fff void Delay(unsigned int Delay) { for( ;Delay>0;Delay--) ; }
void main( ) { daData=0; while(1)
{ *add_dac0832 = daData; //语句功能 把daData赋值给D/A进行转换 delay();
daData++; //语句功能_daData数值自加1_ } }
该段程序的功能__产生阶梯波
四、编程题(定时器、计数器、中断、查询)
样题:.
8051采用3MHz晶振,写一个完整的程序实现从P2.1输出周期为20ms的方波,要求使用定时/计数器T1和查询方式,寄存器中任意位用“1”代。(8分)(用C51语言实现)
1. 3Mhz的晶振:机器周期是4us,相当于是定时器自动加1的时间是4us
2. P2.1输出周期为20ms的方波:周期是20m则定时10ms,P2.1进行一次反转
3. 使用定时/计数器T1和查询方式:初值的计算 10000/4 = 2500; 利用定时器方式2
TH1 = (65535-2500)/256; TL1 = (65535-2500)%6
程序:
#Include
Sbit Square_Wave = P2^1;
Void main()
2
{
TMOD = 0X10;
TH1 = (65535-2500)/256; TL1 = (65535-2500)%6; TR1 = 1;
While(1) {
While(TF1) {
TF1 = 0;// 在中断中硬件自动清零,在查询方式下则要软件清零 Square_Wave = ~Square_Wave; } } }
五、综合(存储器扩展任务7)
样题:
如图,某8051单片机扩展2片存储器。(共14分) 1、U2是程序存储器还是数据存储器,并说明原因;(3分)
U2是数据存储器:程序存储器的读操作是由PSEN//控制,数据存储器的读写有RD/,WR/信号控制。
2、U2地址范围是多少?写出计算过程;(4分)
74138是数据选择器(低电平有效):当A15 A14 A13 = 0 1 0 时,选中了片选段U2_CS, 所以U2的地址范围是:0X4000---0X5FFF
3、若希望U1的地址范围是A000H~BFFFH,U1的片选信号如何连接;(3分)
A :1010 B: 1011
所以当A15 A14 A13 = 101 时,选中的是U1,则U1的片选端U1_CS 接在74138的 Y5输出端。
4、写一段程序将地址为66H和67H的内部数据存储器内容相减,存入U2尾单元。(4分)(用C51语言实现)
程序:
#include
3
unsigned char data *INRAM1 = 0X66; //直接寻址方式访问内部数据存储器 unsigned char data *INRAM2= 0X67; //直接寻址方式访问内部数据存储器 char xdata *EXTRAM = 0X5fff ; //访问外部数据存储器
Void main(void) {
char temp;
temp = *INRAM1-*INRAM2; *EXTRAM = temp;
While(1); }
D[0..7]A8A9A10A11A12A13A14A15U521222324252627281011121314151617P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INTOP3.3/INT1P3.4/TOP3.5/T1P3.6/WRP3.7/RDPSENALE/PROGP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7XTAL1XTAL2RSTEA/VPP8051A131A142A153VCC645G1G2AG2B74LS1383938373635343332123456781918931U4ABCY0Y1Y2Y3Y4Y5Y6Y7109876543252421232U2_CS20/WR/RD2722347813141718ALE111U3D0D1D2D3D4D5D6D7GOC74LS373/PSENQ0Q1Q2Q3Q4Q5Q6Q7A[0..12]2569121516191098765432524212322022271U1A0A1A2A3A4A5A6A7A8A9A10A11A12CEOEPGMVPPO0O1O2O3O4O5O6O711121315161718190/WR/RD/PSEN29ALE30U2A0A1A2A3A4A5A6A7A8A9A10A11A12CSWEOED0D1D2D3D4D5D6D715141312111097U2_CS11121315161718190?
六、综合(A/D D/A扩展任务11-12)
样题:如图:8051和ADC0809系统,(共10分) 1. 计算ADC0809各通道地址(IN0~IN7);(3分)
4
提示:未使用的地址线默认为“1”。
P2^5一定要为0的时候,才能选中AD芯片 INT0: DFF8 INT1: DFF9 INT2: DFFA INT3: DFFB INT4: DFFC INT5: DFFD
2. 写一段程序从IN5读取数据存入地址为4000H的外部数据存储器;(5分)(用C51语
言实现)
#include
#include//定义绝对地址访问头文件 #define uchar unsigned char #define IN5 XBYTE[0xdffd]
#define ExtRam XBYTE[0x4000] uchar xdata *ad_address; uchar xdata *ad_Ext; main() {
IT1 = 1; EX1 = 1; EA = 1;
ad_address = &IN5; ad_Ext = &ExtRam; while(1); }
void Int_ADC(void) interrupt 2 {
*ad_Ext = *ad_adress; }
3. 若8051的晶振12MHz,ADC0809的工作频率不超过典型频率,ADC0809的CLK从
ALE引入,分频器应该用多少分频,并说明原因。(2分)
ADC0809的转换时钟由单片机的ALE提供。ADC0809的典型转换频率是640Khz,ALE的信号频率与晶振频率有关,如果晶振频率是12Mhz,则ALE是2Mhz,所以ADC0809的时钟端与单片机的ALE端连接的时候,要进行4分频。
5
U221222324252627P2.728101112/INT1131415/WR16/RD1729ALE30P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INTOP3.3/INT1P3.4/TOP3.5/T1P3.6/WRP3.7/RDPSENALE/PROGP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7XTAL1XTAL2RSTEA/VPPAT89C513938373635343332123456781918931347813141718ALE111U3D0D1D2D3D4D5D6D7GOC74LS373/WR23P2.52/RD3NOR2NOR2U61U51Q0Q1Q2Q3Q4Q5Q6Q72569121516191714158181920212524236229U1D0D1D2D3D4D5D6D7A0A1A2STARTALEOEEOCADC080972U4NOT1/INT1IN0IN1IN2IN3IN4IN5REF+REF-CLK262728123+5V1216010分频器ALE0
七、综合(键盘 显示器扩展任务9-10)
样题:如图8051通过74LS377扩展LED数码管,(共8分)(未使用的地址线默认为“1”) 1、 U1地址是多少?(2分)
U1的地址是:BFFF
2、 要使U2的地址是7FFFH,U2的片选如何连接?(2分) 7=0111; 接P2^7
3、 写一段程序在LED1和LED2上分别显示“0”和“1”。(4分)(用C51语言实现)
#include
#define SHUMA1 XBYTE[0xbfff] #define SHUMA2 XBYTE[0x7fff]
void delay(void) { unsigned char i=1; for(;i>0;i--); }
void main(void) { while(1) { SHUMA1 = 0x3f; delay(); SHUMA2 = 0x06; delay();
6
}
P20P21P22P23P24P25P26P27}
U3U52122232425262728P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INTOP3.3/INT1P3.4/TOP3.5/T1P3.6/WRP3.7/RDPSENALE/PROGP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7XTAL1XTAL2RSTEA/VPPAT89C513938373635343332123456781918931P00P01P02P03P04P05P06P07/WRP26P00P01P02P03P04P05P06P07347813141718111U1D1D2D3D4D5D6D7D8CLKG74LS377P00P01P02P03P04P05P06P07347813141718111U2D1D2D3D4D5D6D7D8CLKG74LS377Q1Q2Q3Q4Q5Q6Q7Q8256912151619U4abcdefgdpQ1Q2Q3Q4Q5Q6Q7Q8256912151619abcdefgdpLED1VCCcom101112131415/WR16/RD172930LED2VCCcom
七、如图,8051单片机通过74LS244扩展按键SW0~SW7共8个(图中只画出SW0和SW7,其它按键SW1、SW2、SW3、SW、SW、SW6与SW0、SW7相似),(共8分)(提示:未使用的地址线默认为“1”) 1. 说明U2端口地址;(2分)
U2的端口地址:0xBFFF
2. U2是输入接口还是输出接口?说明原因;(2分)
U2接口:是输入接口
原因:U2的一个控制端接的是单片机的RD/,则说明U2是输入接口
U2的输入端口接的是扩展按键SW0~SW7,输出接口接到单片机的P0口,则 说明U2是输入接口
3. 写一段程序读取按键值送到内部数据存储器地址为30H的存储单元。(4分)(用C51
语言实现)
#include
#define SHUMA1 XBYTE[0xbfff]
unsigned char data *In_Ram = 0x30;
void delay(void)
7
{ unsigned char i=10; for(;i>0;i--); }
void main(void) { unsigned char temp; while(1) { temp = SHUMA1; *In_Ram = temp; delay(); } }
VCCU52122232425262728P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INTOP3.3/INT1P3.4/TOP3.5/T1P3.6/WRP3.7/RDPSENALE/PROGP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7XTAL1XTAL2RSTEA/VPPAT89C5139383736353433321234567819189312P20P21P22P23P24P25P26P27P00P01P02P03P04P05P06P07181614129753U21Y11Y21Y31Y42Y12Y22Y32Y41A11A21A31A42A12A22A32A41G2G74LS244R02468111315171191k22R71kSW0SW71101112131415/WR16/RD172930101U6OR2/RDP263
8
正在阅读:
级单片机复习例题 (有答案版)06-02
人类常见的思维盲区06-03
膜片钳常见问题解答讲解11-13
《计算机基础》习题集答案04-05
创先争优:优秀共产党基本标准03-18
怎么解决合肥院HRM立磨磨辊磨损冲刷问题 - 图文10-23
考研-国家发展战略相关试题(附评分标准)05-03
时间的形状读后感10篇12-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 例题
- 单片机
- 复习
- 答案
- 在《统计与概率》教学中创设情境的研究
- 网吧主管测试题
- 不同钢号相焊时如何选用焊接材料推荐表
- 高处作业理论题(15套)
- 请假条怎么写事假示范
- 江门市促进高校毕业生就业创业扶持政策
- 这个寒假,语文学习这样度过……
- 4 曲折的中东和平进程 教学设计 教案
- 四级翻译每日一译6
- 高二语文同步检测七
- 高三生物一轮复习第三单元第一讲酶和ATP课时跟踪检测新人教版必
- 财务汇总
- 选修排球试题库
- 基于plc的自动控制分拣系统的设计
- 苏教版 二年级上册数学第四单元表内除法(一)单元教案及教学反思
- 实验实训中心开展深入学习实践科学发展观活动学习调研阶段工作安
- 质量通病防治监理实施细则
- 2018年四川省成都市高考数学一诊试卷(理科)(附解析)
- 地热能开发及利用项目可行性研究报告 - 图文
- 高一下期物理定时训练( 2)