蓝桥杯单片机基础学习00_2

三、功能模块

4、中断系统

中断系统
1)中断的概念:这是大家需要在脑子里有的一个印象,我们大致可以将中断描述成CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程我们称为中断。
2)中断源:我们将引起CPU中断的根源或原因,称为中断源。中断源向CPU提出的处理请求,称为中断请求或中断申请。(传统的51单片机有5个中断源,而我们使用的IAP15有14个中断源)
3)使用中断我们一定要知道中断优先级和中断嵌套这两个概念。
①中断优先级:当有几个中断源同时申请中断时,那么就存在CPU先响应哪个中断请求的问题?为此,CPU要对各中断源确定一个优先等级,称为中断优先级。中断优先级高的中断请求优先响应。
②中断嵌套:中断优先级高的中断请求可以中断CPU正在处理的优先级更低的中断服务程序,待完成了中断优先权高的中断服务程序之后,再继续执行被打断的优先级低的中断服务程序,这就是中断嵌套。

我们使用的IAP15F2K61S2单片机的中断系统有14个中断源,2个优先级,可实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE、IE2、INT_CLKO控制CPU是否响应中断请求;由中断优先级寄存器IP、IIP2安排各中断源的优先级;同一优先级内2个以上中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。

中断请求标志:AP15F2K61S2单片机的10个中断源的中断请求标志分别寄存在TCON、SCON、PCON、S2CON、ADC_CONTR、SPSTAT、CCON中,其中,外部中断2(/INT2)、外部中断3(/INT3)和外部中断4(/INT4)的中断请求标志位被隐藏起来了,对用户是不可见的。当相应的中断被响应后或(EXn)=0(n=2、3、4),这些中断请求标志位会自动被清0;定时器T2的中断请求标志位也被隐藏起来了,对用户是不可见的,当T2的中断被响应后或(ET2)=0,这些中断请求标志位会自动被清0。
IAP15F2K61S2单片机的中断请求

中断允许的控制:计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断,另一类称为可屏蔽中断。IAP15F2K61S2单片机的14个中断源都是可屏蔽中断,其中断系统内部设有3个专用寄存器(IE、IE2、INT_CLKO)用于控制CPU对各中断源的开放或屏蔽。

中断优先的控制:IAP15F2K61S2单片机除外部中断2(/INT2)、外部中断3(/INT3)、定时器T2中断和外部中断4(/INT4)为固定最低优先级中断外,其他中断都具有2个中断优先级,可实现二级中断服务嵌套。IP、IP2为中断优先级寄存器,锁存各中断源优先级控制位。

中断源自然优先级从高到低排序
中断源
外部中断0
定时器T0
中断
外部中断1
定时器T1中断
串行口中断
A/D转换中断
LVD中断
PCA中断
串行口2中断
SPI中断
外部中断2
外部中断3
定时器T2中断
外部中断4

IAP15F2K61S2单片机中断响应
中断响应:是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地址)。CPU并非任何时刻都响应中断请求,而是在中断响应条件满足之后才会响应。
中断服务与中断返回:中断服务与中断返回就是通过执行中断服务程序完成的。中断服务程序从中断入口地址开始执行,到返回指令“RETI”为止,一般包括四部分内容,其结构是:保护现场,中断服务,恢复现场、中断返回。
保护现场:用入栈操作指令将需保护寄存器的内容压入堆栈。
中断服务:中断服务程序的核心部分,是中断源中断请求之所在。
恢复现场:在中断服务结束之后,中断返回之前,用出栈操作指令将保护现场中压入堆栈的内容弹回到相应的寄存器中,注意弹出顺序必须与压入顺序相反。
中断返回:中断返回是指中断服务完成后,计算机返回原来断开的位置(即断点),继续执行原来的程序。中断返回由中断返回指令RETI来实现。

5、定时器/计数器(Timer0/1)

定时器(Timer0/1)
首先我们需要知道定时器Timer需要使用的寄存器有哪些:

我们先来简单的说一下TMOD、 TCON两个寄存器的功能和区别:
1)TMOD:就是运行模式配置寄存器,也就是配置定时器是工作在定时器状态还是计数器状态,以及定时器的工作模式是13位定时器,16位定时器,双8位定时器自动重装,还是双8位定时器等等。
2)TCON:就是定时/计数器的控制寄存器,包括控制定时器的的启动与停止,是否允许外部的中断请求判断定时器是否已经溢出等等。
简而言之,一句话2个寄存器 一个是配置模式功能 一个是控制功能,具体的运用理解还需要大家多看多用。
定时器/计数器0/1控制寄存器TCON
TCON为定时器/计数器T0、T1的控制寄存器,同时也锁存T0、T1溢出中断源和外部请求中断源等,TCON格式如下:
TCON为定时器/计数器中断控制寄存器(可位寻址)

