摘要:前端时间要用按键,搞了个状态机(如图): main.c data.h data.c interrupt.h interrupt.c button.h button.c 工程文件:51内核按键状态机.rar 阅读全文
posted @ 2019-09-16 14:09 极客先锋 阅读 (12) 评论 (0) 编辑
摘要:内网穿透的方法有很多,有 阅读全文
posted @ 2019-07-04 10:32 极客先锋 阅读 (4) 评论 (0) 编辑
摘要:N76e003切换到外部时钟的资料很少(因为N76e003的片子是不支持无源晶振的,有源晶振的成本又很高,所以网上很少有对N76e003的介绍)。有图有真相: 代码如下: main.c 阅读全文
posted @ 2019-06-14 22:17 极客先锋 阅读 (124) 评论 (0) 编辑
摘要:N76e003单片机内部没有EEPROM,但是可以使用 APROM模拟EEPROM功能,代码如下: eeprom.h eeprom.c 阅读全文
posted @ 2019-04-16 00:13 极客先锋 阅读 (189) 评论 (0) 编辑
摘要:最近又看了一下关于stc单片机的知识,感觉在使用中EEPROM是个经常用到的东西,特地学习了一下,给大家分享一下心得,如有不足,多多包涵,废话不多说,一图解千言,先上图: /* 分界线 */ main_eepprom.c Eeprom.h Eeprom.c 本代码支持只stc89/90系列自带EEP 阅读全文
posted @ 2019-04-08 17:54 极客先锋 阅读 (166) 评论 (0) 编辑
摘要:KEIL编译错误信息表 错误代码及错误信息 错误释义 error 1: Out of memory 内存溢出 error 2: Identifier expected 缺标识符 error 3: Unknown identifier 未定义的标识符 error 4: Duplicate identi 阅读全文
posted @ 2019-02-10 23:41 极客先锋 阅读 (70) 评论 (0) 编辑
摘要:一般编译器的堆栈用于保存局部变量、函数的参数、函数的返回值、中断上下文信息等。但Keil对局部变量、函数参数预先分配空间(放在静态全局变量区),Keil的堆栈只是用于保存函数嵌套调用的PC、中断上下文信息。 从主程序进入中断需要入栈字节数:13+PC=15 Byte(ACC,PSW,B,DPH,DP 阅读全文
posted @ 2019-01-27 20:58 极客先锋 阅读 (75) 评论 (0) 编辑
摘要:51单片机的仿真栈(又叫模拟栈、或者可重入栈)。 首先来看,51的系统栈(又叫系统栈,或者硬件栈),就是SP所指向的栈,他是一个满增栈(注释1),位于片内RAM的128 bytes之中,上电之后系统堆栈指针SP的初值等于多少呢?这个要从51的启动文件来分析,启动文件中有这样的汇编代码: ?STACK 阅读全文
posted @ 2019-01-27 20:56 极客先锋 阅读 (45) 评论 (0) 编辑
摘要:RSEG是段选择指令,要想明白它的意思就要了解段的意思。段是程序代码或数据对象的存储单位。程序代码放到代码段,数据对象放到数据段。段分两种,一是绝对段,一是再定位段。绝对段在汇编语言中指定,在用L51联接的时候,地址不会改变。用于如访问一个固定存储器的i/o,或提供中断向量的入口地址。而再定位段的地 阅读全文
posted @ 2019-01-27 01:32 极客先锋 阅读 (231) 评论 (0) 编辑
摘要:21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址 阅读全文
posted @ 2019-01-26 16:13 极客先锋 阅读 (82) 评论 (0) 编辑
摘要:STARTUP.A51原始文件: 翻译后的STARTUP.A51: 阅读全文
posted @ 2019-01-26 16:03 极客先锋 阅读 (167) 评论 (0) 编辑
摘要:找到对应的网卡型号:Intel Corporation Ethernet Connection (2) I219-V [8086:15b8]找到对应的驱动包:e1000e-3.4.2.1.tar.gz找到对应的驱动包里面的ReadMe,按照步骤执行就可以了. 脚本如下: 阅读全文
posted @ 2019-01-09 04:23 极客先锋 阅读 (620) 评论 (0) 编辑
摘要:gtkterm是一个用GTK+写的串口终端。 安装:sudo apt install gtkterm 配置文件的位置为:~/.gtktermrc 其实只改了第二行,还有第三行。 连接上开发板,上电后,在终端敲命令dmesg 来查看安装驱动的信息。也可以使用命令:ls /dev/ttyUSB* 来查看 阅读全文
posted @ 2019-01-04 23:23 极客先锋 阅读 (1292) 评论 (0) 编辑
摘要:代码: 阅读全文
posted @ 2018-12-28 17:59 极客先锋 阅读 (2535) 评论 (1) 编辑
摘要:1.所需参数 key:8个字节共64位的工作密钥 data:8个字节共64位的需要被加密或被解密的数据 mode:DES工作方式,加密或者解密 2.初始置换 DES算法使用64位的密钥key将64位的明文输入块变为64位的密文输出块,并把输出块分为L0、R0两部分,每部分均为32位。初始置换规则如下 阅读全文
posted @ 2018-12-28 15:48 极客先锋 阅读 (1257) 评论 (0) 编辑
摘要:1、首先看看它名字真正的含义: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS:意为IC之间总线) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) USART:通用 阅读全文
posted @ 2018-11-03 21:12 极客先锋 阅读 (408) 评论 (0) 编辑
摘要:本文是续 单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例(一)编写的。 在实际的工作中,单片机的头文件和功能函数不可能同全部放在同一个文件夹下面,我们把单片机成长之路(51基础篇) - 009 关于sdcc的多文件编译范例的代码进行重新拆分,然后把头文件归类到一个文件夹(in 阅读全文
posted @ 2018-09-06 00:14 极客先锋 阅读 (397) 评论 (0) 编辑
摘要:一.定时器的结构 定时器功能由TO和T1,以及他们的工作方式寄存器TMOD和控制寄存器TCON等组成。内部通过总线与CPU相连。定时器T0和T1各由2个8位特殊功能寄存器TH0,TL0与TH1,TL1构成。工作方式寄存器TMOD用于设置定时器的工作模式和工作方式。控制寄存器TCON用于启动和停止定时 阅读全文
posted @ 2018-08-23 05:42 极客先锋 阅读 (399) 评论 (0) 编辑
摘要:T2CON:定时器控制寄存器 寄存器地址0C8H,位寻址0C8H~0CFH。 位地址 CF CE CD CC CB CA C9 C8 位符号 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 TF2:T2溢出标记 当T2溢出时TF2=1,TD2只能用软件清除 当RCL 阅读全文
posted @ 2018-08-23 04:41 极客先锋 阅读 (372) 评论 (0) 编辑
摘要:TMOD:工作方式控制寄存器 寄存器地址89H,不可位寻址。 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 GATE C/T M1 M0 GATE C/T M1 M0 GATE——门控位 当=0时,以TR0(或TR1)状态决定定时器/计数器的启动或禁止 当=1时,以TR0与INT0( 阅读全文
posted @ 2018-08-23 04:34 极客先锋 阅读 (104) 评论 (0) 编辑
摘要:转载:http://www.smilechina.net/archives/425.html 一. 有关中断的概念 1. 仔细研什么叫中断? 举例:同学正在教室写作业,忽然被人叫出去,回来后,继续写作业这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。 二. 引入计算机中断的概念。 阅读全文
posted @ 2018-08-23 01:53 极客先锋 阅读 (144) 评论 (0) 编辑
摘要:本文是续 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境编写的。 本范例主要由(main.c ,delay.h,delay.c,makefile)4个文件组成,sdcc的编译环境搭建参照:单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开 阅读全文
posted @ 2018-08-21 22:48 极客先锋 阅读 (541) 评论 (0) 编辑
摘要:今天搞树莓派,遇到/sys这个目录,不太清楚,先对/sys目录知识进行一个整理 首先,对 /sys目录下的各个子目录进行具体说明: /sys下的子目录 内容 /sys/devices 该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的 阅读全文
posted @ 2018-06-21 16:23 极客先锋 阅读 (126) 评论 (0) 编辑
摘要:标准 C 语言定义了 32 个关键字,如下表(ANSI C的32个关键字): C51在此基础上针对单片机功能进行了扩展,详情见下表(C51编译器扩充关键字): C 51的数据类型 51单片机使用的C语言的存储器类型分为以下几种: 阅读全文
posted @ 2018-06-13 00:14 极客先锋 阅读 (95) 评论 (0) 编辑
摘要:1.Python脚本,名称为py_add.py 2.C代码 3,编译 备注:链接Python的库需在最后,否则可能会出现以下的错误提示: 4,运行结果 阅读全文
posted @ 2018-06-12 15:49 极客先锋 阅读 (1532) 评论 (0) 编辑
摘要:比较全的CH340,CH341应用说明 CH340 以前用USB转串口时图方便一般也都是直接买现成的USB转串口模块,但是后面设计需要,不等不将CH340这个模块集成到电路板中,经过多次失败,终于得到稳定的工作电路了,以下是CH340的说明。 特点 1、全速USB设备接口,兼容USB V2.0,外围 阅读全文
posted @ 2018-05-20 13:41 极客先锋 阅读 (2234) 评论 (0) 编辑
摘要:在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了。 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDCC是否可用,这是个网上找的简单的流水灯代码 test.c, 用来测试 编译它: 会生成这么多的文件( 阅读全文
posted @ 2018-05-18 17:01 极客先锋 阅读 (2475) 评论 (0) 编辑
摘要:dos命令大全 黑客必知的DOS命令集合 一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图: 严格的说,windows 中的命令窗口并不是真正意义上的dos操 阅读全文
posted @ 2018-05-18 10:21 极客先锋 阅读 (173) 评论 (0) 编辑
摘要:用户应用程序在运行过程中,有时会有特殊需求,需要实现单片机系统复位(热启动之一),传统的8051单片机由于硬件上未支持此功能,用户必须用软件模拟实现,实现起来较麻烦。STC单片机增加了相应的硬件功能,内部的ISP/IAP控制寄存器ISP_CONTR便可以实现此功能。用户只需简单的控制ISP_CONT 阅读全文
posted @ 2018-05-17 16:51 极客先锋 阅读 (116) 评论 (0) 编辑
摘要:BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器。对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都是不可读的,这就在运行旧程序和写入新程序之间造成了一个矛盾。 使用BOOT区是解决 阅读全文
posted @ 2018-05-17 00:26 极客先锋 阅读 (532) 评论 (0) 编辑
摘要:STC单片机简介 STC单片机是一款增强型51单片机,完全兼容MCS-51,还增加了新的功能,比如新增两级中断优先级,多一个外中断,内置EEPROM,硬件看门狗,具有掉电模式,512B内存等。还支持ISP下载,不用编程器,只要一个MAX232和一些廉价的元件就能写程序,可擦写10万次。因此是一款很好 阅读全文
posted @ 2018-05-16 17:19 极客先锋 阅读 (793) 评论 (0) 编辑
摘要:ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程, 阅读全文
posted @ 2018-05-16 16:46 极客先锋 阅读 (150) 评论 (0) 编辑
摘要:单片机目录: 单片机成长之路(avr基础篇)- 001 ISP与IAP的区别 单片机成长之路(51基础篇)- 002 STC单片机冷启动和复位有什么区别 单片机成长之路(avr基础篇)- 003 AVR单片机的BOOT区 单片机成长之路(51基础篇) - 004 STC89C52MCU 软件实现系统 阅读全文
posted @ 2018-05-16 16:43 极客先锋 阅读 (75) 评论 (0) 编辑
摘要:硬件要求: 树莓派开发板 USB外接硬盘 一. Together 1. 更新安装程序 2. 安装Deuge: 3. 配置后台启动 4. 登陆:(地址:http://树莓派ip地址:8112,默认密码deluge) 二. 安装transmission 1. 安装transmission 2. 停止tr 阅读全文
posted @ 2018-05-08 15:03 极客先锋 阅读 (248) 评论 (0) 编辑
摘要:helloos.nas 源码: 阅读全文
posted @ 2018-04-10 02:30 极客先锋 阅读 (714) 评论 (0) 编辑
摘要:一台服务器上都快开启200个redis实例了,看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。 那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下。 redis下,数据库是 阅读全文
posted @ 2018-03-28 20:00 极客先锋 阅读 (683) 评论 (0) 编辑
摘要:Docker 安装 MySQL 查找Docker Hub上的mysql镜像 这里我们拉取官方的镜像: 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mysql,标签为latest(最新)的镜像。 使用mysql镜像 运行容器 命令说明: -p 3306:3306:将容器的330 阅读全文
posted @ 2018-03-21 17:15 极客先锋 阅读 (704) 评论 (0) 编辑
摘要:Docker 容器连接 前面我们实现了通过网络端口来访问运行在docker容器内的服务。下面我们来实现通过端口连接到一个docker容器 网络端口映射 我们创建了一个 python 应用的容器。 另外,我们可以指定容器绑定的网络地址,比如绑定 127.0.0.1。 我们使用 -P 参数创建一个容器, 阅读全文
posted @ 2018-03-19 23:52 极客先锋 阅读 (109) 评论 (0) 编辑
摘要:Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。 例如我们要查看 docker stats 指令的具体使 阅读全文
posted @ 2018-03-18 00:40 极客先锋 阅读 (86) 评论 (0) 编辑
摘要:Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 输出Hello world 各个参数解析: docker: Docker 的二进制执行文件。 run:与前面的 docker 组合来运行一个容器。 ubun 阅读全文
posted @ 2018-03-16 15:44 极客先锋 阅读 (59) 评论 (0) 编辑