精华内容
下载资源
问答
  • 蓝桥杯单片机设计与开发大赛马上就要进行,最后冲刺阶段将自己整理的资料上传一下,最后一个星期主要冲刺选择,现在将选择的考点附上。 第八届预赛: 单片机: 定时器工作状态、晶振;中断优先级;IO口;...

    “蓝桥杯”单片机设计与开发大赛马上就要进行,最后冲刺阶段将自己整理的资料上传一下,最后一个星期主要冲刺选择题,现在将选择题的考点附上。

    第八届预赛:

    单片机: 定时器工作状态、晶振;中断优先级;IO口;数码管消隐;内存分布;IO口,复位,振荡器
    模电数电: 运放电路;滤波器;线与功能;逻辑表达式化简

    第八届决赛:

    单片机: 中断;触发器;结构体变量;数据储存;
    模电数电: 电压比较器;超声波传感器;放大电路组态;运放电路;

    第九届预赛:

    单片机: 储存器IO口;复位电平;数据存储;8421计数器触发器;共阴极数码管;数据储存;储存器上电
    模电数电: 温度和二极管;共射公基共集;运放电路;

    第九届决赛:

    单片机: 串口;寄存器;数据类型;时序电路;储存空间;指针变量;逻辑运算;单片机指令存储
    模电数电: 运放电路;三极管;放大器;

    第十届预赛:

    单片机: 存储器IO;定时器;存储芯片;配置定时器;单片机说法;
    模电数电: 二极管;波形转化(振荡器、触发器);放大电路;三极管;运放电路;

    第十届决赛:

    单片机: 位运算;串口通信;寄存器储存器;逻辑函数;全双工串行通信;IO口;信号
    模电数电: RLC震荡频率;三态门;二端网络;二极管;差分信号;运算放大器;运算电路;压电效应;

    第十二届模拟:

    单片机: nop()函数;串行通信;程序储存;汉字点阵信息;上拉晶振时钟;UART;
    模电数电: 共射放大电路;集成电路制造工艺;放大器截止失真;放大三极管

    其中单片机类的试题可查阅手册获取答案,相当于开卷考试,关于如何翻阅手册,在B站上有某个厂商的视频,但它并不是完整的视频,其实也够看了,没必要话60多块钱购买。

    其中模电数电的考点可以看期末冲刺的那种几个小时学完一本书的视频课程学习一下

    展开全文
  • 答案:D 答案:B下图的二极管导通为0.37V 答案:B 答案:C(不确定) ...首先看是硅管还是锗管,在放大状态下,测Vbe电压(基极与发射极的电压),如果Vbe=0.7V则是硅管,如果电压Vbe=0.3V则是锗管。...

    在这里插入图片描述
    答案:D
    在这里插入图片描述

    在这里插入图片描述
    答案:B下图的二极管导通为0.37V
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    答案:B
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    答案:C(不确定)
    在这里插入图片描述

    在这里插入图片描述
    答案:-2.5
    在这里插入图片描述

    在这里插入图片描述
    答案:-2.4
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    答案:B

    首先看是硅管还是锗管,在放大状态下,测Vbe电压(基极与发射极的电压),如果Vbe=0.7V则是硅管,如果电压Vbe=0.3V则是锗管。
    并且有一个需要注意的地方是
    在放大状态下:
    NPN管电压情况是:
    Vc>Vb>Ve
    而PNP管电压情况是:
    Ve>Vb>Vc
    因此首先我们应该知道这是一个锗管,然后只能够在B、D中选择,BD中都是1引脚电压最高且为集电极,但是D是PNP,应该1是发射极,因此错误,选择B

    展开全文
  • 历年蓝桥杯单片机客观题笔记

    千次阅读 2020-05-30 10:01:40
    数码管点亮时间约为1~2ms。在数码管数字变化时,先熄灭再更新数据,称为消隐。 using 0 是第0组寄存器; reentrant声明的函数为可重入函数。可重入的函数能够被多个进程同时调用。可重入函数在执行时,另外的进程...

    数码管点亮时间约为1~2ms。在数码管数字变化时,先熄灭再更新数据,称为消隐。
    using 0 是第0组寄存器;
    reentrant声明的函数为可重入函数。可重入的函数能够被多个进程同时调用。可重入函数在执行时,另外的进程可以中断当前执行的函数,并且调用同一个函数。正常情况下,C51程序中的函数不能被递归地调用,这是由于函数的参数和局部变量都被保存在固定的地址,在递归调用时操作了相同存储位置,导致数据被覆
    超声波传感器基于压电效应。施加40KHz高频电压,则压电陶瓷片就根据所加高频电压极性伸长与缩短,于是发送40KHz频率的超声波,其超声波以疏密形式传播(疏密程度可由控制电路调制),并传给波接收器。
    放大器上的输入电阻越大越好,输出电阻越小越好
    void是C51基本类型,double不是
    在这里插入图片描述
    C51 提供一个3字节的通用存储器指针,通用指针的头一个字节表明指针所指的存储区空间,另外两个字节存储16位偏移量对于DATA IDATA 和PDATA 段只需要8位偏移量
    C语言中的 ^= 意思为:按位异或后赋值
    RS485差分,RS232不是

    展开全文
  • 蓝桥杯单片机客观题
  • 蓝桥杯单片机客观题
  • 12届蓝桥杯单片机模拟题(包括客观题

    千次阅读 多人点赞 2021-03-28 11:08:01
    程序 main.c #include<stc15f2k60s2.h> #define uchar unsigned char #define s0 0 #define s1 1 #define s2 2 int read_vol(uchar add); code uchar semg[13] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92...

    程序题

    在这里插入图片描述

    main.c

    #include<stc15f2k60s2.h>
    
    #define uchar unsigned char
    
    #define s0 0
    #define s1 1
    #define s2 2
    
    int read_vol(uchar add);
    	
    code uchar semg[13] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90,
    										   0xc1, 0x8c, 0xff};
    code uchar semg_bit[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
    uchar semg_temp[8] = {12, 12, 12, 12, 12, 12, 12, 12};
    
    uchar state = s0, state_dat = s0, state_para = s0;
    int vol[2][2] = {{0, 0}, {250, 300}};
    
    
    void Delay5ms()		//@12.000MHz
    {
    	unsigned char i, j;
    
    	i = 59;
    	j = 90;
    	do
    	{
    		while (--j);
    	} while (--i);
    }
    
    
    void allinit()
    {
    	P2 = 0x80;	P0 = 0xff;
    	P2 = 0xa0;	P0 = 0x00;
    	P2 = 0xc0;	P0 = 0xff;
    	P2 = 0xe0;	P0 = 0xff;
    }
    
    
    void Timer0Init(void)		//2毫秒@12.000MHz
    {
    	AUXR |= 0x80;		//定时器时钟1T模式
    	TMOD &= 0xF0;		//设置定时器模式
    	TL0 = 0x40;		//设置定时初值
    	TH0 = 0xA2;		//设置定时初值
    	TF0 = 0;		//清除TF0标志
    	TR0 = 1;		//定时器0开始计时
    	EA = 1;
    	ET0 = 1;
    }
    
    
    void led()
    {
    	if(vol[0][0] > vol[1][0])
    		P00 = 0;
    	else
    		P00 = 1;
    	
    	if(vol[0][1] > vol[1][1])
    		P01 = 0;
    	else
    		P01 = 1;
    	
    	if(state_dat == 0 || state_para == 0)
    		P02 = 0;
    	else
    		P02 = 1;
    	
    	if(state == 0)
    		P03 = 0;
    	else
    		P03 = 1;
    	
    	if(vol[0][0] > vol[0][1])
    		P04 = 0;
    	else
    		P04 = 1;
    	
    	P0 = P0 | 0xe0;
    	P2 = 0x80;
    	P2 = 0x00;	P0 = 0xff;
    }
    
    
    void display()
    {
    	uchar i;
    	
    	if(i == 5)
    	{
    		P2 = 0xe0; 	P0 = semg[semg_temp[i]] & 0x7f;
    	}
    	else
    	{
    		P2 = 0xe0; 	P0 = semg[semg_temp[i]];
    	}
    	P2 = 0xc0; 	P0 = semg_bit[i];
    	
    	P2 = 0x00;	P0 = 0xff;
    	
    	i++;
    	if(i == 8)
    		i = 0;
    }
    
    
    void fun() interrupt 1
    {
    	uchar i;
    	
    	display();
    	led();
    
    	i++;
    	if(i == 50)
    	{
    		i = 0;
    		vol[0][0] = read_vol(0x01);
    		vol[0][1] = read_vol(0x03);		
    	}
    }
    
    
    char keyscan()
    {
    	static uchar keybefore = 0;
    	uchar keycode = 0, trg = 0;
    	char keyvalue = -1;
    	
    	P3 = P3 | 0x0f;	P44 = 0; P42 = 0;	P35 = 0;
    	keycode = (P3 ^ 0xff) & 0x0f;
    	trg = keycode & (keycode ^ keybefore);
    	keybefore = keycode;
    	
    	if(trg == 0x01)						keyvalue = 7;
    	else if(trg == 0x02)			keyvalue = 6;
    	else if(trg == 0x04)			keyvalue = 5;
    	else if(trg == 0x08)			keyvalue = 4;
    	else											keyvalue = -1;
    	
    	return keyvalue;
    }
    
    
    void menu(char keyvalue)
    {
    	static int temp_vp1 = 250, temp_vp3 = 300;
    	
    	switch(state)
    	{
    		case s0:
    		{
    			semg_temp[0] = 10;
    			semg_temp[1] = state_dat * 2 + 1;
    			semg_temp[2] = 12;
    			semg_temp[3] = 12;
    			semg_temp[4] = 12;
    			semg_temp[5] = vol[state][state_dat] / 100;
    			semg_temp[6] = (vol[state][state_dat] - semg_temp[5] * 100) / 10;
    			semg_temp[7] = vol[state][state_dat] % 10;
    			switch(state_dat)
    			{
    				case s0:
    				{
    					if(keyvalue == 4)
    					{
    						state_dat = s1;
    					}
    					else if(keyvalue == 5)
    					{
    						state = s1;
    						state_para = s0;
    					}
    					else	;
    				}	break;
    				
    				case s1:
    				{
    					if(keyvalue == 4)
    					{
    						state_dat = s0;
    					}
    					else if(keyvalue == 5)
    					{
    						state = s1;
    						state_para = s1;
    					}
    					else	;
    				}	break;
    				
    				default:	state_dat = s0;	break;
    			}
    		}	break;
    		
    		case s1:
    		{
    			semg_temp[0] = 11;
    			semg_temp[1] = state_para * 2 + 1;
    			semg_temp[2] = 12;
    			semg_temp[3] = 12;
    			semg_temp[4] = 12;
    			switch(state_para)
    			{
    				case s0:
    				{
    					semg_temp[5] = temp_vp1 / 100;
    					semg_temp[6] = (temp_vp1 - semg_temp[5] * 100) / 10;
    					semg_temp[7] = temp_vp1 % 10;
    					if(keyvalue == 4)
    					{
    						state_para = s1;
    					}
    					else if(keyvalue == 5)
    					{
    						vol[state][state_para] = temp_vp1;
    						state = s0;
    						state_dat = s0;
    					}
    					else if(keyvalue == 6)
    					{
    						temp_vp1 = temp_vp1 + 20;
    						if(temp_vp1 > 500)
    						{
    							temp_vp1 = 0;
    						}
    					}
    					else if(keyvalue == 7)
    					{
    						temp_vp1 = temp_vp1 - 20;
    						if(temp_vp1 < 0)
    						{
    							temp_vp1 = 500;
    						}
    					}
    					else	;
    				}	break;
    				
    				case s1:
    				{
    					semg_temp[5] = temp_vp3 / 100;
    					semg_temp[6] = (temp_vp3 - semg_temp[5] * 100) / 10;
    					semg_temp[7] = temp_vp3 % 10;
    					if(keyvalue == 4)
    					{
    						state_para = s0;
    					}
    					else if(keyvalue == 5)
    					{
    						vol[state][state_para] = temp_vp3;						
    						state = s0;
    						state_dat = s1;
    					}
    					else if(keyvalue == 6)
    					{
    						temp_vp3 = temp_vp3 + 20;
    						if(temp_vp3 > 500)
    						{
    							temp_vp3 = 0;
    						}
    					}
    					else if(keyvalue == 7)
    					{
    						temp_vp3 = temp_vp3 - 20;
    						if(temp_vp3 < 0)
    						{
    							temp_vp3 = 500;
    						}
    					}
    					else	;
    				}	break;
    				
    				default:	state_para = s0;	break;
    			}
    		}	break;
    		
    		default:	state = s0;	break;
    	}
    }
    
    
    void main()
    {
    	char keyvalue = 0;
    	
    	allinit();
    	Timer0Init();
    	
    	while(1)
    	{
    		keyvalue = keyscan();
    		menu(keyvalue);
    		Delay5ms();
    	}
    }
    

    iic.c

    /*
      程序说明: IIC总线驱动程序
      软件环境: Keil uVision 4.10 
      硬件环境: CT107单片机综合实训平台 8051,12MHz
      日    期: 2011-8-9
    */
    
    #include "reg52.h"
    #include "intrins.h"
    
    #define uchar unsigned char
    
    #define DELAY_TIME 5
    
    #define SlaveAddrW 0xA0
    #define SlaveAddrR 0xA1
    
    //总线引脚定义
    sbit SDA = P2^1;  /* 数据线 */
    sbit SCL = P2^0;  /* 时钟线 */
    
    void IIC_Delay(unsigned char i)
    {
        do{_nop_();}
        while(i--);        
    }
    //总线启动条件
    void IIC_Start(void)
    {
        SDA = 1;
        SCL = 1;
        IIC_Delay(DELAY_TIME);
        SDA = 0;
        IIC_Delay(DELAY_TIME);
        SCL = 0;	
    }
    
    //总线停止条件
    void IIC_Stop(void)
    {
        SDA = 0;
        SCL = 1;
        IIC_Delay(DELAY_TIME);
        SDA = 1;
        IIC_Delay(DELAY_TIME);
    }
    
    //等待应答
    bit IIC_WaitAck(void)
    {
        bit ackbit;
    	
        SCL  = 1;
        IIC_Delay(DELAY_TIME);
        ackbit = SDA;
        SCL = 0;
        IIC_Delay(DELAY_TIME);
        return ackbit;
    }
    
    //通过I2C总线发送数据
    void IIC_SendByte(unsigned char byt)
    {
        unsigned char i;
    
        for(i=0; i<8; i++)
        {
            SCL  = 0;
            IIC_Delay(DELAY_TIME);
            if(byt & 0x80) SDA  = 1;
            else SDA  = 0;
            IIC_Delay(DELAY_TIME);
            SCL = 1;
            byt <<= 1;
            IIC_Delay(DELAY_TIME);
        }
        SCL  = 0;  
    }
    
    //从I2C总线上接收数据
    unsigned char IIC_RecByte(void)
    {
        unsigned char i, da;
        for(i=0; i<8; i++)
        {   
        	SCL = 1;
    	IIC_Delay(DELAY_TIME);
    	da <<= 1;
    	if(SDA) da |= 1;
    	SCL = 0;
    	IIC_Delay(DELAY_TIME);
        }
        return da;    
    }
    
    int read_vol(uchar add)
    {
    	int dat = 0;
    	
    	IIC_Start();
    	IIC_SendByte(0x90);
    	IIC_WaitAck();
    	IIC_SendByte(add);
    	IIC_WaitAck();	
    	
    	IIC_Start();
    	IIC_SendByte(0x91);
    	IIC_WaitAck();
    	dat = IIC_RecByte();
    	IIC_Stop();
    	
    	return dat * 1.96078;
    }
    

    客观题(答案不保证正确率)

    在这里插入图片描述

    展开全文
  • 该资料是去年蓝桥杯单片机期间,阅读全网和付费得来,并且且加以了总结和整理。
  • 第十二届蓝桥杯单片机模拟测试客观题&程序设计题
  • 蓝桥杯单片机设计与开发模拟试题客观题,包括数字电子技术、模拟电子技术、单片机开发与设计等相关基础知识
  • 蓝桥杯单片机设计与开发组客观题模拟题试题和答案第八届、第九届等客观题原题、客观题模拟题以及客观题答案
  • 在这个资源压缩包里,你可以看到: 1)客观题及程序设计题一份 2)程序代码一份
  • 1) 处于谐振状态的 RLC 串联电路,当电源频率升高时,电路将呈现出( C )。 A. 电阻性 B. 电容性 C. 电感性 D. 不能确定 . . . . . . .
  • 多个文件夹,这是一个拥有蓝桥杯单片机第二届到第九届的全部真题,包括真题的题目与全部真题代码,包括客观题,收集已久!!希望对你们有帮助, 想浏览可到我的码云...
  • 第九届蓝桥杯 单片机省赛 客观题 pdf格式。
  • 第10届蓝桥杯单片机省赛-客观题参考答案与解析.pdf
  • 1) 如下图所示的电路图,若二极管的导通电压为0.7V,可求得输出电压V0为(B)。 A.9V B.0.7V C.6.7V D.0.35V
  • 蓝桥杯 第八届 到 第十一届 单片机设计与开发 省赛 决赛 客观试题 答案 汇总
  • (1) 当MCS-51访问片外的存储器时,其低8位地址由由(P2)口提供,8位数据由(P0)...(2) 当由MCS-51单片机构成的系统正常工作后,在RST引脚上附加一个(高)电平,并至少维持(2)个机器周期可令系统复位,复位后各IO口为(高)电平。
  • 关于蓝桥杯单片机设计与开发项目模拟试题(客观题部分),其他大多设计模电知识,和c语言编程这里小知识点,主要在于设计题拿分
  • 第十届蓝桥杯单片机设计与开发项目省赛-客观试题dvsdv
  • 第七届到第十一届蓝桥杯单片机省赛客观试题 【附带答案】 第三届到第十一届蓝桥杯单片机决赛程序设计试题 第一届到第十一届蓝桥杯单片机省赛程序设计试题 附赠 竞赛板芯片资料 【官方英文版】加【中文版】 附赠 竞赛...
  • 2021年6月5日第十二届蓝桥杯单片机国赛客观试题
  • 1) 多级放大电路中,既能放大直流信号,又能放大交流信号的是( C )方式。 A.阻容耦合 B.变压器耦合 C.直接耦合 D.光电耦合
  • 2018年第九届“蓝桥杯单片机设计与开发组决赛 程序题+客观题
  • 第11届蓝桥杯单片机第1次省赛-客观题参考答案与解析.pdf
  • 第八届客观题(部分): 8051单片机堆栈指针的作用是:指明栈顶的位置 单片机和PC通讯使用MAX232芯片为了电平转换 空闲状态下,Tx引脚上电平为高 使用非整数的晶振是为了获得精准的波特率 通讯距离为800M时候...
  • 第十二届蓝桥杯单片机-免费分享-客观题-程序设计-资源包-2021.4.18 写作时间:2021.4.18-16:00 上午参加了第十二届蓝桥杯单片机的比赛,一直等到两点比赛完才将资源包从机房给拷贝了出来。现在把这次客观题、主观...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

蓝桥杯单片机客观题