各寄存器功能

定时器/计数器0/1工作模式寄存器TMOD
定时和计数功能由特殊功能寄存器TMOD的控制位C/T进行选择,TMOD寄存器的各位信息。

可以看出,2个定时/计数器有4钟操作模式,通过TMOD的M1和M0选择。2个定时/计数器模式0、1和2都相同,模式3不同,各模式下的功能请参见datasheet P593。
定时器0/1的中断控制寄存器:IE和IP
IE:中断允许寄存器(可位寻址)

EA:CPU的总中断允许控制位,EA = 1,CPU开放中断,EA = 0,CPU屏蔽所有的中断申请。
ET1:定时/计数器T1的溢出中断允许位,ET1 = 1,允许T1中断,ET1 = 0禁止T1中断。
ET0:同上。
IP:中断优先级控制寄存器(可位寻址)

PT1: 定时器1中断优先级控制位。
当PT1 = 0时,定时器1中断为最低优先级中断(优先级0)
当PT1 = 1时,定时器1中断为最高优先级中断(优先级1)
PT0: 定时器1中断优先级控制位。
当PT0 = 0时,定时器0中断为最低优先级中断(优先级0)
当PT0 = 1时,定时器0中断为最高优先级中断(优先级1)
注意事项

辅助寄存器AUXR
普通8051单片机是12T的机器周期,STC15的是1T的这个辅助寄存器的功能就是用来选择STC15工作在1T还是12T的模式下。

定时器/计数器0工作模式
通过对寄存器TMOD中的M1(TMOD.1)、(TMOD.0)的设置,定时器/计数器0有4种不同的工作模式。
模式0(16位自动重装载模式)(只介绍该模式,其余三种模式见datasheet)

定时器/计数器0工作模式0(16位自动重装载模式)
M1和M0:方式选择控制位
C/ T:功能选择位。
1:计数器功能(对T0或T1引脚的负跳变进行计数)。
0:定时器功能(对时钟周期进行计数)。
GATE:门控位。GATE用于选通控制。
1:INTX为高电平且TRX置位时,启动定时器工作。
0:每当TRX置位时,就启动定时器工作。
注意:TMOD寄存器不能进行位寻址,设置时只 能对整个寄存器赋值。
IAP15F2K61S2的定时器有两种计数速率:一种是12T模式,每12个时钟加1;另一种是1T模式,每个时钟加1。
T0和T1的速率分别由特殊功能寄存器AUXR中的T0x12和T1x12决定。
T0x12=0,T0工作在12T模式;
T0x12=1,T0工作在1T模式。
T1x12=0,T1工作在12T模式;
T1x12=1,T1则工作在1T模式。
定时器0和定时器1分别有2个隐藏的寄存器RL_THx和RL_TLx。RL_THx与THx共有同一个地址,RL_TLx与TLx共有同一个地址。当TRx=0即定时器/计数器被禁止工作时,对TLx、THx写入的内容会同时写入RL_TLx、RL_THx。 当TRx=1即定时器/计数器工作时,对TLx 、THx写入的内容不会写入RL_TLx 、RL_THx。
当定时器工作在模式0时,[TLx,THx]的溢出 不仅置位TFx,而且会自动将[RL_TLx,RL_THx] 的内容重新装入[TLx,THx]。
当T0CLKO=1时,T1/P3.5引脚配置为定时器0的时钟输出CLKOUT0。
当T1CLKO=1时,T0/P3.4引脚配置为定时器1的时钟输出CLKOUT1。
详细介绍

