4.单项选择题记住就行啦(看几遍,写在一张纸上,正确率达90%即可)。。。。。(1分钟搞定)
3.填空题记住就行啦(看几遍,写在一张纸上,正确率达90%即可)。。。。(5分钟搞定)
1.简答题(即时记忆能力,手抄三遍?) 《 开考第一件事》
2.程序设计题(三四五章,一共4道程序题,狂抄五遍?脑理解)
第一章
1.1. 单选选择题:
p5 课后习题:1、5、8:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ivOjgXgC-1686740475191)(https://pic1.imgdb.cn/item/646cdd220d2dde577719c3ff.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tsKA1Ee3-1686740475192)(./Images/19.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iszMy5oG-1686740475192)(./Images/20.png)]
答:5. P0口没有上拉电阻。
8.第9号引脚,RST引脚为复位引脚。
p3 口引脚第二功能:————————答:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uBbJoApZ-1686740475193)(./images/2.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YDjGo8bh-1686740475193)(./Images/17.png)]
1.2. 填空题:
p5课后习题:2、7;
答:2.一般取10~30pF , 推荐值为30pF.
7. 32个IO口。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SSkJPlp1-1686740475193)(./images/3.jpg)]
p3: 单片机最小系统包括:_________
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ndUPA4Rf-1686740475194)(./images/4.jpg)]
~~~~~P0、P2口第二功能:P0第二个功能是地址低八位,P2口第二个功能是地址高八位。
1.3. 问答题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tS1HNPSo-1686740475194)(./Images/18.png)]
p5: 例举4点单片机最小系统电路设计应注意的问题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iwvq8FDc-1686740475194)(./images/6.jpg)]
上拉电阻:
常用的复位方式并画1种电路:
(1)上电复位,(2)手动复位。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GFN2Pgyl-1686740475195)(./images/5.jpg)]
p3: 51单片机最小系统设计时EA引脚的连接。
答《EA(31脚)。EA引脚允许访问片外程序存储器/编程电源线。该引脚接《高电平(通常是单片机初始默认的)》时,访问片内程序存储器;该引脚接《低电平》时,访问片外程序存储器;即EA=1,片内程序存储器有效;EA=0,片外程序存储器有效,此时必须有外部扩展存储器。通常在使用时,该脚接高电平。》
答:书本P3中的最小系统单片机接电源(高电平)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AUZjtNQ9-1686740475195)(./Images/21.png)]
第二章
2.1. 单选选择题:
p9、p10: 编译工具和调试工具的工具按钮对应的功能:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PYeIzC7Z-1686740475195)(./images/8.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kSqovbSZ-1686740475195)(./images/7.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eu6M6op2-1686740475195)(./images/22.png)]
2.2. 填空题:
1. pl0: Kei1 uvision可以用来编写及编译C源码和汇编代码;
2. 进行Proteus绘图时调用某个元件的关键词。
答:电阻RES 电容CAP 晶振CRYSTAL 单片机AT89C51 排阻respack-8 按键BUTTON 蜂鸣器BUZZER 共阴数码管7SEG-COM-CAT-GRN
2.3. 问答题:
- pl0-11:Kei1 uvision的工程创建方法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u8LBDIAh-1686740475196)(./images/10.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hgTnynkT-1686740475196)(./images/9.jpg)]
- 用Proteus进行单片机仿真的步骤:
(1)创建文件并保存。
(2)添加元件。
(3)元件布局。.
(4)连线
(5)添加信号源。
(6)给单片机添加"Hex"文件。
(7)运行仿真
第三章
3.1.单选选择题:
1. 选正确的标识符(考核标示符的构成):
答:1.标识符由字母(AZ,az)、数字(0~9)和下划线组成 。 2.首字符不能是数字,但可以是字母或者下划线。
2. i++的内容(给一个循环语句与 i 的初值,循环结束后 i 值是多少):
3. p43: 求运算后的符号(正号 | 还是负号,值是多少):
在使用*、/、%的时候需要注意以下几点。*
(1)在乘法运算的时候“*”不能省,也不能写成“·”和“×”。
(2)除法运算符号为“/”,不能写成“\”。当运算对象都为整数时,运算结果也为整数;当运算对象中有一个是小数时,运算结果也为小数。
(③)求余运算符“%”的操作数必须为整型或者字符型数据。求余运算符的结果符号与****被除数相同。
例如:
7%5结果为2
(-7)%5结果为-2
7%(-5)结果为2
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R4tGZrNO-1686740475196)(./images/33.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-idIVf0g5-1686740475196)(./images/34.jpg)]
4. P47: 左移或右移后的结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kcZXYNk1-1686740475197)(images/13.png)]
3.2.填空题:
p36: 标识符的组成:
答:1.标识符由字母(AZ,az)、数字(0~9)和下划线组成 。 2.首字符不能是数字,但可以是字母或者下划线。
p39: 变量三要素:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sn4A7JB4-1686740475197)(./images/23.jpg)]
p41: 数据类型的自动转换:
自动类型转换:不同数据类型的变量在运算时,由编译系统自动将它们转换成同一数据类型,再进行运算。
自动转换规则:bit→char→int→long→float→signed→unsigned
即参加运算的各个变量都会转换为它们之中数据最长的数据类型。当赋值运算符左右两侧类型不一致时,编译系统会按上述规则,自动把右侧表达式的类型转换成左侧变量的类型,再赋值。
计算字符串的长度
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TUt1mJTP-1686740475197)(images/14.png)]
3.3 问答题:
1. p40: 变量的分类:
答:局部变量和全局变量。
2. p53: do-while 语句的执行过程(文字或画流程图):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-atitTVRz-1686740475197)(./images/24.jpg)]
3. p54:函数的定义格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WeKJ00KH-1686740475198)(./images/25.jpg)]
3.4程序设计题:
1. p56课后习题:2、3
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1dsD8kJC-1686740475198)(./images/26.jpg)]
答:
-
#include <stdio.h> int main() { int i; for (i = 0; i <= 1000; i += 2) { // 遍历所有偶数 if (i % 3 == 0 && i % 7 == 0) { // 判断能否被3和7整除 printf("%d ", i); // 输出符合条件的数字 } } return 0; }
-
#include <stdio.h> int main() { int i, j, k; for (i = 1; i <= 9; i++) { // 百位 for (j = 0; j <= 9; j++) { // 十位 for (k = 0; k <= 9; k++) { // 个位 int num = i*100 + j*10 + k; if (num == i*i*i + j*j*j + k*k*k) { // 水仙花数判断 printf("%d\n", num); } } } } return 0; }
第四章
4.1单选选择题(只看不写):
p61:根据按键消抖的图(这里到底讲的是什么呀?):
p57:分支、循环语句包括哪些:
答:分支(if、if-else、switch)、(while、do-while、for)。
共阴数码管的编码:
答:char code table[]={0x3f , 0x06 , 0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; 共阴1为亮。
单片机与4×4键盘连接时至少需要多少位 I/0 口;
答:8位。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNMQQEHv-1686740475198)(images/15.png)]
4.2 填空题:
p63 : 蜂鸣器分为有源、无源蜂鸣器:
p67 : 数码管的分类:
答:共阳极数码管\共阴极数码管。
p74 : LED点阵的结构:5×7结构、8×8结构、16×16结构。
p75 : 动态扫描的分类:(1)逐行扫描、(2)逐列扫描。
4.3.问答题:
1. p73:矩阵按健扫描的形式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YFXr2yuL-1686740475198)(./images/27.jpg)]
2. PPT:单片机设计中注意的问题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8mXywjeb-1686740475199)(file:///C:\Users\VICTUS\Documents\Tencent Files\2739765514\Image\Group2\QN\TY\QNTYQ09FFS7YEE$ACM{EO14.jpg)]
(1)C51系列的单片机复位后I/O为高电平,所以在硬件电路设计中常采用低电平有效的电路,以免在上电瞬间产生误动作。
(2)若有数组num[]=(0x3f,0x5b…)有元素16个,即从第0个到第15个,则写法a=num[16]是错误的,因为该数组的第16个数据超出区域了。
(3)在数码管显示等场合,经常用求整(/)求余(%)来分离某数的个位、十位等。
(4)人眼存在滞后效应,反应时间为20 ms。如有2位数码管,每个位只要停留10 ms人就不容易发现动态数码管是分位显示的;若是8位数码管则每位停留的时间为2.5ms。
(5)对于机械接触的开关按键,要对按键进行防抖处理(一般防抖时间为10 ms左右)
3. PPT:将if语句改成for语句
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VqH6tRAv-1686740475199)(images/16.png)]
4.4程序设计题:
1. 按键控制8个灯的图,按一次点亮再按一次熄灭;
#include <REGX51.H>
void delay(unsigned int i)
{
while(i--);
}
void main()
{ P0=0x00;
while(1)
{
if(P1_0==0);
delay(20);
if(P1_0==0)
{
P0=0Xff;
}
if(P1_0==0);
delay(20);
if(P1_0==0)
{
P0=0X00;
}
}
}
2. p67 例:1位共阴数码管的图,0~9循环显示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OdHPFPmz-1686740475200)(./Images/35.jpg)]
# include<REGX51.H>
unsigned char num[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
unsigned int i=50000;
while( i––);
}
void main()
{
unsigned char t;
while(1)
{
P1= num[ t++];
if( t>9) t=0;
delay();
}
}
第五章
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E4ELkaSf-1686740475200)(./images/23.png)]
5.1. 单选选择题:
1. 外部中断、定时计数器中断的请求标志位;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7mDE7NSe-1686740475200)(./images/32.jpg)]
2. 优先级控制寄存器 IP;
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|
IP | PS | PT1 | PX1 | PT0 | PX0 | |||
串行口 | 定时器1 | 外部中断1 | 定时器0 | 外部中断0 |
3. 中断类型及其对应的编号;
中断编号 | 中断源 |
---|---|
0 | 外部中断0 |
1 | 定时/计数器0 |
2 | 外部中断1 |
3 | 定时/计数器1 |
4 | 串口中断 |
4. 定时/计数器的工作方式:
M1 | M0 | 工作方式 |
---|---|---|
0 | 0 | 方式0,最大计数为2^13,不自动重装初值 |
0 | 1 | 方式1,最大计数为2^16,不自动重装初值 |
1 | 0 | 方式2,最大计数为2^8,自动重装初值 |
1 | 1 | TL0为定时/计数器,TH0只能定时 |
5. 串行口的中断方式及其对应的功能:
工作方式 | SM0 | SM1 | 波特率 | 功能 |
---|---|---|---|---|
方式0 | 0 | 0 | fosc/12 | 移位寄存器,主要用于IO扩展 |
方式1 | 0 | 1 | 可变 | 10位帧结构的UART,无校验位 |
方式2 | 1 | 0 | fosc/32或fosc/64 | 1位帧结构的UART,有校验位 |
方式3 | 1 | 1 | 可变 | 11位帧结构的UART,有校验位 |
6. SCON的初始化
SCON | SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
---|---|---|---|---|---|---|---|---|
地址 | 9FH | 9EH | 9DH | 9CH | 9BH | 9AH | 99H | 98H |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fou3ENLb-1686740475200)(images/12.png)]
5.2. 填空题:
1. 各类中断的输入、输出引脚:
1.外部中断0(INT0):对应输入引脚P3.2。
2.外部中断1(INT1):对应输入引脚P3.3。
3.定时器/计数器0中断:该定时器使用P3.4引脚作为输入引脚。
4.定时器/计数器1中断:该定时器使用P3.5引脚作为输入引脚。
5.串口中断(R/TI):该中断与P3.0输入和P3.1脚输出。
2. 外部中断的触发方式选择位:
触发方式有两种:下降沿触发(ITx=1)和低电平触发(ITx=0)
3. 定时计数器初值的计算:
4. 定时计数器最大定时时间:
5. p99:通信的分类:(1)串行通信、并行通信;(2)串行通信分为:《单工通信、半双工通信、全双工通信》;(3)串行通信也可分为:《同步通信、异步通信》。
6. pl00:波特率的计算
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hk4hlTlx-1686740475200)(./images/31.jpg)]
5.3. 筒答题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ENUq7gw-1686740475201)(images/11.png)]
1. p85 :中断函数编写时的注意事项;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4llKE4Ih-1686740475201)(./images/28.jpg)]
2. p100:串口发送/接收的工作原理;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Rs6lNqT-1686740475201)(./images/29.jpg)]
3. p112 课后习题:1(中断的初始化程序)
Void INIT(void)
{
IT0=0;
EX0=1;
EA=1;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NtvWWwcl-1686740475201)(./images/30.jpg)]
5.4程序设计题:
pl12 课后习题:2(定时/计数器定时1s的编程)
#include <REGX51.H>
unsigned char i ;
void INIT()
{
TMOD=0X01;
TR0=1;
ET0=1;
EA=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
void main()
{
INIT();
while(1);
}
void Timer1()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(i++>=20)
{
P1_0=!P1_0;
}
}