盲目自学只会害了你!半小时速通单片机原理! #期末考试 #单片机 #速成

这篇具有很好参考价值的文章主要介绍了盲目自学只会害了你!半小时速通单片机原理! #期末考试 #单片机 #速成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单片机复习资料

选择(20)、简答(40)、程序填空(30)、设计(10)

整理人: 张鹏

一. 选择题

  1. C语言中最简单的数据类型包括 (整型、实型、字符)

  2. 51单片机时序单位从

    2 拍节 —>1状态

    6状态—>机器周期

    1—4机器周期—> 指令周期

  3. 七段共阴极数码管显示字符‘A’、’H’,’L’,段码应为( )。
    单片机理论课期末速成,单片机,嵌入式硬件

  4. MCS-51单片机内部有 2 个16位定时器/计数器。

  5. 单片机程序存储器的寻址范围是由程序计数器 PC 的位数决定的,MCS-51的PC为 16 位,其寻址范围是 64K

  6. 控制串行口工作方式的寄存器是 SCON

  7. 定时器工作方式的寄存器是 TMOD

  8. 在51单片机单片机中断 屏蔽位

    INT0 EX0

    T0 ET0

    INT1 EX1

    T1 ET1

    串口 ES

  9. 定时器/计数器工作 方式0 是13位计数结构
    1 是16位计数结构。
    2 是8位计数器结构
    3 是2个8位计数器结构( 定时器0

  10. 在单片机中, data 片内数据存储器
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ Xdata 片外数据存储器
    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ code 程序存储器

  11. 51单片机串行口有4种工作方式

单片机理论课期末速成,单片机,嵌入式硬件

  1. MCS-51单片机复位操作的主要功能是把PC初始化为 0000H

  2. INTEL 8051 CPU是 8 位的单片机。

  3. 定时器 T0\T1 的启动位是 TR0\TR1

  4. 在单片机中, RAM 是数据存储器。ROM是程序存储器

  5. MCS-51单片机有片内 4KB ROM、128B RAM

  6. 51单片机的对应的中断号

    INT0  0

    T0      1

    INT1   2

    T1      3

    串口   4

  7. 51单片机的对应的中断号优先级

    INT0 -> T0 -> INT1 -> T1 -> 串口

    MCS-51能够响应定时器T0中断、外部NT1中断,它的中断允许寄存器IE的内容应是

    EA / / ES ET1 EX1 ET0 EX0
    1 0 0 0 0 1 1 0

二、简答题

  1. 8051有哪几 5 个中断源?每个中断对应的 中断标志 是什么?写每个中断对应的中断类型号是多少?
    INT0 IE0   0
    T0    TF0   1
    INT1 IE1    2
    T1    TF1   3
    串口 TI\RI 4
  2. MCS—51的存储器空间从逻辑上可以分为那 3几个空间?每个空间的空间有多大?MCS—51的存储器空间从物理上可以分 4为那几个空间?

51系列单片机采用哈佛结构

​ 共有四个物理存储空间 片内数据存储器、片外数据存储器、片内程序存储器、片外程序存储器

​ 共有三个逻辑存储空间 片内数据存储器 128B、片外数据存储器64KB、片内+片外的程序存储器64K( 片内有4KB,片外60KB;片内0KB,片外64KB)

  1. 呃呃呃呃下面这两张图好像都是第3题

单片机理论课期末速成,单片机,嵌入式硬件

单片机理论课期末速成,单片机,嵌入式硬件

  1. 串行通信中,单片机的fosc=12MHz,串口波特率为1400,串口工作在方式1。用C51写出初始化过程。(SCON格式如下)
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 TI RI

单片机理论课期末速成,单片机,嵌入式硬件

  1. 写出单片机串行口发送 接收数据的过程(中断法)

单片机理论课期末速成,单片机,嵌入式硬件

	# 定时器1
	TMOD=0X10;
	TH1=(65535-X)/256;
	TL1=(65536-X)%256;
	ET1=1;
	EA=1;
	TR1=1;

单片机理论课期末速成,单片机,嵌入式硬件

3、程序填空

键盘码

单片机理论课期末速成,单片机,嵌入式硬件

键盘扫描函数


a) 计数显示器,对按键动作进行统计,并将动作次数通过数码管显示出来(参考如下电路图)。