定时器的最大定时能力
当工作于定时状态时,定时/计数器是对时钟周期进行计数,若对时钟进行12分频,则对每12个时钟周期计数一次。
当晶振频率为6MHz,采用12分频时,计数的单位时间为:
单位时间为:
定时时间为: TC=XTu。
其中,Tu为单位时间,TC为定时时间,X为所需计数次数。
STC15F2K60S2单片机的定时/计数器是加1计数器。因此,不能直接将实际的计数值作为计数初值送入计数寄存器THX、TLX中,而必须将实际计数值以28、216为模求补,以补码作为计数初值设置THX和TLX。
即应装入计数/定时器的初值为:,其中,n=8或16。
例如:已知Tu=2μs,要求定时TC=1ms,则
对方式0和方式1,时间常数为:216-500=65036=FE0CH (THX装入FEH,TLX装入0CH)。
设系统时钟频率为6MHz,12分频时,
8位定时器的最大定时能力为:T=(28 -0)×2μs=512μs
16位定时器的最大定时能力为:T=(216 -0)×2μs=131072μs=131.072ms
最后补充一下,初学阶段对定时器的使用可以直接使用我第一章中所讲的方法直接自动生成所需定时器,用以程序使用,但是还是希望大家理解最重要。
以上是定时器的原理,接下来我们简单运用定时器来写个控制LED量灭的程序:

#include “stc15f2k60s2.h”#define LED P0unsigned char t;void Timer0Init(void);void main()
{P2 = ((P2&0x1f)|0xA0); //不再重复解释,前两章已解释多次P0 = 0X00;P2 = ((P2&0x1f)|0x80);P0 = 0Xff;//先关闭LEDTimer0Init();EA = 1; //打开定时器0ET0 = 1;while(1){if(t == 200){LED = ~LED;t = 0;//初始化标志位}}
}void Timer0Init(void)//5毫秒@11.0592MHz
{AUXR |= 0x80;//定时器时钟1T模式TMOD &= 0xF0;//设置定时器模式TL0 = 0x00;//设置定时初值TH0 = 0x28;//设置定时初值TF0 = 0;//清除TF0标志TR0 = 1;//定时器0开始计时
}void Timer0() interrupt 1 //定时器0的开启中断1
{t++;
}

6、静态数码管和动态数码管

共阴/共阳数码管
使用的是两个4位八段共阳数码管。
在这里插入图片描述

八段数码管:八个发光二极管组成的如上图的结构形态,
共阴数码管:八个LED阴极相连组成公共端接GND,
共阳数码管:八个LED阳极相连组成公共端接VCC。
4位八段数码驱动原理:其中八个管脚作为(A,B,C,D,E,F,G,DP)的驱动端口,选择哪一段数码管亮或不亮,我们称之为数码管段选,还有4个管脚作为选择四位数码管中的哪一位亮或不亮的驱动端口,也就是四个公共端,我们称之为数码管位选
驱动原理

图中a1、b1……dp1就是数码管的段选端口,com1、com2……com8就是数码管的位选端口,我们可以看到,蓝桥杯开发板的数码管段选和位选都是通过单片机的P0寄存器来驱动的,但是因为P0不能同一时刻既做段选又做位选,所以这里就要在一个很短的时间内在段选和位选之间切换选择操作。
静态数码管数码管所有公共端接GND或VCC,在该开发板上不是接GND和VCC而是接在两个573三态锁存器上,全亮全灭不单独选择端口操作。优点:不闪烁,亮度高。缺点:占用端口多。
示例程序:

/******************//* 数码管程序示例 *//******************/
#include “stc15f2k60s2.h”
#define uchar unsigned char
#define uint unsigned intuchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
/*这里如果不加code,就会占用寄存器,允许读取和修改寄存器的值,
但是寄存器的数量有限,故我们在这里加上code,将其定义为代码的
类型,只能读取不能修改*/
uchar t = 0,i;void Timer0Init(void);void main()
{P2 = ((P2&0x1f)|0xa0);//不再重复解释,前两章已解释多次P0 = 0x00;P2 = ((P2&0x1f)|0xc0);//打开位选选573P0 = 0xff;//选择8位数码管P2 = ((P2&0x1f)|0xff);//打开段选573Timer0Init();EA=1;ET0=1;while(1){if(t == 100){t = 0;P0 = tab[i];i++;if(i == 12)i = 0;}}
}void Timer0Init(void)//5毫秒@11.0592MHz
{AUXR |= 0x80;//定时器时钟1T模式TMOD &= 0xF0;//设置定时器模式TL0 = 0x00;//设置定时初值TH0 = 0x28;//设置定时初值TF0 = 0;//清除TF0标志TR0 = 1;//定时器0开始计时
}void Timer0() interrupt 1
{t++;
}

动态数码管
数码管公共端依次扫描接通。优点:占用端口少。缺点:摄像,拍照时闪烁,在同样电压下与静态相比,亮度较低。示例程序:

