03 2012 档案
摘要:PWM是什么 PWM,即脉冲宽度调制,是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 PWM原理 随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期...
阅读全文
摘要:1、采用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。常用的串行扩展总线有: I2C (Inter IC BUS)总线、单总线(1-WIRE BUS)、SPI(Serial Peripheral Interface)总线及Microwire/PLUS等。2、I2C串行总线概述:I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。3、I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总
阅读全文
摘要:这个都是看DataSheet的,里面很清楚。。。。。。。。。。View Code 1 #include<reg52.h> 2 sbit l1=P2^5;//读写选择 3 sbit lcden=P2^6;//使能信号 4 sbit lcdrs=P2^4;//数据、命令选择 5 void delay(int i) 6 { 7 int a,b; 8 for (a=0;a<i;a++) 9 for(b=0;b<80;b++); 10 }11 void writezl(char zl) //写指令(看时序图)12 {13 lcdrs=0;//允许写...
阅读全文
摘要:1、异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。2、同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均
阅读全文
摘要:1、D,digital;A,anolog。数字:0和1。2、T型电阻网络D/A转换器:D/A工作原理:通过内部电阻分流,产生变化的模拟量。3、D/A转换的主要性能指标:①分辨率分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(电压或电流)的变化量。它反映了输出模拟量的最小变化值。分辨率与输入数字量的位数有确定的关系,可以表示成FS / 。FS表示满量程输入值,n为二进制位数。对于5V的满量程,采用8位的DAC时,分辨率为5V/256=19.5mV;当采用12位的DAC时,分辨率则为5V/4096=1.22mV。显然,位数越多分辨率就越高。②线性度线性度(也称非线性误差)
阅读全文
摘要:1、键盘的分类键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘;在单片机组成的各种系统中,用的最多的是非编码键盘。也有用到编码键盘的。2、非编码键盘又分为:独立键盘和行列式(又称为矩阵式)键盘。独立键盘:矩阵式键盘:3、抖动现象:4、线与关系:线连在一块。线或关系:线跟有三态的接口连在一块。View Code 1 #include<reg52.h> 2 unsigned char code shu[]={0x3f,0x06,0x5b,0x4f,0x66, 3 0x6d,0x7d
阅读全文
摘要:1、动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。View Code 1 #include<reg52.h> 2 #define uint unsigned int 3 #define uchar unsigned char 4 uchar
阅读全文
摘要:1、电容帮助晶振起振。2、发光二极管LED(Light Emitting Diode),液晶LCD(Liquid Crystal Display)。3、数码管原理:4、中断系统:中断发生——中断响应和中断服务——中断返回。(中断嵌套)5、优点:1.分时操作;2.实时响应;3.可靠性高。6、80C51单片机的中断优先级有三条原则:CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断。为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示
阅读全文
摘要:前言小甲鱼老师说前言是用来吹的,好奇怪啊。当想做一件事情的时候就立马去做,而且要尽快,还要尽快完成,拖久了心劲就少了,中断了就很难再继续往下了。行动是吹牛的老妈,为了证实想法和看法是正确的,进行了一番实践。从上上周六到现在,整整十天,十天的浴血奋战,汇编教程终于看完了,除了吃饭,睡觉,上课,上自习,其余时间就是看汇编了,从早上六点起开始,到晚上11点,直到现在脑子了除了汇编就是小甲鱼(汇编教程里面幽默诙谐的小甲鱼老师)了。。。。。于是就决定写这本书纪念一下下。没有目录的目录1、2、3、4、5、6、附录详情内容:时光飞逝,转眼间,大学两年就要过去了(好久不用了,感觉好亲切的词汇)。突然发现之前好
阅读全文
摘要:1、int 9中断例程对键盘输入的处理:键盘缓冲区中有16个字单元,可以存储15个按键的扫描码和对应的ASCII码。int 16中断例程读取键盘缓冲区:读取键盘输入的功能编号为0。他们相互配合,实现对键盘的输入和读取。2、字符串的输入:字符的输入和输出是按照栈的访问规则进行的,即后进先出。这样我们就可以用栈的方式来管理字符串的存储空间,也就是说,字符串的存储空间实际上是一个字符栈,字符栈中的所有字符,从栈底到栈顶,组成一个字符串。View Code 1 ;最基本的字符串输入程序,需要具备下面的功能: 2 ;(1) 在输入的同时需要显示这个字符串; 3 ;(2)一般在输入回车符后,字符串...
阅读全文
摘要:1、描述了单元长度的标号:后面没有冒号的标号可以同时描述内存地址和单位长度。因为这种标号包含了对单元长度的描述,所以,在指令中,它可以代表一个段中的内存单元。称为数据标号。2、一般来说,我们不会在代码段中定义数据,而是将数据定义到其他段中。注意:1.在后面加有“:”的地址标号,只能在代码段中使用,不能在其他段中使用。2.如果想在代码段中,直接用数据标号访问数据,则需要用伪指令assume将标号所在的段和一个段寄存器联系起来。3、在其他段中使用数据标号:4、seg操作法,功能为取得某一标号的段地址。5、“查表”方法:目的:1.为了算法的清晰和简洁;2.为了加快运算速度;3.为了使程序易于扩充。例
阅读全文
摘要:1、在PC系统的接口卡和主板上,装有各种借口芯片。这些外设接口芯片的内部有若干寄存器,CPU将这些寄存器当做端口来访问。外设的输入不直接送入内存和CPU,而是送入相关的接口芯片的端口中;CPU向外设的输出也不是直接送入外设,而是先送入段口中,再由相关的芯片送到外设。也就是说CPU通过端口和外部设备进行联系。2、可屏蔽中断的引发的中断信息来自于CPU外部,中断类型码是通过数据总线送入CPU的。IF设置为1,才能执行可屏蔽中断。IF设置指令:sti,设置IF=1,cli设置IF=0。3、PC机键盘的处理过程(开机的时候是不能没有键盘,键盘比操作系统还要早加载):扫描码:断码=通码+80h。BIOS
阅读全文
摘要:1、CPU可以直接读写3个地方的数据:CPU内部的寄存器、内存单元、端口。2、端口的读写指令只有两条:in和out,读取和写入。(1)访问端口3、网页访问的是80端口,ftp访问的是21号端口。4、CMOS RAM芯片:①包含一个实时钟和一个有128个存储单元的RAM存储器。②该芯片靠电池供电。因此关机后其内部的实时钟仍可正常工作,RAM中的信息部丢失;③128个字节的RAM中,内部实时钟占用0——0dh单元来保存时间信息,其余大部分单元用于保存系统配置信息,供系统启动时BIOS程序读取。④该芯片内部有两个端口,地址为70h和71h,70h为地址端口,存放要访问的CMOS RAM单元的地址,7
阅读全文
摘要:1、int指令:CPU执行int n,相当于引发一个n号中断的中断过程。因此,一般情况下,系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用。2、int和iret指令配合跟call和ret指令相似。3、注意寄存器值的保存和恢复。4、对int、iret和栈的深入理解:用7ch中断完成loop指令。5、 BIOS和DOS中断例程的安装判断下面说法的正误:1.我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。答:这种说法是错误的。因为该内存单元具有‘只读’属性。2.int 19h中断例程,可以由DOS提供。答:这种说法是错误的。因为in
阅读全文
摘要:1、中断是CPU处理外部突发事件的一个重要技术。引起中断的原因或者说发出中断请求的来源叫做中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断。外部中断是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说利用中断控制器可以屏蔽这些外部设备中断请求。内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算溢出、单步中断等)所引起的中断。内部中断是不可屏蔽的中断。软件中断其实并不是真正的中断,他们只是可被调用执行的一般程序以及DOS的系统调用功能(int 21h)等都是软件
阅读全文
摘要:1、8086CPU的标志寄存器(flag)有16位,其中存储的信息通常被称为程序状态字(PSW,program state word)。标志寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息(用0或者1表示有还是没有)2、flag中的1、3、5、12、13、14、15在8086中没有使用,不具有任何意义。第六位是ZF,零标志位,它记录相关指令执行后,结果为0,ZF=1,结果不为0,ZF=0。第二位PF,奇偶标志位,记录结果的所有二进制位中1的个数,偶数,PF=1。第七位SF,符号标志位,结果为负,SF=1。第零位CF,进位标志位,一般来说,在进行无符号数运算的时候,它记录
阅读全文
摘要:1、call和ret指令都是转移指令,他们都修改ip或同时修改cs和ip。2、ret指令用栈中的数据,修改ip的内容,从而实现近转移。操作:1.(ip)=((ss*16)+(sp));2.(sp)=(sp)+2。retf指令用栈中的内容同时修改cs和ip3、call指令经常跟ret指令配合使用,因此CPU执行call指令,进行两步操作:1.将当前的ip或cs和ip压入栈中;2.转移(jmp)。Call指令不能实现短转移,跟jmp操作相似。操作:1.push IP;2.jum near ptr 标号。范围-32768~32767,补码表示。(转移位移)4、转移的目的地址在指令中的call指令:段
阅读全文
摘要:1、8086CPU转移指令分类:1.无条件转移指令(如jmp);2.条件转移指令;3.循环指令(如:loop);4.过程;5.中断。2、offse,伪指令,功能是取得标号的偏移地址。3、nop的机器码占一个字节,不产生任何结构,仅消耗几个时钟周期,接着执行后续指令,常用于程序的延时等。4、jmp指令要给出两种信息:1.转移的目的地址;2.转移的距离(段间转移、段内短转移、段内近转移)。5、依据位移进行的jmp指令:①jmp short 标号(转到标号处执行指令),这种格式的jmp指令实现的是段内短转移,它对ip的修改范围为-128~127;②jup near ptr 标号,near ptr指明
阅读全文
摘要:实验九头疼了一天,终于搞定了,其实也不是算法问题,算法倒是挺简单的,主要是显示问题,好纠结。。。。View Code 1 ;测试:向内存从b810:0000开始的单元写入数据如:-e B810:0000 01 01 02 02 03 03 04 04 2 assume cs:code,ds:data,ss:stack 3 4 data segment 5 db 'welcome to masm!' 6 data ends 7 8 stack segment 9 dw 0,0,010 stack ends11 code segment12 13 start: mov...
阅读全文
摘要:1、计算机是进行数据处理、运算的机器,那么有两个最基本的问题:1.处理的数据在什么地方?2.要处理的数据有多长?2、定义描述性符号:reg(register 寄存器)和sreg(segment register 段寄存器)。Reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di。sreg集合包括:ds、ss、cs、es(扩展段)。3、1.在8086CPU只有这4个寄存器(bx、bp、si、di)可以用[ ]来进行内存单元寻址;2.在[ ]中,这四个寄存器(bx、bp、si、di)可以单个出现,或只能以四种组合出现:bx和si、bx和di
阅读全文
摘要:1、and指令:逻辑与指令,按位进行运算,通过and指令可将操作对象的相应位设为0,其他位不变,例:and al 10111111B。or指令:逻辑或指令,按位进行运算,通过or指令可将操作对象的相应位设为1,其他位不变,例:or al 01000000B。2、用字母表示数据,例:‘a’。3、小写转大写and al 11011111b。大写转小写or al 00100000b。4、[bx+idata]形式实现数组:idata[bx]。5、SI和DI寄存器:16位寄存器,但是不能够分为两个8位寄存器来使用。6、16位寄存器进行内存单元之间的数据传送,一次复制两个字节。[bx][si]。7、[bx
阅读全文
摘要:1、在代码段中使用数据:“dw”定义字型数据,即define word。定义字节型数据db,define byte。dw定义数据处于代码段的最开始,所以偏移地址为0。2、CPU根据机器指令的不同组合会构成不同的代码。3、在代码段中使用栈:定义8个字型数据也可以说开辟了8个字型空间。4、将数据、代码、栈放入不同的段:实验五:5、mov ax,aMov cs,axMov ax,bMov ds axMov ax,cMov ss,axMov bx,0Mov cx,8S:add ss:[bx],ds[bx]Add ss:[bx],cs[bx]Add bx,2Loop s6、mov ax,aMov ds,
阅读全文
摘要:1、用debug写命令和编译器写命令是不一样的。2、完整的描述一个内存单元需要两种信息:1.内存单元的地址;2.内存单元的长度(类型)。我们用[0]表示一个内存单元时,0表示单元的偏移地址,段地址默认在ds中,单元的长度(类型)可以由具体指令中的其他操作对象(比如说寄存器)指出,如前边的AX,AL。3、[bx]同样也表示一个内存单元,它的偏移地址在bx。4、描述性符号“()”表示取内容。约定符号idata表示常量。5、loop指令使用:1.在cx中存放循环次数;2.loop指令中的标号所标识地址要在签名;3.要执行的程序段要写在标号和loop指令中间。6、考虑计算会不会溢出。7、把内存单元xx
阅读全文
摘要:1、一个程序从写出到执行的过程:编写(使用文本编辑器)、编译链接(使用汇编语言编译程序(MASM.EXE)对源程序编译,产生目标文件,在用链接程序(link.exe)对目标文件进行链接,生产可执行文件)、执行(操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如:设置CS:IP指向第一条要执行的指令),然后由CPU执行程序。2、可执行文件:1.程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)2.相关的描述信息(比如:程序有多大、要占多少内存空间等)。PE(黑客)3、源程序:汇编指令(有对应的机器码,最终被CPU执行)、伪指
阅读全文
摘要:1、字型数据考虑两个字节,本高字单元+本字单元2、DS和[address]:DS存放要访问数据的段地址。3、mov指令可以完成两种传送功能:1.将数据直接送入寄存器;2.讲一个寄存器中的内容送入到另一个寄存器。除此之外,mov指令还可以将一个内存单元中的内容送入到一个寄存器。例mov al,[0]。执行指令时,8086CPU会自动取DS中的数据为内存单元的段地址。4、如何把1000H送入DS?8086CPU不支持将数据直接送入段寄存器的操作,DS是一个段寄存器(硬件设计问题)。数据——通用寄存器——段寄存器。5、如何将al中的数据送入内存单元10000H?6、[0]何时是一个字,何时是一个字节
阅读全文
摘要:1、8086CPU有14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。AX、BX、CX、DX通用寄存器。2、8086CPU所有的寄存器都是16位的,可以存放两个字节。3、几条汇编指令(汇编指令不区分大小写)4、al溢出不会进到ah里面,它们是两个单独的寄存器。进制位不能在8位寄存器中保存,但是CPU不会丢弃这个值。检测点:老简单了。。5、物理地址:CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间,将这个唯一的地址称为物理地址。6、16位结构描述了一个CPU具有特征:1.运算器一次最多可以处理16位的数据
阅读全文
摘要:1、用机器的思想操作机器2、用汇编去思考,用c去编程寄存器BX的内容送到AX中3、汇编语言组成:1.汇编指令(机器码的助记符)2.伪指令(由编译器执行)3.其他符号(由编译器识别)汇编语言的核心是汇编指令,它决定了汇编语言的特性。4、要想让CPU工作,就必须向他提供指令和数据,指令和数据在存储器中存放,也就是平时说的内存,内存的作用仅次于CPU。5、指令和数据是应用上的概念,在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。6、显存:显卡里面的内存,把数据存储到显存里面,GPU从显存里面读取显示7、CPU对存储器的读写:CPU要想对数据的读写,必须和外部器件(标准的说法是芯片)进行三类信
阅读全文
摘要:1、EA 选择程序从哪里执行 Vcc——内部 低——外部2、ALE 测是否正常工作——输入1/6方波(可用示波器测)3、上拉电阻 I/O输出不到1mA,P0口无上拉电阻4、锁存器 高电平(H)输出5、设断点,调试循环时间(需要把软件的晶振频率调节跟开发板一致)6、单片机工作的基本时序机器周期和指令周期① 振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期② 状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。③ 机器周期:一个机器周期包括机器周期:一个机器周期包括6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。④ 指
阅读全文
摘要:1、数字电路有两种电平:高和低单片机中高(+5V)低(0V)2、RS232电平:计算机的串口:高(+12V)低(-12V)3、计算机与单片机通讯需要加电平转换芯片max2324、什么是单片机?◆单板机 将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。◆单片机 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 Intel公司推出了MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并
阅读全文

浙公网安备 33010602011771号