- 博客(10)
- 收藏
- 关注
原创 单片机中的中断系统
对于单片机来讲,中断就是指CPU在处理某一事件A时,发生了另一件事B,请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作(中断响应),转去处理事件B(中断服务);引起CPU中断的根源称为中断源。中断源向CPU提出中断请求,CPU暂时中断原来的事务A,转去处理事件B,对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。单片机在执行程序时,中断也随时有可能发生,但无论何时发生,只要一旦发生,单片机立即暂停当前程序,赶快去处理中断程序,处理完中断程序后再返回刚才暂停处接着执行原来的程序。
2024-11-22 21:18:51
838
原创 51单片机实验——矩阵按键实验
行列扫描法检测时,先送一列为低电平,其余几列全为高电平,然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平,则我们便可确认当前被按下的键是那一行哪一列的,用同样方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样即可检测完所有的按键,当有键被按下时便可判断出按下的键是哪一个键。
2024-11-21 21:39:14
1139
原创 51单片机实验——独立按键实验
从图中可以看出,4个独立按键的控制管脚连接到51单片机的P3.0-P3.3脚上。四个按键另一端全部连接在GND,当按键按下后,对应IO口即为低电平。为了确保CPU对按键的一次闭合仅作一次处理,必须进行消抖。按键消抖的方式有两种,一种是硬件消抖,另一种是软件消抖。我们开发板采用软件消抖。由于机械点的弹性作用,按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开,因而在闭合和断开的瞬间均伴随着一连串的抖动。按键是一种电子开关,使用时轻轻按开关按钮就可使开关接通,当送手时,开关断开。
2024-11-20 20:00:35
1193
原创 51单片机实验——动态数码管实验
2个4位一体的共阴数码管的位选线有8根,直接让单片机IO口控制是没有任何问题的,但考虑51单片机IO口资源有限制,通常我们会使用一种IO扩展芯片,只需要很少的单片机IO口就可以扩展出8个控制口,通过级联方式甚至可以扩展出更多的控制口。2.多位数码管,即两个或两个以上单个数码管并列集中在一起形成一体的数码管。当多位一体时,他们内部的公共端是独立的,而负责显示什么数字的段线(a-dp)全部是连接在一起的,独立的公共端可以控制多位一体中的哪一位数码管点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字。
2024-11-19 21:54:23
655
原创 51单片机实验——静态数码管实验
从上图可以看出,一位数码管的引脚是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,多数生产商为了封装统一,单位数码管都封装10个引脚,其中第3和第8引脚是连接在一起的,如上图。对于共阴极数码管来说,其8个发光二极管的阴极在数码管内部全部连接在一起,所以称“共阴”,而他们的阳极是独立的,通常在设计电路时一般把阴极接地。2.数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)。
2024-11-18 21:39:30
1349
原创 51单片机实验——蜂鸣器实验
这是因为51单片机IO口的驱动能力较弱(即使外接上拉电阻),而蜂鸣器驱动需要约30mA,所以非常困难,即使可以驱动,那对于整个芯片的其它IO剩下驱动能力就更加弱甚至无法工作。对于无源蜂鸣器,如果改变频率就可以调节蜂鸣器音调,产生各种不同音色、音调的声音。如果改变输出电平的高低电平占空比,则可以改变蜂鸣器的声音大小。开发板上使用的是无源蜂鸣器,它需要一定频率的脉冲才会发声,因此需要让P25脚以一定频率不断输出高低电平信号才能控制蜂鸣器发出声音。我们开发板上使用的蜂鸣器是无源蜂鸣器,属于压电式蜂鸣器类型。
2024-11-16 16:35:31
1920
原创 51单片机入门教程——LED流水灯实验
要想实现LED流水灯,只需循环让D1-D8指示灯逐个点亮。要实现循环点亮,可以使用最容易理解的方法:点亮D1且把D2-D8熄灭,延时一段时间后再点亮D2且把D1、D3-D8熄灭,延时一段时间后再点亮D3且把D1-D2、D4-D8熄灭,如此循环,这样就可以很简单的实现LED流水灯实验,但不推荐。推荐使用C语言相关的基础知识中的移位以及循环语句操作,根据流水灯实现原理,即IO口由低往高或者由高往低逐个输出低电平特点,那么我们可以将移位操作以及循环结合进来。
2024-11-15 20:39:28
1040
原创 51单片机入门教程——LED闪烁实验
要想实现LED闪烁,其实操作很简单,只需要循环让D1指示灯先亮一会后熄灭。这里就涉及一个延时问题,我们知道单片机执行每一条代码指令都是需要时间的,因此只需要编写一循环函数,让CPU不干其他事,专门在那循环运行即可实现延时功能。函数入口有一个形式参数ten_us,如果ten_us等于1,则while循环一次,调用该函数延时时间大约10us(这种使用循环来实现延时是不精确的)。
2024-11-14 21:57:56
729
原创 51单片机入门教程——点亮第一个LED灯
首先将51单片机的头文件包含进来,然后使用sbit关键字来定义P2.0管脚,定义好后即可使用LED1来替代P2.0口的操作。主函数功能非常简单,首先让LED1为低电平,即P2.0口输出为低电平,D1指示灯即点亮,然后进入while循环,单片机此时一直在while内循环操作。图中LED采用共阳接法,即所有LED阳极管脚接电源VCC,阴极管脚通过一个471欧的限流电阻接到P2口上。LED即发光二极管,具有单向导电性,通过5mA左右电流即可发光,电流越大,其亮度越强,但若电流过大,会烧毁二极管。
2024-11-13 22:02:24
978
原创 当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?
如果没有,则向DNS服务器请求解析该域名对应的IP地址。客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。3.发送HTTP请求:与服务器建立连接后,浏览器发送HTTP请求,请求方式包括GET和POST等,携带请求数据和参数。
2024-09-18 14:38:27
412
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