#include "stc15f2k60s2.h"
#include "intrins.h"#define uchar unsigned char
#define uint unsigned intuchar code tab[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x7f};
/*这里如果不加code,就会占用寄存器,允许读取和修改寄存器的值,
但是寄存器的数量有限,故我们在这里加上code,将其定义为代码的
类型,只能读取不能修改*/
uchar t = 0;
uchar c5, c6, c7, c8;
uint num = 2330;void Timer0Init(void);
void display(uchar c5, uchar c6, uchar c7, uchar c8);
void Delay1ms();void main()
{P2 = ((P2&0x1f)|0xa0);//不再重复解释,前两章已解释多次P0 = 0x00;Timer0Init();EA=1;ET0=1;while(1){if(t == 200){t = 0;num--;c5 = (num / 1000) % 10;c6 = (num / 100) % 10;c7 = (num /10) % 10;c8 = num % 10;}display(c5, c6, c7, c8);}
}void display(uchar c5, uchar c6, uchar c7, uchar c8)
{P2 = ((P2&0x1f)|0xc0);P0 = 0x80;P2 = ((P2&0x1f)|0xff);P0 = tab[c8];Delay1ms();P2 = ((P2&0x1f)|0xc0);P0 = 0x40;P2 = ((P2&0x1f)|0xff);P0 = tab[c7];Delay1ms();P2 = ((P2&0x1f)|0xc0);P0 = 0x20;P2 = ((P2&0x1f)|0xff);P0 = tab[c5];Delay1ms();P2 = ((P2&0x1f)|0xc0);P0 = 0x10;P2 = ((P2&0x1f)|0xff);P0 = tab[c6];Delay1ms();
}

定时器中断实现实时时钟程序

使用单片机定时器制作一个以00-00-00模式显示,可以通过四个独立按键进行时间修改的24小时制时钟。
定时器、中断、数码管、按键等功能

#include "stc15f2k60s2.h" #define uchar unsigned char 
#define uint unsigned sbit key1=P3^0;//定义端口参数
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
/*key1用于小时 +1key2用于小时 -1key3用于分钟 +1key4用于分钟 -1
*/int uchar code tab[] = 
{0xc0,0xf9,0xa4,0xb0,0x99,0x92, 
0x82,0xf8,0x80,0x90,0xbf,0x7f}; 
uchar strtab[8];//定义缓冲区域
uchar hour = 10, minute = 25, second = 12;
//初始化起始时间10-25-12void display(void);
void delayms(int ms);
void Timer0Init(void);
void Timer1Init(void);void main()
{P2 = ((P2&0x1f)|0xa0);P0 = 0x00;Timer0Init();Timer1Init();ET0 = 1;//开启定时器0ET1 = 1;//同上EA = 1;//定时器使能display();while(1){if (!key1){delayms(5);//按键消抖if (!key1){hour++;if (hour == 24)hour = 0;display();while(!key1);//松手检测}}//其余三个按键功能请自行编写,如遇问题请下载参考源程序}
}void display(void)
{strtab[0] = tab[hour / 10];strtab[1] = tab[hour % 10];strtab[2] = tab[10];strtab[3] = tab[minute % 10];strtab[4] = tab[minute % 10];strtab[5] = tab[10];strtab[6] = tab[second / 10];strtab[7] = tab[second % 10];
}void delayms(int ms)
{int i,j;for(i=ms;i>0;i--)for(j=845;j>0;j--);
}void Timer0Init(void) //5毫秒@11.0592MHz
//内容请自行计算void Timer1Init(void) //1毫秒@11.0592MHz
//内容请自行计算void Timer1_int() interrupt 3 using 0
{static uchar num;TH1 = 0xcd;TL1 = 0xd4;switch(num)//分别调用缓冲区的值进行扫描{case 0: P2 = ((P2&0x1f)|0xc0); P0 = 0x01;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;case 1: P2 = ((P2&0x1f)|0xc0); P0 = 0x02;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;case 2: P2 = ((P2&0x1f)|0xc0); P0 = 0x04;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;case 3: P2 = ((P2&0x1f)|0xc0); P0 = 0x08;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;case 4: P2 = ((P2&0x1f)|0xc0); P0 = 0x10;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;case 5: P2 = ((P2&0x1f)|0xc0); P0 = 0x20;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;case 6: P2 = ((P2&0x1f)|0xc0); P0 = 0x40;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;case 7: P2 = ((P2&0x1f)|0xc0); P0 = 0x80;P2 = ((P2&0x1f)|0xff); P0 = strtab[num];break;default:break;}num++;if (num == 8)num = 0;
}
void Timer0_int() interrupt 1 using 1
{static uchar count;//定义内部静态变量TL0 = 0x00; //初始化初值TH0 = 0x28;<count++;switch (count);{case 0:case 40:case 80:case 120:case 160:display();break;}if (count == 200){count = 0;second++;//加一秒if (second == 60){second = 0;minute++;//加一分if (minute == 60){minute = 0;hour++;//加一小时if (hour == 24)hour = 0;}}}
}