#include <reg51.h>
// led_mode存放的是LED显示码
unsigned char code led_mode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char code led_p[]={0xfe,0xfd,0xfb,0xf7}; //LED位选
unsigned char data d[4]={0,0,0,0},count=0;
unsigned char j=0;
TIMER0() interrupt 1  //此语句中的1定时0   
{  
    P0=0;  	
	P0=led_mode[d[j]];    
	P2= led_p[j];
	j=(j+1)%4;                 
	TH0=(65536-1000)/256; 
	TL0=(65536-1000)%256;
}
INT_0() interrupt 0 sing 2    
{  	
    count++;                  
    if(count==100) count=0 ;
    d[2]= count/10;
    d[3]=count%10;
}
main()
{  
   TMOD=0x01; 
   TH0=(65536-1000)/256; 
   TL0=(65536-1000)%256;
   EA=1;                     
   EX0=1;                   
   IT0=1;                    
   TR0=1;                     
   while(1);
}

b) 采用定时器中断方式使P1口上的8个LED灯每间隔10ms轮流点亮(如下图所示)

#include <reg51.h>
unsigned char n=0,i=0;
unsigned char code ledcod[]={0x7f, 0xbf,0x0df,0x0ef,0x0f7,0x0fb,0x0fd,0x0fe,0x0ff};
void TIMER(void) interrupt  1 using 2  
{  
    TH0=(65536-1000)/256;   
	TL0=(65536-1000)%256;
    n++;
    if(n>10){
       	n=0 ;
 		i=(i+1)%8;
    }
	P1=ledcod[i]
}
main()
{    
    TMOD=0x01;  
	TH0=(65536-1000)/256;
    TL0=(65536-1000)%256;
    EA=1;
    ET0=1;
    TR0=1;
    while(1); 
}

计数显示器,对按键动作进行统计,并将动作次数通过数码管显示出来(参考如下电路图)

单片机理论课期末速成,单片机,嵌入式硬件

#include <reg51.h>
unsigned char code led_mod[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d, 0x07,0x7f,0x6f,0x00};//0X00标红
unsigned char code led_sca[]={0xfe,0xfd,0xfb,0xf7};
unsigned char led_data[]={10,10,10,10};//此语句中的10 去LED显示码得到00,数码管不亮  //10,10,10,10标红    
unsigned char count;
void delay(unsigned int time)
{ 
    unsiged int i;
    for(i=0;i<time;i++);
}
void led_disp()
{ 
   unsigned char i,j;
   for(i=0;i<4;i++){
       P0=0x00;
       j=led_data[i];
       P0=led_mod[j];
       P2=led_sca[i];
       delay(1000);
   }
}
int1() interrupt 2  //此语句中的2代表 对应中断INT1   
{   
    count=(count+1)%100;
    led_data[2]=count/10;
    led_datal3l=count%10}
main()
{ 
 	led_data[2]=count/10;
 	led_data[3]=count*10;
	IT0=1;         //此语句作用是设置边沿触发
	EX0=1;        //此语句作用是允许INT0中断
	EA=1;         //此语句作用是CPU开中断
	while(1) led_disp();
}

2)利用定时器1ms中断一次,动态显示LED的原理,将8756显示在4位数码管上(参考如下电路图)

#include <reg51.h>
//led_mode[]中存放的是数码管的显示码 
unsigned char code led_mode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  
unsigned char code led_p[]={0xfe,0xfd,0xfb,0xf7};
unsigned char data d[4]={8756}; //8,7,5,6 标红
unsigned char j=0;
TIMER0() interrupt 1 using 2  
{  
    P0=0;
	P0=led_mode[d[j]];  
    P2=led_p[j];              
    j=(j+1)%4;
    TH0=(65536-1000)/256; 
	TL0=(65536-1000)%256;
}
main()
{  TMOD=0x01; 
   TH0=(65536-1000)/256; 
   TL0=(65536-1000)%256;
   EA=1;
   ET0=1;
   TR0=1;
   while(1);
}

单片机理论课期末速成,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-821205.html

#include <reg51.h>
unsigned char count=0;
sbit start=P2^7;
bit flag=0;
void TIME0() interrupt 1
{ 
  TH0=(65556-10000)/256;
  TL0=(65556-10000)%256;
  count++;
  if(count==20){
     count=0;
	 flag=1;
  }
} 
main()
{ 
  unsigned char n,LED;
  TMOD=0x01;
  TH0=(65556-10000)/256;
  TL0=(65556-10000)%256;
  TR0=1;
  ET0=1;
  EA=1;
  SCON=0;
  n=0;
  LED=0x7f;
  start=1;
  while(1){
    if(flag==1){
       flag=0;
	   SBUF=LED;
	   while(!TI);	//等待发送结束
	   TI=0;
	   n++;
	   if(n==8){
	       n=0;
           LED=0x7f;
		}else{
          LED=(LED>>1)|0x80;  
        }
    }
  }
}

