rst

单片机最小系统详解,你要知道的都在这里了

僤鯓⒐⒋嵵緔 提交于 2020-04-06 19:28:40
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路图. 说明: 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的. 复位电路 一、复位电路的用途 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机

TCP异常与处理

为君一笑 提交于 2020-03-07 10:51:40
TCP中出现的错误及处理 首先要明确,TCP连接关闭有两种方法其一是正常的四次挥手,会经历多个状态,最后连接正常关闭,还有一种方法是连接异常关闭,即此时对方希望连接能够尽快关闭,发送RST包后连接会直接关闭,不会再出现上述的状态转换 进程正常关闭/进程被杀死/服务器重启 这三种情况下,服务器关闭套接字,并发起第一次挥手操作,客户端收到FIN包,并返回ack, 此时连接处于半关闭状态,客户端并不知道服务器已经关闭,客户端如果继续向服务器write数据,那么服务器会向客户端发送RST包, 当客户端收到RST包时,如果再write,那么将返回EPIPE错误,同时会导致SIGPIPE信号,如果从收到RST包的连接上read,那么将返回ECONNRESET错误 如果客户端是使用的select/epoll等,那么当select/epoll收到RST会返回连接可读,即调用read返回ECONNRESET错误(但是 根据muduo库测试最后epoll收到RST后返回可读,但是read会返回0,此处存疑 ),注意这里所说的错误是errno的值,同时也是套接字的待处理错误,所以此时调用getsockopt所获得的error是相应的错误,epoll/select所监视的某个socket上如果出现了错误,那么将会返回可读可写 服务器崩溃/服务器不可达 服务器崩溃时,如果有数据发送,那么TCP会重传数据

opencv学习记录之阈值处理