习题:使用单片机定时器制作一个以00-00-00为初始可以通过四个独立按键进行时间修改的24小时制时钟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通信原理速识1:绪论

模块1 通信系统的端到端框架 &#xff08;一&#xff09;模拟通信系统 存在的两种变换 1.发送端&#xff1a;把连续信息变换成原始电信号&#xff08;基带信号&#xff09;&#xff08;信源&#xff09; 接收端&#xff1a;把电信号变换成连续消息&#xff08;受信&#xff09;…

atomiclong_想要更快地使用AtomicLong? 等待它。

atomiclong我经常听到Java原子类型&#xff08;java.util.concurrent.atomic&#xff09;超级快&#xff0c;可以很好地与高度并发的代码一起使用。 大多数时候&#xff0c;原子以健壮和高效的方式完成其工作。 但是&#xff0c;在某些情况下&#xff0c;原子类型上非托管争用的…

数字信号处理基础知识00

数字信号处理 Digital Signal Processing 离散时间信号与系统分析 Z变换 离散傅立叶变换&#xff08;DFT&#xff09; 快速傅立叶变换&#xff08;FFT&#xff09; 离散时间系统的结构 IIR滤波器的设计 FIR滤波器的设计 绪论——数字信号处理概述 基本概念&#xff1a;信号定…

Apache Camel 3的工作终于开始了

我们正在开始Apache Camel 3的工作。 我们正在多方面努力改善骆驼并引入新功能。 实际上&#xff0c;Guillaume Nodet的第一项工作实际上是在10月初开始的 &#xff0c;在那里他通过清理代码库&#xff0c;删除不推荐使用的代码和组件&#xff0c;改进路由引擎和核心中的其他内…

工程电磁场与电磁波第1章——矢量分析

1矢量分析 1.1 矢量代数 1.1.1 矢量加减法 1.1.2 矢量乘积 矢量的标量积&#xff1a;点积 矢量的矢量积&#xff1a;叉积 标量三重积、矢量三重积 1.2 正交坐标系 正交坐标系 正交坐标系的点积、叉积、标量三重积 度量系数 1.2.1 直角坐标系 1.2.2 圆柱坐标系 1.2.3 球坐标…

蓝桥杯扫盲之int, char, unsigned int, unsigned char的使用

一、C51常用数据类型 C语言中默认规则&#xff1a;short int 即为int&#xff0c;long int 即为 long&#xff0c;前面若无unsigned符号默认signed型。 0和1每一个所占空间是一位&#xff08;b&#xff09;&#xff0c;也是单片机存储器中最小的单位。 1B&#xff08;字节&…

第十一届 蓝桥杯 单片机设计与开发项目 省赛 程序设计试题及源码

一、试题 1、 基本要求 1.1 使用大赛组委会提供的国信长天单片机竞赛实训平台,完成本试题的程序设计 与调试。 1.2 选手在程序设计与调试过程中,可参考组委会提供的“资源数据包”。 1.3 请注意: 程序编写、调试完成后选手应通过考试系统提交完整、可编译的 Keil 工程文件…

AWS:避免那些“神圣的法案”时刻的一些技巧

云非常棒&#xff1a;几乎100&#xff05;的可用性&#xff0c;几乎零维护&#xff0c;按需付费&#xff0c;最重要的是&#xff0c;它具有无限的可扩展性。 但是最后两个很容易把你咬回去&#xff0c;把那令人敬畏的事情变成一场噩梦。 有时您会看到类似的故事&#xff1a; …

樊昌信版通信原理期末复习第一章绪论

第1章 绪论 一、知识点梳理 1、通信的目的&#xff1a;传递消息中所包含的信息。 2、消息&#xff1a;是物质或精神状态的一种反映。 3、信息&#xff1a;是消息中包含的有效内容。 4、通信系统的一般模型 信源输入变换器&#xff1a;将非电物理量变成电信号。 发送设备&…