到了这里,关于盲目自学只会害了你!半小时速通单片机原理! #期末考试 #单片机 #速成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机自学笔记(4)——MCS-51存储器的扩展

      为什么要进行存储器的扩展呢?就是因为单片机自带的储存空间不够。本文将以80C31单片机来举例讲解存储器的扩展,80C31内置128字节数据存储器(RAM),片内并无程序存储器(ROM),需外接ROM。 所谓的存储器扩展其实就是构建系统总线。   系统总线是连接计算机各部

    2024年02月11日
    浏览(51)
  • 自学笔记:89c51单片机最小系统Protues篇

    什么是单片机最小系统? 单片机最小系统:单片机最小应用系统,使用 最少 的元件组成单片机能够工作的系统。 单片机最小系统 三要素 :电源模块,(晶振/时钟)振荡电路模块,复位电路模块 1,电源模块:供电。VCC端接正向5V电压,GND端接地。 51单片机全部引脚图(百

    2024年02月04日
    浏览(45)
  • 【单片机学习笔记】上传一整年的自学电子笔记,互相交流,共同进步。

    学习资料来源包括但不限于: 正点原子、太极创客、硬石科技、野火_firege、喵呜实验室、小蜜蜂笔记、鱼C-小甲鱼、普中科技 ...... 我学的是车辆工程专业,去年八月份,加入了学院的创客工作室,在教室里学过相关课程就电工电子和C语言程序设计,学单片机基本靠自学。

    2024年02月16日
    浏览(76)
  • 自学嵌入式第二周之如何生成烧录到单片机内所必须的(.hex)文件

    Keil软件是一款辅助单片机编写程序,编译及运行程序,并产生单片机下载所必须的(.hex)文件,用于写入单片机内部的程序。 01 在桌面新建文件夹,以自己名字命名。 打开下载好的Keil软件,如图 02 选择菜单栏( 工程——新建工程),然后出现的对话框,保存在选- 桌面

    2024年04月26日
    浏览(51)
  • 【Python】Python语言 3小时速通(有C语言基础版)

    并不需要指出变量类型 存储数据时经常使用lower,因为无法确保数据是大写还是小写 从这里可以看出python对于数据和字符处理具有很多优势 直接通过加号的形式拼接 他们都相当于字符(串) 不强转会报错 用#而不是// 增加元素 类似于数组,访问方式同数组 按位置删除 按值

    2024年01月21日
    浏览(42)
  • 搜索技术——盲目与启发

    如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 搜索是人工智能中的一个基本问题,并与推理密切相关。搜索策略的优劣将直接影响到智能系统的性能与推理效率。 搜索:根据问题的实际情况不断寻找可利用的知识,构造出一条代价较小的推理路线,使

    2024年02月10日
    浏览(42)
  • 劝你别盲目转行云计算

    对于想转行的宝子来说,最可怕的问题就是信息闭塞,很多人根本没有了解清楚情况,就盲目转行,结果赔了夫人又折兵。一定要了解清楚再去转行,比如说新兴行业云计算,薪资高不内卷,未来可期。 · 🌈什么是云计算? 💟云计算是一种通过互联网提供计算服务的模式。

    2024年03月11日
    浏览(65)
  • 人工智能头歌实验(盲目搜索)

    本关任务:编写代码实现广度优先搜索一个给定的树。 相关知识 为了完成本关任务,你需要掌握广度优先搜索算法的原理与实现。 广度优先搜索步骤 广度优先搜索一般是采用先进先出( FIFO )的队列来实现的,在这里我们用到了两个表: Open :是一个 先进先出的队列 ,存

    2024年01月18日
    浏览(43)
  • 从加密转型AI:追求可持续性发展还是盲目跟风?

       很多批评者曾说,加密行业充斥着流行语,总是在追逐下一个新趋势,甚至会因为过度追求短期利润而忽视了可持续性发展的重要性。在大多数情况下,他们似乎是对的。    上周末,国内最早也是最大的比特币论坛巴比特宣布转型AI赛道,旗下DeFi之道宣布暂停发布加密

    2024年02月11日
    浏览(52)
  • 浅析MySQL代价模型:告别盲目使用EXPLAIN,提前预知索引优化策略

    在 MySQL 中,当我们为表创建了一个或多个索引后,通常需要在索引定义完成后,根据具体的数据情况执行 EXPLAIN 命令,才能观察到数据库实际使用哪个索引、是否使用索引。这使得我们在添加新索引之前,无法提前预知数据库是否能使用期望的索引。更为糟糕的是,有时甚至

    2024年02月05日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包