三世轮回 提交于 2020-01-17 20:19:08
阈值处理是指将图像内高于一定值或者低于一定值的像素点进行处理 函数形式为: retval ,dst = cv2.thresshold( src , thresh , maxval , type ) retval代表返回的阈值 dst代表阈值分割结果图像,与原始图像有相同的大小和类型 src代表要进行分割的图像,可以是多通道的 thresh代表要设定的阈值 maxval代表当type为THRESH_BINARY或者THRESH_BINARY_INV类型时,需要设定的最大值 type代表阈值分割的类型 具体类型如下 二值化阈值处理(cv2.THRESH_BINARY) 处理之后图像为只有两个值的二值图像 对于8位灰度图像,将超过阈值thresh的值处理为最大值255,低于阈值的处理位0 1 import cv2 2 import numpy as np 3 img=np.random.randint(0,256,size=[4,5],dtype=np.uint8) 4 t,rst=cv2.threshold(img,127,255,cv2.THRESH_BINARY) 5 print("img=\n",img) 6 print("t=",t) 7 print("rst=\n",rst) img= [[ 98 151 50 196 238] [ 45 64 225 227 204] [

Python正则表达式函数

有些话、适合烂在心里 提交于 2020-01-06 22:02:40
正则表达式函数:正则表达式函数有:re.match()函数、re.search()函数、全局匹配函数、re.sub()函数 match():从头开始匹配 string = "Poythonpty" pat = "p.*?y" pat1 = "y.*" rst = re.match(pat, string, re.I) rst1 = re.match(pat1, string, re.I) print(rst) print(rst1) 打印结果:     search():任意地方匹配,从左到右提取一个结果 string = "Poythonpty" pat = "p.*?y" rst = re.search(pat, string, re.I) print(rst) 打印结果:     全局匹配函数:全局匹配格式:re.compile(正则表达式).findall(数据)    string = "PoythonptyohphyjkPdsy" pat = "p.*?y" rst = re.compile(pat, re.I).findall(string) print(rst)   打印结果:    常见实例   实例1:.com和.cn网址    string = "< a helf='https://www.baidu.com'>百度首页</a>" # pat = 'http.

10.TCP连接的建立与终止

点点圈 提交于 2019-12-31 01:43:17
1.建立连接协议 (1)请求端发送一个SYN段指明客户打算连接的服务器的端口,移机初始序号ISN。这个SYN段为报文段1。 (2)服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。 (3)客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认。 这三个报文段完成连接的建立,这个过程也称为3次握手。 2.连接终止协议 终止一个连接需要进行4次握手,这是由TCP的半关闭造成的。 当客户机完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。当服务器也想关闭连接时,会向客户机发送一个FIN,客户必须发回一个确认,并将确认序号设置为收到的序号加1。你 3.最大报文段长度 最大报文段长度MSS表示TCP传往另一端的最大块数据的长度。当一个连接建立时,双方都要通告各自的MSS。如果没有分段发生,MSS越大,每个报文段传送的数据就越多,相对TCP和IP首部就有着更高的网络利用率。MSS一般为MTU减去IP首部和TCP首部各20字节。对于 一个以太网,MSS可达1460bytes。如果目的地址不是本地地址,MSS默认为536。但是如果中间网络的MTU小于576

Python正则表达式函数

萝らか妹 提交于 2019-12-28 14:28:04
正则表达式函数:正则表达式函数有:re.match()函数、re.search()函数、全局匹配函数、re.sub()函数 match():从头开始匹配 string = "Poythonpty" pat = "p.*?y" pat1 = "y.*" rst = re . match ( pat , string , re . I ) rst1 = re . match ( pat1 , string , re . I ) print ( rst ) print ( rst1 ) 打印结果: search():任意地方匹配,从左到右提取一个结果 string = "Poythonpty" pat = "p.*?y" rst = re . search ( pat , string , re . I ) print ( rst ) 打印结果: 3、全局匹配函数:全局匹配格式:re.compile(正则表达式).findall(数据) string = "PoythonptyohphyjkPdsy" pat = "p.*?y" rst = re . compile ( pat , re . I ) . findall ( string ) print ( rst ) 打印结果: 常见实例 实例1:.com和.cn网址 string = "< a helf='https://www

【连载】 FPGA Verilog HDL 系列实例--------卡式电话计费器

痴心易碎 提交于 2019-12-22 06:32:23
【连载】 FPGA Verilog HDL 系列实例 Verilog HDL 之 卡式电话计费器   我们每天都在和手机打交道,更熟悉了打电话的各项业务,那么怎么通过Verilog HDL 硬件描述语言简单的控制电话的计时计费呢,下面我们就来看看是如何实现的。先介绍下卡式电话计费器的要求。 一、实验要求及原理 (1) 计费器在话卡插入后,能将卡中的币值读出并显示出来;在通话过程中,根据话务种类计话费并将话费从卡值中扣 除,卡值余额每分钟更新一次;计时与计费数据均以十进制形式显示出来。 (2)话务分为3类:市话、长话和特话,其中市话按每分钟3角钱计费,长话按每分钟6角钱计费,特话不收费。当卡上余额不足时产生告警信号,当告警达到一定时间则切断当前通话。 二、实验平台   Quartus II 7.2 集成开发环境、SOPC-MBoard板、ByteBlaster II 下载电缆 三、实验实现 1、设计思路   此系统由三个模块组成,一是时钟分频模块,负责产生1Hz的时间;二是卡式电话计费主体,负责计时计费,余额不足时,产生警报后自动切断通话信号;三是顶层模块,负责数码管的显示。 2、在设计文件中输入Verilog代码。 (1)时钟分频 View Code 1 //--------------------------------------------------------------

什么叫51单片机最小系统

末鹿安然 提交于 2019-12-21 04:39:47
单片机 最小 系统 ,或者称为最小 应用 系统,是指用最少的元件组成的单片机可以工作的系统. 对51系列单片机来说,最小系统一般应该包括:单片机、晶振 电路 、复位电路. 下面给出一个51单片机的最小系统 电路图 . 说明 复位电路:由 电容 串联 电阻 构成,由图并结合"电容 电压 不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的 时间 由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书 推荐 C 取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有 串口 通讯 的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的. 复位电路: 一、复位电路的用途 单片机复位电路就好比电脑的重启部分

将数字转换为人民币大写

非 Y 不嫁゛ 提交于 2019-12-18 14:52:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 将数字转换为人民币大写。 例如: 12058304.368元,转换为:壹仟贰佰零伍万捌仟叁佰零肆元叁角陆分 注:13位数字的金额已经不小了,万亿 def num2chn(num): """ 将数字(数字字符串)转换为人民币大写 :param num: int、float或者str :return: 返回处理结果,发生错误返回None """ chr = ('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖') bit = ('分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万') # 例 324562.003 # 转换为 00265423 try: num = float(num) # 将数字反序排列,从右至左依次 num_str = ('%0.2f' % num).replace('.', '')[::-1] except ValueError: return None n = len(num_str) if n >= 15: return None result = [] for i in range(0, n): # 非圆、万、亿, if num_str[i] == "0

microblaze的rst与sdk中的debug的关系

这一生的挚爱 提交于 2019-12-17 13:45:03
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> microblaze中有一个PLL,当然pll也有一个rst端口作为外部口,物理上与fpga的某一个管脚相连,而这个管脚是由外部mcu控制的。今天做实验时发现: 1)mcu将rst控制起作用,即=1; 2)SDK中将程序都下载进去开始启动调试,发现无法调试 #3)如果mcu将rst=0,则一切正常。 来源: oschina 链接: https://my.oschina.net/u/2963604/blog/3143956