DC/DC开关电源设计

DC/DC开关电源设计视频讲解链接&#xff1a;https://www.bilibili.com/video/BV1Dv411y7jM?t156 一、电源概述 主要内容&#xff1a;线性稳压电源和开关稳压电源的概念理解 1、稳压电源&#xff08;stabilized voltage supply&#xff09;是能为负载提供稳定的交流电或直流…

jboss junit_使用junit-drools进行JBoss Drools单元测试

jboss junit最近&#xff0c;我一直在大量使用JBoss Drools进行项目。 我不是Drools专家-我也不太相信这个框架&#xff0c;或者可能不是只相信该项目中的特定用例-我发现很难为基于Drools的业务规则编写简单&#xff0c;可维护的单元测试 。 这就是junit-drools诞生的方式–简…

【从3D点云生成平面图:一种空间划分方法】

文章目录 概要概述实验总结 概要 本文提出了一种从原始传感器数据自动重建室内环境平面图的新方法。现有的方法是通过检测角点并将它们连接起来&#xff0c;以平面图形的形式生成平面图&#xff0c;与此相反&#xff0c;本文采用了一种策略&#xff0c;将空间分解为多边形分区…

数字信号处理基础知识之DFT、DTFT、DFS、FFT基本概念扫盲

一、名词汇总 DFT&#xff1a;离散傅里叶变换&#xff08;Discrete Fourier Transform&#xff09;&#xff1b; DTFT&#xff1a;离散时间傅里叶变换&#xff08;Discrete-time Fourier Transform&#xff09;&#xff1b; DFS&#xff1a;离散傅里叶级数&#xff0c;又称离散…

数字基带传输学习笔记00引言

S0 引言 一、是什么 1、什么是数字基带信号&#xff1f; 未经调制的数字信号&#xff0c;所占据频谱从零频或很低频率开始 若信道中传输的是数字信号&#xff0c;则称为数字通信系统。这些信号包含丰富的低频分量&#xff0c;甚至直流分量&#xff0c;称为数字基带信号。 如…

如何在ADF中将参数传递给ActionListener

在某些情况下&#xff0c;需要将值传递给ADF Button的ActionListener。 可以由actionListeners调用的方法只有一个ActionEvent类型的参数。 因此&#xff0c;我将解释如何将参数传递给该bean方法&#xff0c;但是它在方法签名中仅包含一个参数ActionEvent。 我在页面上添加了…

计算机二级公共基础部分学习笔记

1、Rear指向队列最后一个元素的位置 Front指向队列第一个元素的前一个位置 RearFront&#xff0c;要么满&#xff0c;要么空&#xff1b;循环队列元素个数求法&#xff1b; 2、总节点数不同度节点数相加 总节点数度数*对应节点数和1 3、二叉树 前序&#xff1a;根-左-右 中序&…

FPGA初学者入门相关概念知识点

一、基础入门 1、整体理解 简单来说&#xff0c;FPGA 就是“可反复编程的逻辑器件”。 ASIC 和 FPGA 就如同印刷品和白纸 ARM 虽然有很多外设&#xff0c;DSP 虽然具备强大的信号运算能力&#xff0c;但是&#xff0c;ARM 能做的&#xff0c;DSP 能做的&#xff0c;FPGA 一定…

01数字基带信号及其频谱特性

S1 数字基带信号及其频谱特性 一、分类 1、单极性不归零波形 优点&#xff1a;电脉冲之间无间隔&#xff0c;极性单一&#xff0c;易于用TTL&#xff0c;CMOS电路产生&#xff1b; 缺点&#xff1a; a) 有直流成份&#xff1b;判决电平不能稳定在最佳的电平&#xff0c;抗噪声…

人工智能英语学习笔记

基础篇单词 mythology n. ancient myths in general; ideas that many people think are true but that do not exist or are false 神话 Examples: A satyr is half man and half goat in Greek and Roman mythology. 在希腊和罗马神话中&#xff0c;森林之神是半人半羊的样子…

CSDN公式编辑(latex语言应用)整理

在线Latex公式编辑器 latex语法指南 一、常用规则 1、编辑公式时&#xff0c;公式显示在两个$$之间。 $ 公式 $ &#xff1a;可写在句中&#xff0c;如me>smartnicehealthyme>smartnicehealthyme>smartnicehealthy $ $ 公式 $ $ &#xff1a;比较大&#xff0c;如me…