在C51中,C编译器并不利用双DPTR来优化用户所写的程序,只有一些库例程使用了双数据指针.当在两个存储器块之间进行数据复制或比较时,以下库例程会使用双数据指针: memmovememcpymemcmpstrcpystrcmp 在上述库例程中,使用双数据指针可以使性能有一定的提高. Keil就memcpy库例程在DS80C320和普通单数据指针的80C51CPU进行性能比较,其结果如下: 库例程    操作的字节总数   性能memcpy     1                     2.…
80C51单片机指令的取指.执行时序 现按4类指令介绍CPU时序.因为CPU工作的过程就是取指令与执行指令的过程,所以CPU必须先取出指令,然后才能执行指令. 1.双字节单周期指令 由于双字节单周期指令必须在一个周期内取机器码二次,所以必须在一个机器周期内安排二次读操作码的操作,分别发生在S1P2与S4P2.在S1P2读入机器码74并送入指令寄存器IR,在S4P2读入数据03送入累加器A,即读2取2.在指令的执行过程中,P0口要分时传送地址与数据,因此当操作码的地址从P0口输出后,必须发地址锁存…
一种单片机支持WiFi的应用——SimpleWiFi在单片机中的应用 先上图: 现在的智能控制都是基于微控制器,随着智能的手持终端的普及,基于智能终端的控制就会越来越普遍. WIFI便是其中的一种.WiFi用于智能家居控制,有着其得天独厚的优势.其优势如下: 优势一:WiFi终端设备现在基本上已经普及,WiFi已经智能手持终端的标配.大到笔记本.Pad,小到手机,WiFi已经是无所不在. 优势二:WiFi作为无线局域网的技术标准,能够通过无线路由器与现有的互联网进行互联互通.没有任何的技术以及协…
80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点. 增加了如乘(MUL).除(DIV).减(SUBB).比较(CMP).16位数据指针.布尔代数运算等指令,以及串行通信能力和5个中断源. 采用40引脚双列直插式DIP(Dual In Line Package),内有128Byte的RAM单元及4K的ROM. 80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口. 80C51内部有时钟电…
更新日志: 更新日志: 汉化了要使用的功能 修改语言选择方式,修改为下拉方式 TDB(TrueDualBoot) 功能完美实现 **adb**功能,完美实现,无需特别操作(比CWM强大) 修改双系统切换功能,修复测试版本的问题 备份产生的目录会根据当前系统的编号来命名,目的是备份/data/system[|],在开启真相双系统的情况下 精简了部分代码 去除一些文件在编译时候出现的警告,去除隐藏的bug 下载地址: 链接: http://pan.baidu.com/s/1hq5lGvM 密码: b…
以前以为串行通信只能是单片机和PC机之间进行通信,昨天无意之中看到一个程序,是单片机和单片机之间进行通信..这小东西真是神奇啊!昨天弄了很长时间没弄出来,今天在大神的帮助下终于拨开云雾见天日了. 案例介绍: 利用单片机a将一段流水灯控制程序发送到单片机b,来控制单片机b的P1口,点亮8位LED灯. 案例分析: a完成发送,b完成接收.编写程序设置a,令SM0=0,SM1=1(串行口工作方式1).设置b,令SM0=0,SM1=1,REN=1,使接收允许. 源程序 1)数据发送程序 #include…
这里,首先想说的是,现在的web应用,处理的数据对象,有结构化的,也有非结构化的.同时存在.但是在spring-boot操作数据库的时候,若是在properties文件中配置数据源的信息,通过默认配置加载数据源的话,往往只会启动一个. 我出于想弄清如何配置数据源的目的,在这里demo一个配置两个数据源的例子.分别是mysql和mongo.mysql的持久化采用的是mybatis. mongo的操作比较简单,直接贴上配置数据库的代码: package com.shihuc.dbconn.sourc…
目前主流编译器对C++11特性的支持情况 1. GCC编译器(从编译器GCC4.8.X的版本完全支持) (1)目前C++11特性,之前成为C++0X特性,从GCC4.3的后续版本中逐步对C++11进行支持. (2)从官方信息可以看到,目前从完全对C++11特性进行支持的是从编译器GCC4.8.X的版本.…
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.4.0)发布过去半年了,这一次痞子衡为大家带来了版本升级 v3.5.0,这个版本主要有几个非常重要的更新需要跟大家特别说明一下. 一.v3.5更新记录 二.几个不可忽视的更新 2.1 支持串行NOR双程序启动下载 部分 i.MXRT 型号 BootROM 支持串行 NOR Flash 的双程序启动,这意味着在这些型号上用户可以不用额外设计二级 bootloader 也可以完成本地 OTA 升级. 之前痞子衡把所…
外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC.   0. IO接口电路概念与存储器拓展 1. 为什么需要IO电路?:1. 协调计算机与外设的速度的差异 2. 输入/输出过程中的状态信号 3. 解决计算机信号与外设信号之间不一致 2. IO传送方式三种:1. 无条件传送(灯,DAC),2. 查询,3. 中断(ADC).   3. DMA存储方式(直接传输数据不通过CPU,这种方式实际上已经很古老了…