C51交通控制系统的设计与实现
实验要求:
本题目拟设计一个工作在十字路口的交通信号灯控制系统,设东西方向为主干道A,南北方向为辅助干道B。要求:(1)用发光二极管模拟交通灯信号;(2)灵活控制主、辅干道交通指示灯的显示时间;(3)设计交通灯控制系统硬件电路;(4)运用C51语言完成对控制系统的软件编程。
一、需求分析
1.1 实验背景
随着科技的快速发展,时间的流逝,单片机技术的应用产品已经走进了千家万户。计算器给人们日常生活中的计算带来了许多方便。随着微电子技术的高速发展,单片机已经在国民经济的个人领域得到了广泛的应用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理等各种测控领域的应用中独占鳌头、单片机开发技术已成为电子信息、电气、通信、自动化等专业技术人员必须掌握的技术。
单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具,于是基于单片机的计算器也顺应而生。基于单片机的计算器用按键来模拟数字、运算符的输入,从而得出结果送给显示设备显示出来,方便人们的生活。
1.2 问题描述
设计一个工作在十字路口的交通信号灯控制系统,设东西方向为主干道A,南北方向为辅助干道B。用Proteus软件进行仿真,实现此次功能。
1.3 基本要求
1. 完成的形式
(1) 熟悉设计题目内容、查找相关资料。
(2) 确定系统的总体设计方案。
(3) 编写语言代码,并调试。
(4) 用Proteus模拟实现交通灯控制
二、 概要设计
2.1 设计方案
2.1.1交通灯四种通行模式及行车方向指示
- 按照简单的交通路口规则,有四种模式
南北绿灯亮 东西红灯亮;
南北黄灯闪 东西红灯亮;
南北红灯亮 东西绿灯亮;
南北红灯亮 东西黄灯闪;
2.2 程序流程图
程序流程图
2.3 模块功能
2.3.1 信号灯显示模块由于南北方向的信号灯始终是同一种状态,所以南北信号灯为一组,只需将对应的信号灯并联即可,东西方向同理。
2.3.2 倒计时显示模块
选取8个7段数码管分别模拟显示四个方向的倒计时,数码管采用共阴极接法。
为了提高P0、P2端口的电流输出能力,保证数码管亮度,保护端口引脚,在P0端口与数码管之间增加了74LS245芯片。
2.3.3 复位模块
此系统可以通过复位按键实现从新工作,电路图如图所示
三、详细设计
3.1 实验原理
3.1.1 外部中断原理
本系统主要使用了外部中断,中断信号有引脚INTO和INT1输入,低电平有效,CPU每个时钟周期都会检测INTO和INT1上的信号,AT89C51允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中ITO和IT1位的状态来实现。以ITO为例,ITO=0,为电平触发方式,ITO=1,为负边沿触发方式,本设计采用电平方式,IEO为其中断标志位,有中断信号则置位,中断服务子程序响应后,IEO自动清零。IE中的EA为允许中断的总控制位,为1开启,EXO为外部中断允许控制位,为1开启。
在优先级的允许下,一旦有外部中断信号产生,单片机CPU首先保护断点,PC值进栈,然后执行相应的中断服务子程序,执行完后,用RETI指令返回,此时CPU会从堆栈中取保存的断点地址,送回PC,程序再正常执行。
3.1.2 软件延时原理
MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12∗(1/12MHZ)=1us。我们可以知道具体每条指令的周期数这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速很快其他的指令执行时间可以忽略不计。
3.1.3 数码管显示原理
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
3.2 设计思路
(1)利用仿真软件绘制仿真实例
1.用 traffic light 和一个led灯表示红、黄、绿的信号灯。
2.用p0口控制交通灯,用P1口控制数码管的段选,P2口控制数码管的位选。
3.p3.6和p3.7接收中断信号并返回给INT0接口处理。
(2)利用keil软件按要求编写程序实现相应功能。
3.3 主要程序编写
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned intsbit SN_LED2=P2^3; //SN_LED2控制位
sbit SN_LED1=P2^2; //SN_LED1控制位
sbit EW_LED2=P2^1; //EW_LED2控制位
sbit EW_LED1=P2^0; //EW_LED1控制位sbit EW_Yellow=P1^6; //EW黄灯
sbit EW_Red=P1^7; //EW红灯
sbit EW_Green=P1^5; //EW绿灯
sbit SN_Yellow=P1^2; //SN黄灯
sbit SN_Red=P1^3; //SN红灯
sbit SN_Green=P1^1; //SN绿灯bit Restore_flag=0; //恢复正常标志位
bit Flag_EW_Yellow; //EW黄灯标志位
bit Flag_SN_Yellow; //SN黄灯标志位
char Time_SN; //南北方向倒计时单元
char Time_EW; //东西方向倒计时单元
uchar SN=15,EW=20; //程序初始化赋值
uchar SN1=15,EW1=10; //用于存放修改值的变量
uchar code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0~~~~9段选码
uchar code S[9]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84,0x88};//交通信号灯控制代码/**********************延时子程序************************/
void delay_ms(uint x) //延时ms
{uint i,j;for(i=x;i>0;i--)for(j=110;j>0;j--);
}
/*****************显示函数**************************/
void Display(void)
{char h,l;h=Time_SN/10;l=Time_SN%10;P0=table[l];SN_LED2=1;delay_ms(1);SN_LED2=0;P0=table[h];SN_LED1=1;delay_ms(1);SN_LED1=0; //南北方向数码管显示h=Time_EW/10;l=Time_EW%10;P0=table[l];EW_LED2=1;delay_ms(1);EW_LED2=0;P0=table[h];EW_LED1=1;delay_ms(1);EW_LED1=0; //东西方向数码管显示
} /**********************T0中断服务程序*******************/
void timer0() interrupt 1
{static uchar count; //count为静态变量初值为0TL0 = 0xB0; //重赋定时初值50msTH0 = 0x3C; //重赋定时初值50mscount++; //计数if(count==10) //加快闪烁速度{if(Flag_EW_Yellow==1) //测试东西黄灯标志位{EW_Yellow=~EW_Yellow;}//东西黄灯闪烁if(Flag_SN_Yellow==1) //测试南北黄灯标志位{SN_Yellow=~SN_Yellow;}//南北黄灯闪烁}if(count==20) //20*50=1000ms=1S {Time_SN--; //南北方向倒计时Time_EW--; //东西方向倒计时if(Flag_EW_Yellow==1) //测试东西黄灯标志位{EW_Yellow=~EW_Yellow;} //东西黄灯闪烁if(Flag_SN_Yellow==1) //测试南北黄灯标志位{SN_Yellow=~SN_Yellow;} //南北黄灯闪烁count=0;}
}/*********************主程序开始**********************/
void main(void)
{
/*********************中断初始化**********************/IT0=1; //设置外部中断0触发方式(下降沿触发)EX0=1; //打开外部中断0的IE寄存器中断EA=1; //CPU开中断总允许ET0=1; //开定时中断TMOD=0x01; //定时器工作于方式1TL0 = 0xB0; //设置定时初值50msTH0 = 0x3C; //设置定时初值50msTF0 = 0; //清除TF0标志TR0 = 1; //定时器0开始计时
while(1) {if(Restore_flag)break; /*******S1状态(南北直行状态)**********/Time_SN=SN; //南北数码管赋值10s Time_EW=EW; //东西数码管赋值15swhile(Time_EW>=6) //东西方向倒计时前10s循环体{ Flag_EW_Yellow=0; //南北关黄灯显示信号 P1=S[4]; //南北通行,东西红灯Display(); //调用显示函数if(Restore_flag)break;}/*******S2状态(南北直行黄灯闪烁状态)**********/P1=0x00; //所有路口红绿灯短时熄灭if(Time_EW==5) //当东西倒计时为5s时Time_SN=5; //南北重新从5s开始倒计时while(Time_EW>=1) //东西方向倒计时最后5s循环体{Flag_SN_Yellow=1; //南北开黄灯信号位EW_Red=1; //南北黄灯开始闪烁,东西红灯亮 Display(); //调用显示函数if(Restore_flag)break; }/***********赋值(南北通行变东西通行)**********/SN=SN1; //南北10s-->15sEW=EW1; //东西15s-->10s /*******S3状态(东西直行状态)**********/ Time_SN=SN; //南北数码管赋值15sTime_EW=EW; //东西数码管赋值10swhile(Time_SN>=6) //南北方向倒计时前10s循环体{ Flag_SN_Yellow=0; //南北关黄灯显示信号P1=S[0]; //东西通行,南北红灯Display(); //调用显示函数if(Restore_flag)break; }/*******S4状态(东西直行黄灯闪烁状态)**********/P1=0X00; //所有路口红绿灯短时熄灭if(Time_SN==5) //当南北倒计时为5s时Time_EW=5; //东西重新从5s开始倒计时while(Time_SN>=1) //南北方向倒计时最后5s循环体{Flag_EW_Yellow=1; //东西开黄灯信号位SN_Red=1; //东西黄灯开始闪烁,南北红灯亮Display(); //调用显示函数if(Restore_flag)break; }/***********赋值(东西通行变南北通行)**********/SN=EW1; //南北15s-->10sEW=SN1; //东西10s-->15s } }
-
四、测试与分析
4.1 仿真结果
首先焊接各个电路板,焊接完每个电路板以后,对电路板对的每个模块分别进行测试,以确保在整个系统焊接完能正常的工作。单独测试后,将2个电路板连接起来,进行最后的结果测试。
实验结果与预期相符:
相关文章:
C51交通控制系统的设计与实现
实验要求: 本题目拟设计一个工作在十字路口的交通信号灯控制系统,设东西方向为主干道A,南北方向为辅助干道B。要求:(1)用发光二极管模拟交通灯信号;(2)灵活控制主、辅干…...
css 实现自定义虚线
需求: ui 画的图是虚线,但是虚线很宽正常的border 参数无法做到 进程: 尝试使用 border:1px dashed 发现使用这个虽然是虚线但是很短密密麻麻的 这并不是我们想要的那就只能换方案 第一个最简单,让ui 画一个图然…...
网络协议基础--协议分层
一.协议概述 1.TCP/IP 传输协议概述 TCP/IP 传输协议,即传输控制 / 网络协议,也被称作网络通讯协议。它是网络中使用的最基本通信协议,对互联网中各部分进行通信的标准和方法予以规定。通常所说的 TCP/IP 协议并非仅指 TCP 和 IP 两个协议&a…...
iOS - TLS(线程本地存储)
从源码中,详细总结 TLS (Thread Local Storage) 的实现: 1. TLS 基本结构 // TLS 的基本结构 struct tls_data {pthread_key_t key; // 线程本地存储的键void (*destructor)(void *); // 清理函数 };// 自动释放池的 TLS class Autorelease…...
主链和Layer2之间资产转移
主链和Layer2之间资产转移 主链和Layer2之间资产转移是实现Layer2技术的关键环节,以下是资产转移的流程、流行解决方案及原理: 资产从主链转移到Layer2 用户在主链上发起一笔交易,将资产发送到一个特定的智能合约地址,这个合约是主链与Layer2之间的桥梁。智能合约会锁定用…...
深度学习-算法优化与宇宙能量梯度分布
在当今迅速发展的科技世界中,算法优化和能量分布问题已成为研究的热点,尤其是在人工智能、机器学习和物理科学领域。算法优化通常涉及提高计算效率和降低资源消耗,而宇宙能量梯度分布则涉及宇宙中能量的分布和流动方式。两者看似是完全不同的…...
《Java核心技术II》实现服务器
实现服务器 这节实现简单服务器,可以向客户端发送信息。 服务器套接字 ServerSocket用于建立套接字 var s new ServerSocket(8189); 建立一个监听端口8189的服务器。 Socket incoming s.accept(); 此对象可以得到输入流和输出流。 InputStream inStream incomin…...
登上Nature!交叉注意力机制 发顶会流量密码!
在深度学习领域,交叉注意力融合技术正迅速崛起,并成为处理多模态数据的关键工具。这一技术通过有效地整合来自不同模态的信息,使得模型能够更好地理解和推理复杂的数据关系。 随着多模态数据的日益普及,如图像、文本和声音等&…...
Windows 正确配置android adb调试的方法
下载适用于 Windows 的 SDK Platform-Tools https://developer.android.google.cn/tools/releases/platform-tools?hlzh-cn 设置系统变量,路径为platform-tools文件夹的绝对路径 点击Path添加环境变量 %adb%打开终端输入adb shell 这就成功了!...
leetcode刷题记录(五十六)——53. 最大子数组和
(一)问题描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,…...
SQL BETWEEN 操作符
SQL BETWEEN 操作符 SQL中的BETWEEN操作符用于选取介于两个值之间的数据范围。这些值可以是数字、文本或日期。BETWEEN操作符是SQL中非常实用的一个功能,它可以帮助我们快速地筛选出符合特定条件的数据记录。 BETWEEN操作符的基本用法 BETWEEN操作符的基本语法如…...
分布式 IO 模块:引领立体车库迈向智能化新时代
在城市空间愈发珍贵的当下,立体车库作为高效利用空间的停车解决方案,正日益普及。而明达技术MR30分布式 IO 模块的应用,如同为立体车库注入了智能 “芯” 动力,让停车变得更加便捷、高效、智能。 MR30分布式 IO 模块,作…...
《C++11》深入剖析正则表达式库:解锁文本处理的高效之道
在现代编程领域,文本处理是一项不可或缺的任务,而正则表达式无疑是这一领域的强大利器。C11标准库的引入,为C开发者带来了正则表达式库,极大地丰富了C在文本处理方面的能力。本文将全方位、多角度地深入探讨C11正则表达式库&#…...
Mongodb相关内容
Mongodb相关内容 1、Windows平台安装2、Linux平台安装3、基本常用命令文档更新删除文档分页查询索引 pymongo操作 客户端下载:https://download.csdn.net/download/guoqingru0311/90273435 1、Windows平台安装 方式一: 方式2: 方式3&#…...
United States of America三种表示
"United States of America", "United States", 和 "America" 都表示美国,但它们的使用场景和背景略有不同。以下是关于为什么这些名称可以合在一起表示美国的详细解释: 1. "United States of America" 全称&a…...
【Redis】Redis特性及其应用场景
目录 Redis特性 在内存中存储数据 可编程性 可扩展性 持久化 集群 高可用 补充特性 Redis的应用场景 数据库 缓存 会话存储 消息队列中间件 Redis特性 Redis是一个在内存中存储数据的中间件,用于作为数据库、数据缓存。Redis在分布式系统中有着较…...
Vue 使用blob下载文件,打开文件,文件是损毁的
文章目录 问题分析解决 问题 如图所示,在进行图片下载时下载的文件显示图片已被损 分析 代码如下: import axios from axios; async function downloadImage1(link, name) {try {const response await axios.get(link, {responseType: blob, // 设置响…...
Android 通过systrace如何快速找到app的刷新率
1. 如何抓取systrace: 方法一 andrdoid11以及以上的android版本都支持使用perfetto的方式抓取systrace,简单好用。 adb shell perfetto --buffer 512mb --time 10s --out /data/misc/perfetto-traces/perfetto_trace gfx input view wm am hal res dalv…...
vulnhub靶场【Raven系列】之2 ,对于mysql udf提权的复习
前言 靶机:Raven-2,IP地址为192.168.10.9 攻击:kali,IP地址为192.168.10.2 都采用虚拟机,网卡为桥接模式 文章所用靶机来自vulnhub,可通过官网下载,或者通过链接:https://pan.quark.cn/s/a65…...
【单片机开发 - STM32(H7)】启动流程、方式、烧录方式详解
如侵权,联系删,个人总结学习用 参考资料:(最末尾有我的原生笔记,那个格式规范点) 安富莱 ARM汇编伪指令详解-CSDN博客 【STM32】STM32内存映射以及启动过程(超详细过程)-CSDN博客…...
[手机Linux] ubuntu 错误解决
Ubuntu: 1,ttyname failed: Inappropriate ioctl for device 将 /root/.profile 文件中的 mesg n || true 改为如下内容。 vim /root/.profile tty -s && mesg n || true 2,Errors were encountered while processing: XXX XXXX sudo apt-get --purge remove xxx…...
springCloudGateway+nacos自定义负载均衡-通过IP隔离开发环境
先说一下想法,小公司开发项目,参考若依框架使用的spring-cloud-starter-gateway和spring-cloud-starter-alibaba-nacos, 用到了nacos的配置中心和注册中心,有多个模块(每个模块都是一个服务)。 想本地开发,…...
MyBatis-增删改查操作一些细节
目录 删除 新增 修改 查询 小结: 删除功能 需求:根据ID删除用户信息 SQL:delete from user where id 5; Mapper接口方法(注意这里不是实现类): /*** 根据id删除*/ Delete("delete from user wher…...
windows 极速安装 Linux (Ubuntu)-- 无需虚拟机
1. 安装 WSL 和 Ubuntu 打开命令行,执行 WSL --install -d ubuntu若报错,则先执行 WSL --update2. 重启电脑 因安装了子系统,需重启电脑才生效 3. 配置 Ubuntu 的账号密码 打开 Ubuntu 的命令行 按提示,输入账号,密…...
【学习笔记】各种强化学习环境
0. 写在前面 0.1 强化学习综述/资料(更新中) 鹏程实验室: 中文报道:学术分享丨具身智能综述:鹏城实验室&中大调研近400篇文献,英文原文:Aligning Cyber Space with Physical World…...
统计有序矩阵中的负数
统计有序矩阵中的负数 描述 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目 示例 1: 输入:grid [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]…...
【已解决】git clone报错:Failed to connect to github.com port 443: Timed out
1.问题原因1 报错信息1: fatal: unable to access https://github.com/microsoft/xxx/: Failed to connect to github.com port 443: Timed out 报错信息2: fatal: unable to access https://github.com/xxx/xx/: OpenSSL SSL_read: Connection was …...
Android SystemUI——使用Dagger2加载组件(四)
SystemUI 是 Android 系统中的一个重要模块,负责绘制系统栏(如状态栏、导航栏)、锁屏、快捷设置等用户界面元素。由于其复杂性,良好的架构设计和依赖管理对于保持代码的可维护性和扩展性至关重要。这就是 Dagger2 在此发挥重要作用的地方。 一、Dagger2介绍 Dagger2 是一个…...
Lesson 109 A good idea
Lesson 109 A good idea 词汇 idea n. 主意,想法 复数:ideas 用法:口语:Good idea! 好主意! Big idea! 高见!好主意! Great idea! 好主意 Bad idea! 坏主…...
网络安全-RSA非对称加密算法、数字签名
数字签名非常普遍: 了解数字签名前先了解一下SHA-1摘要,RSA非对称加密算法。然后再了解数字签名。 SHA-1 SHA-1(secure hash Algorithm )是一种 数据加密算法。该算法的思想是接收一段明文,然后以一种不可逆的方式将…...
自动化办公|xlwings简介
xlwings 是一个开源的 Python 库,旨在实现 Python 与 Microsoft Excel 的无缝集成。它允许用户使用 Python 脚本自动化 Excel 操作,读取和写入数据,执行宏,甚至调用 VBA 脚本。这使得数据分析、报告生成和其他与 Excel 相关的任务…...
C#使用OpenTK绘制3D可拖动旋转图形三棱锥
接上篇,绘制着色矩形 C#使用OpenTK绘制一个着色矩形-CSDN博客 上一篇安装OpenTK.GLControl后,这里可以直接拖动控件GLControl 我们会发现GLControl继承于UserControl //// 摘要:// OpenGL-aware WinForms control. The WinForms designer will always call the default//…...
【网络云SRE运维开发】2025第3周-每日【2025/01/14】小测-【第13章ospf路由协议】理论和实操
文章目录 选择题(10道)理论题(5道)实操题(5道) 【网络云SRE运维开发】2025第3周-每日【2025/01/14】小测-【第12章ospf路由协议】理论和实操 选择题(10道) 在OSPF协议中,…...
计算机网络 (34)可靠传输的工作原理
前言 计算机网络可靠传输的工作原理主要依赖于一系列协议和机制,以确保数据在传输过程中能够准确无误地到达目的地。 一、基本概念 可靠传输指的是数据链路层的发送端发送什么,在接收端就收到什么,即保证数据的完整性、正确性和顺序性。由于网…...
提高互联网Web安全性:避免越权漏洞的技术方案
目录 一、越权漏洞概述 二、常见的越权漏洞类型 三、越权漏洞的影响 四、越权漏洞的技术解决方案 一、越权漏洞概述 越权(Authorization Bypass)类漏洞是指在系统中,攻击者通过绕过身份验证或访问控制,获取本不应访问的资源或…...
c语言 --- 字符串
创建字符串 1. 使用字符数组创建字符串 #include <stdio.h>int main() {char str[20] "Hello, world!";str[0] h; // 修改字符串的第一个字符printf("%s\n", str); // 输出:hello, world!return 0; }解释: 数组大小 20 表…...
Linux探秘坊-------1.系统核心的低语:基础指令的奥秘解析(3)
1.zip/unzip指令 语法: zip 压缩⽂件.zip ⽬录或⽂件 功能:将⽬录或⽂件压缩成zip格式 常⽤选项: -r:递归处理,将指定⽬录下的 所有⽂件和⼦⽬录⼀并处理 example: 1.事前准备 建立以下文件与目录: 2.压缩test 目…...
Java中网络编程的学习
目录 网络编程概述 网络模型 网络通信三要素: IP 端口号 通信协议 IP地址(Internet Protocol Address) 端口号 网络通信协议 TCP 三次握手 四次挥手 UDP TCP编程 客户端Socket的工作过程包含以下四个基本的步骤: 服务器程序…...
微服务的CAP定理与数据一致性抉择
分布式系统中的CAP定理,包括一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)三个核心要素。 微服务是分布式系统的一种表现形式,以及用户对于系统是分…...
正则表达式 - 简介
正则表达式 - 简介 正则表达式(Regular Expression,简称Regex)是一种用于处理字符串的强大工具,它允许我们按照特定的模式(pattern)来搜索、匹配、查找和替换文本。正则表达式广泛应用于各种编程语言和工具…...
MySQL:表的内外连接
目录 1.内连接 2.左外连接和右外连接 178. 分数排名 - 力扣(LeetCode) 1.内连接 内连接就是两张表做笛卡尔积,再加上一个筛选条件。 这两个sql语句是一样的。 2.左外连接和右外连接 左外连接就是左表必须是完全显示,即使筛选…...
65.在 Vue 3 中使用 OpenLayers 绘制带有箭头的线条
前言 在现代的前端开发中,地图已经成为许多项目的核心功能之一。OpenLayers 是一个强大的开源地图库,它提供了丰富的功能和高度的定制化支持。在本篇文章中,我将向大家展示如何在 Vue 3 中使用 OpenLayers 绘制带有箭头的线条。 我们将实现…...
关于编写测试用例的细枝末节
这里写目录标题 故障判别类-边界考虑示例1.0:若A>20.3且持续时间≥15ms时(判故周期为1000Hz),输出B为1,否则输出B为0。 故障判别类-不可恢复测试示例1.1:若A>20.3且持续时间≥15ms时…...
【Vim Masterclass 笔记13】第 7 章:Vim 核心操作之——文本对象与宏操作 + S07L28:Vim 文本对象
文章目录 Section 7:Text Objects and MacrosS07L28 Text Objects1 文本对象的含义2 操作文本对象的基本语法3 操作光标所在的整个单词4 删除光标所在的整个句子5 操作光标所在的整个段落6 删除光标所在的中括号内的文本7 删除光标所在的小括号内的文本8 操作尖括号…...
(一)QSQLite3库简介
1、SQLite数据库 SQLite数据库,作为一个轻量级的关系型数据库管理系统,广泛应用于移动设备和桌面应用程序中。由于其简单易用、无需配置的特点,它为开发者提供了极大的便利。然而,正是由于其应用广泛,随着用户对于系统…...
新版 MacOS 无法从 /usr/local/lib 加载动态链接库的解决办法
自己编写的动态链接库在Unix规范下一般位于/usr/local/lib,在2023年及之前的MacOS版本中,直接将动态库安装到该位置即可在程序运行时加载,可是升级MacOS版本后,ld就报错。 错误现象 运行程序,报错 dyld[6376]: Libra…...
PanWeidb-使用BenchmarkSQL对磐维数据库进行压测
本文提供PanweiDb使用BenchmarkSQL进行性能测试的方法和测试数据报告。 BenchmarkSQL,一个JDBC基准测试工具,内嵌了TPC-C测试脚本,支持很多数据库,如PostgreSQL、Oracle和Mysql等。 TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业…...
git在本地创建新分支并将该分支推送到远程仓库
1. 创建本地分支 首先,创建并切换到一个新的本地分支: git checkout -b new-branch-name2. 推送本地分支到远程仓库 将新的本地分支推送到远程仓库,并在远程创建一个对应的新分支: git push origin new-branch-name3. 设置本地…...
Axure9笔记
快速入门 原型图种类 1.线框图 2.高保真图 3.简易需求文档(PRD) tips 按住shift可以等比缩放 旋转:ctrl按角角 矢量图素材: iconfont-阿里巴巴矢量图标库 复制svg图-->将svg图换为形状 截屏: Windows&…...
33_操作Redis分片集群
1.Redis分片集群读写 我们使用的redis-cli --cluster提供了很多操作集群的命令,可以通过下面方式查看。 [root@localhost ~]# redis-cli --cluster help 1.连接上7001节点后,尝试存储一组num=100和a=10的数据,语句如下所示。 [root@node1 cluster]# redis-cli -a 123456…...