• 本系统采用常见的51单片机作为主控芯片,程序开始对单片机初始化,再对12864液晶初始化和始终芯片ds1302初始化后主控芯片就一直检测卡片传过来的信息并对其解码还原成卡号。并通过按键检测来识别身份和与内部存储的卡号对比来控制继电器的开关模拟门禁系统。通过程序来读取DS1302内部寄存器的数值来显示时间。 本程序是外部电路接收到开卡发回来的曼码与单片机接口相连,单片机检测输入的高低电平的跳变来还原成卡号。具体10跳变解码成1,01跳变解码成0.
  • 本系统采用常见的51单片机作为主控芯片,程序开始对单片机初始化,再对12864液晶初始化和始终芯片ds1302初始化后主控芯片就一直检测卡片传过来的信息并对其解码还原成卡号。并通过按键检测来识别身份和与内部存储的卡号对比来控制继电器的开关模拟门禁系统。通过程序来读取DS1302内部寄存器的数值来显示时间。 本程序是外部电路接收到开卡发回来的曼码与单片机接口相连,单片机检测输入的高低电平的跳变来还原成卡号。具体10跳变解码成1,01跳变解码成0. >>
  • 来源:www.9mcu.com/9mcubbs/forum.php?mod=viewthread&tid=1043948
  • 接下来的几节,我们会带着大家编写第一个单片机程序。在此之前,我们先来了解一些 51 单片机特有的程序语法以及 Keil 软件的基本操作步骤,请大家一定要有耐心。 我们主要是用 C 语言来对单片机编程,而有的单片机有那么几条很特殊的独有的编程语句,51 单片机就有,先介绍 2 条。 第一条语句是:sfr P0 = 0x80; sfr 这个关键字,是 51 单片机特有的,他的作用是定义一个单片机特殊功能寄存器(special function register)。51 单片机内部有很多个小模块,每个模块居住在
  • 接下来的几节,我们会带着大家编写第一个单片机程序。在此之前,我们先来了解一些 51 单片机特有的程序语法以及 Keil 软件的基本操作步骤,请大家一定要有耐心。 我们主要是用 C 语言来对单片机编程,而有的单片机有那么几条很特殊的独有的编程语句,51 单片机就有,先介绍 2 条。 第一条语句是:sfr P0 = 0x80; sfr 这个关键字,是 51 单片机特有的,他的作用是定义一个单片机特殊功能寄存器(special function register)。51 单片机内部有很多个小模块,每个模块居住在 >>
  • 来源:c.biancheng.net/cpp/html/1858.html
  • 图2 S3C2440结构框图 先介绍一下AMBA。AMBA(Advanced Micro-Controller Bus Architecture)是由ARM Limited公司推出的On-Chip Bus片上总线规范,是目前芯片总线的主流标准。一开始AMBA 1.0只有ASB和APB,为了节省面积,这时候的总线协定都是采用3态的总线,到后来的AMBA 2.0版本,新增了AHB总线,共定义了3组总线:高性能总线(AdvancedHigh Performance Bus,AHB)、系统总线(Advanced
  • 图2 S3C2440结构框图 先介绍一下AMBA。AMBA(Advanced Micro-Controller Bus Architecture)是由ARM Limited公司推出的On-Chip Bus片上总线规范,是目前芯片总线的主流标准。一开始AMBA 1.0只有ASB和APB,为了节省面积,这时候的总线协定都是采用3态的总线,到后来的AMBA 2.0版本,新增了AHB总线,共定义了3组总线:高性能总线(AdvancedHigh Performance Bus,AHB)、系统总线(Advanced >>
  • 来源:www.68idc.cn/help/makewebs/asks/20140608104994.html
  • 一、CPU结构与特点 1.8086/8088 CPU结构框图 ??8086/8088由两个独立的处理部件组成: EU(Execution Unit),BIU(Bus ?? Interface Unit)。 ??EU为执行部件,负责全部指令的执行,向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理等。 ??BIU为总线接口部件,负责执行所有的"外部总线"周期,为EU取指令或访问数据,提供系统总线控制信号。 ?
  • 一、CPU结构与特点 1.8086/8088 CPU结构框图 ??8086/8088由两个独立的处理部件组成: EU(Execution Unit),BIU(Bus ?? Interface Unit)。 ??EU为执行部件,负责全部指令的执行,向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理等。 ??BIU为总线接口部件,负责执行所有的"外部总线"周期,为EU取指令或访问数据,提供系统总线控制信号。 ? >>
  • 来源:wjyl.nuaa.edu.cn/kejian/ketang/2/212.htm
  • 所以,发送和接收寄存器可使用同一地址,编写验证程序(发送和接收是独立空间):读取一个数(1)->发送一个数(2)->再读取得1则是独立空间 不知道STM32串口寄存器和C51串口寄存器是否同样道理 STM32串口寄存器:STM32的发送与接收是通过数据寄存器USART_DR来实现的,这是一个双寄存器,包含了TDR和RDR,对它读操作,读取的是RDR寄存器的值,对它的写操作,实际上是写到TDR寄存器的;当向该寄存器写数据的时候,串口就会自动发送,当收到收据的时候,也是存在该寄存器内。
  • 所以,发送和接收寄存器可使用同一地址,编写验证程序(发送和接收是独立空间):读取一个数(1)->发送一个数(2)->再读取得1则是独立空间 不知道STM32串口寄存器和C51串口寄存器是否同样道理 STM32串口寄存器:STM32的发送与接收是通过数据寄存器USART_DR来实现的,这是一个双寄存器,包含了TDR和RDR,对它读操作,读取的是RDR寄存器的值,对它的写操作,实际上是写到TDR寄存器的;当向该寄存器写数据的时候,串口就会自动发送,当收到收据的时候,也是存在该寄存器内。 >>
  • 来源:www.cnblogs.com/cj2014/p/3969951.html
  • N = 1表示结果为负数,N= 0表示结果为正数 z = 1表示结果为0,z = 0表示结果不为0 c表示有进位借位情况发生 v表示有溢出 I表示中断IRQ,F表示中断FIQ,T表示运行的状态,当T= 1表示运行在THUMB上,当T = 0 表示运行在ARM状态 后面的四位表示其中模式的选择
  • N = 1表示结果为负数,N= 0表示结果为正数 z = 1表示结果为0,z = 0表示结果不为0 c表示有进位借位情况发生 v表示有溢出 I表示中断IRQ,F表示中断FIQ,T表示运行的状态,当T= 1表示运行在THUMB上,当T = 0 表示运行在ARM状态 后面的四位表示其中模式的选择 >>
  • 来源:www.lxway.com/611982251.htm
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。 >>
  • 来源:www.lxway.com/4011240006.htm
  • 我们知道,SQL长得很像英语,简单的SQL语句直接可以作为英语读。除了SQL外,其它主要程序设计语言都没有这样,语法中就算有英语单词也仅仅是作为某些概念或操作的助记符而已,写出来的是形式化的程序语句(statement)而不是英语句子(sentence)。而SQL不同,它会把整个句子写成符合英语习惯的形式,还会补充很多不必要的介词,比如FROM作为语句的运算主体却被写到后面,GROUP后面要写一个多余的BY。 为什么会这样?
  • 我们知道,SQL长得很像英语,简单的SQL语句直接可以作为英语读。除了SQL外,其它主要程序设计语言都没有这样,语法中就算有英语单词也仅仅是作为某些概念或操作的助记符而已,写出来的是形式化的程序语句(statement)而不是英语句子(sentence)。而SQL不同,它会把整个句子写成符合英语习惯的形式,还会补充很多不必要的介词,比如FROM作为语句的运算主体却被写到后面,GROUP后面要写一个多余的BY。 为什么会这样? >>
  • 来源:www.51cto.com/art/201707/545990.htm
  • 1.I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL.   2.I2C总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SD .
  • 1.I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. 2.I2C总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SD . >>
  • 来源:www.lxway.com/4010804094.htm
  • 从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下:
  • 从上图可以看出,真正需要执行写操作的有两处,Step4 和 Step6 ,Step4首先写入寄存器的偏移地址,而Step6则是写入到该寄存器的值。由此已经很清楚了,对于写I2C寄存器,我们需要做的就是给 i2c_master_send 函数传入两个字节的数据即可,第一个字节为寄存器的地址,第二个字节为要写入寄存器的数据。示例如下: >>
  • 来源:www.68idc.cn/help/makewebs/asks/20140604102813.html
  • 处理器模式 用户模式(user)简称usr 快速中断模式(FIQ)简称fiq 外部中断模式(IRQ)简称irq 特权模式(supervisor)简称sve 数据访问终止模式(abort)简称abt 未定义指令后终止模式(undefined)简称und 除了用户模式以外,其他的模式成为特权模式,这些模式下,程序可以访问所有系统资源,也可以任意进行处理机模式 处理其模式可以通过软件进行控制,可以同国外部中断或者是异常处理进行切换,大多数的用户程序运行在用户模式下,这时候应用程序不能访问一些受系统保护的系统资源
  • 处理器模式 用户模式(user)简称usr 快速中断模式(FIQ)简称fiq 外部中断模式(IRQ)简称irq 特权模式(supervisor)简称sve 数据访问终止模式(abort)简称abt 未定义指令后终止模式(undefined)简称und 除了用户模式以外,其他的模式成为特权模式,这些模式下,程序可以访问所有系统资源,也可以任意进行处理机模式 处理其模式可以通过软件进行控制,可以同国外部中断或者是异常处理进行切换,大多数的用户程序运行在用户模式下,这时候应用程序不能访问一些受系统保护的系统资源 >>
  • 来源:www.cnblogs.com/fengdashen/p/3724709.html
  • 1.往SD卡传数据量大,会占用很大的CPU资源,为了防止他一直占用CPU资源,我们用DMA来处理数据,这个速度也很快; 2.对于SD_PowerON()当中CMD*是对应寄存器中的命令, CMD0: 没有返回响应 我们的板子上往往只接了一个卡,但SDIO总线可以并联许多个卡 3.SDIO支持的端口电压是2.
  • 1.往SD卡传数据量大,会占用很大的CPU资源,为了防止他一直占用CPU资源,我们用DMA来处理数据,这个速度也很快; 2.对于SD_PowerON()当中CMD*是对应寄存器中的命令, CMD0: 没有返回响应 我们的板子上往往只接了一个卡,但SDIO总线可以并联许多个卡 3.SDIO支持的端口电压是2. >>
  • 来源:www.lxway.com/482496086.htm
  • 1、时序图 2、控制字 3、寄存器地址与RAM地址 4、代码 时序图  控制字  寄存器与RAM  代码: #include <reg52.h> #include <intrins.h> sbit dm = P2^2; //段码 sbit wm = P2^3; //位码 sbit st = P1^6; //使能(RST) sbit cl = P1^4; //时钟管脚(CLK) sbit da = P1^5; //i/o管脚(数据管脚)(i/o) /*这两个函数就这时钟芯片的精髓*/
  • 1、时序图 2、控制字 3、寄存器地址与RAM地址 4、代码 时序图 控制字 寄存器与RAM 代码: #include <reg52.h> #include <intrins.h> sbit dm = P2^2; //段码 sbit wm = P2^3; //位码 sbit st = P1^6; //使能(RST) sbit cl = P1^4; //时钟管脚(CLK) sbit da = P1^5; //i/o管脚(数据管脚)(i/o) /*这两个函数就这时钟芯片的精髓*/ >>
  • 来源:www.51hei.com/bbs/dpj-30428-1.html
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。
  • 了解一款芯片,最基本的就是要了解它的寄存器。大家不要因为80386是32位处理器,就认为它的寄存器都是32位的。其实它的寄存器相当的复杂。不仅有32位的,还有16位的,48位的,乃至64位的。80386共有34个寄存器,可分为七类。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调试和测试寄存器。以下是部分常用的寄存器: 一、通用寄存器(8个) 80386有8个32位的通用寄存器,这8个通用寄存器都是由8088/8086/80286的相应16位通用寄存器扩展成32位而得。 >>
  • 来源:www.61ic.com/Technology/embed/201304/48051.html
  • 将指定的[写入触发位地址]置ON,保存在人机界面中的采样数据会被写入内部寄存器。 如果取消勾选[模式]选项卡-扩展设置中的[在完成指定周期后覆盖原有数据]复选框,可以写入每个块。 写入采样数据  如果在[写入数据]选项卡中勾选[包括周期数],则会在起始地址中以二进制形式保存执行的采样周期数(保存的采样数据数)。 例如,如果周期数是5,当前采样轮次是2,那么[存储数据数]就是2。此时,对于样本3及以后的采样数据,将在保存区中保存0。 如果未勾选[包括周期数],则从起始地址起保存第1个采样数据。
  • 将指定的[写入触发位地址]置ON,保存在人机界面中的采样数据会被写入内部寄存器。 如果取消勾选[模式]选项卡-扩展设置中的[在完成指定周期后覆盖原有数据]复选框,可以写入每个块。 写入采样数据 如果在[写入数据]选项卡中勾选[包括周期数],则会在起始地址中以二进制形式保存执行的采样周期数(保存的采样数据数)。 例如,如果周期数是5,当前采样轮次是2,那么[存储数据数]就是2。此时,对于样本3及以后的采样数据,将在保存区中保存0。 如果未勾选[包括周期数],则从起始地址起保存第1个采样数据。 >>
  • 来源:www.proface.com.cn/otasuke/files/manual/gpproex/new/refer/mergedProjects/sampling/sampling_mm_internaldeviceoperations.htm
  • C串行总线标准,这里不再赘述。而S5920外加总线信号分为输入(in)、输出(out)和双向三态(t/s)三种。下面对S5920的外加总线引脚作一分类描述: 3.1 信箱通道引脚   MDMODE:(in),信箱通道数据模式选择端。高电平时,MD[70]信号恒为输入;低电平时,由LOAD#信号控制MD[70]为输入或输出。 LOAD#:(in),高电平时,MD[70]为输入,下一个时钟ADCLK的上升沿将数据锁入到外加总线输出信箱寄存器的第三字节;当低电平且MDMODE为0时,MD[70]上显示PC
  • C串行总线标准,这里不再赘述。而S5920外加总线信号分为输入(in)、输出(out)和双向三态(t/s)三种。下面对S5920的外加总线引脚作一分类描述: 3.1 信箱通道引脚   MDMODE:(in),信箱通道数据模式选择端。高电平时,MD[70]信号恒为输入;低电平时,由LOAD#信号控制MD[70]为输入或输出。 LOAD#:(in),高电平时,MD[70]为输入,下一个时钟ADCLK的上升沿将数据锁入到外加总线输出信箱寄存器的第三字节;当低电平且MDMODE为0时,MD[70]上显示PC >>
  • 来源:lunwen.freekaoyan.com/ligonglunwen/dianzi/20080216/120313686576916.shtml
  • 看门狗定时器WDT是一片内自振荡式RC振荡器,即使外部振荡器被关闭(即工作在休眠模式),WDT也一直在计数。当WDT被使能,无论是在工作模式或休眠模式,若WDT超时,都将导致单片机复位,因此WDT主要用来防止单片机系统失控,一般WDT基本溢出周期约18ms(PAB=0),最大溢出周期约2.
  • 看门狗定时器WDT是一片内自振荡式RC振荡器,即使外部振荡器被关闭(即工作在休眠模式),WDT也一直在计数。当WDT被使能,无论是在工作模式或休眠模式,若WDT超时,都将导致单片机复位,因此WDT主要用来防止单片机系统失控,一般WDT基本溢出周期约18ms(PAB=0),最大溢出周期约2. >>
  • 来源:www.zsgbailin.com/emjg2.htm