用单片机AT89C51改造普通双桶洗衣机:AT89C2051作为AT89C51的简化版虽然去掉了P0、P2等端口,使I/O口减少了,但是却增加了一个电压比较器,因此其功能在某些方面反而有所增强,如能用来处理模拟量、进行简单的模数转换等。本文利用这一功能设计了一个数字电容表,可测量容量小于2微法的电容器的容量,采用3位半数字显示,最大显示值为1999,读数单位统一采用毫微法(nf),量程分四档,读数分别乘以相应的倍率。电路工作原理 本数字电容表以电容器的充电规律作为测量依据,测试原理见图1。电源电路图。 压E+经电阻R给被测电容CX充电,CX两端原电压随充电时间的增加而上升。当充电时间t等于RC时间常数τ时,CX两端电压约为电源电压的63.2%,即0.632E+。数字电容表就是以该电压作为测试基准电压,测量电容器充电达到该电压的时间,便能知道电容器的容量。例如,设电阻R的阻值为1千欧,CX两端电压上升到0.632E+所需的时间为1毫秒,那么由公式τ=RC可知CX的容量为1微法。 测量电路如图2所示。A为AT89C2051内部构造的电压比较器,AT89C2051 图2 的P1.0和P1.1口除了作I/O口外,还有一个功能是作为电压比较器的输入端,P1.0为同相输入端,P1.1为反相输入端,电压比较器的比较结果存入P3.6口对应的寄存器,P3.6口在AT89C2051外部无引脚。电压比较器的基准电压设定为0.632E+,在CX两端电压从0升到0.632E+的过程中,P3.6口输出为0,当电池电压CX两端电压一旦超过0.632E+时,P3.6口输出变为1。以P3.6口的输出电平为依据,用AT89C2051内部的定时器T0对充电时间进行计数,再将计数结果显示出来即得出测量结果。整机电路见图3。电路由单片机电路、电容充电测量电路和数码显示电路等 图3 部分组成。AT89C2051内部的电压比较器和电阻R2-R7等组成测量电路,其中R2-R5为量程电阻,由波段开关S1选择使用,电压比较器的基准电压由5V电源电压经R6、RP1、R7分压后得到,调节RP1可调整基准电压。当P1.2口在程序的控制下输出高电平时,电容CX即开始充电。量程电阻R2-R5每档以10倍递减,故每档显示读数以10倍递增。由于单片机内部P1.2口的上拉电阻经实测约为200K,其输出电平不能作为充电电压用,故用R5兼作其上拉电阻,由于其它三个充电电阻和R5是串联关系,因此R2、R3、R4应由标准值减去1K,分别为999K、99K、9K。由于999K和1M相对误差较小,所以R2还是取1M。数码管DS1-DS4、电阻R8-R14等组成数码显示电路。本机采用动态扫描显示的方式,用软件对字形码译码。P3.0-P3.5、P3.7口作数码显示七段笔划字形码的输出,P1.3-P1.6口作四个数码管的动态扫描位驱动码输出。这里采用了共阴数码管,由于AT89C2051的P1.3-P1.6口有25mA的下拉电流能力,所以不用三极管就能驱动数码管。R8-R14为P3.0-P3.5、P3.7口的上拉电阻,用以驱动数码管的各字段,当P3的某一端口输出低电平时其对应的字段笔划不点亮,而当其输出高电平时,则对应的上拉电阻即能点亮相应的字段笔划。
上传时间: 2013-12-31
上传用户:ming529
多功能高集成外围器件6. 1 多功能高集成外围器件82371PCI的英文名称:Peripheral Component Interconnect (外围部件互联PCI总线);82371是PCI总线组件。ISA是:Industry Standard Architecture(工业标准体系结构)IDE是 (Integrated Device Electronics)集成电路设备简称PIIX4PIIX4器件(芯片)的特点1、是一种支持Pentium和PentiumII微处理器的部件。2、82371对ISA桥来说,是一种多功能PCI总线。3、对可移动性和桌面深绿色环境均提供支持。4、电源管理逻辑。5、被集成化的IDE控制器。6、增强了性能的DMA控制器。(7)基于两个82C59的中断控制器。(8)基于82C54芯片的定时器。(9)USB(Universal Serial Bus)通用串行总线。(10)SMBus系统管理总线。(11)实时时钟(12)顺应Microsoft Win95所需的功能其芯片的逻辑框图如图6-1所示。 PIIX4芯片逻辑框图6.1.1 概述PIIX4芯片是一个多功能的PCI器件,图6-2 是82371在系统中扮演的角色。(续上图)1. PCI与EIO之间的桥(PIIX4芯片)桥是不对程的,是各类不同标准总线与PCI总线连接,82371AB桥也可理解为一种总线转换译码器和控制器,桥内包含复杂的协议总线信号和缓冲器。(1).在PCI系统内,当PIIX4操作时,它总是作为系统内各种模块的主控设备,如USB和DMA控制器、IDE总线和分布式DMA的主控设备等,而且总是以ISA主控设备的名义出现。(2). 在向ISA总线或IDE总线进行传送操作的传送周期期间作为从属设备使用,并对内部寄存器译码。PIIX4芯片(桥)的配置(1).可以把PIIX4芯片配置成整个ISA总线,或ISA总线的子集,也可扩展成EIO总线。在使用EIO总线时,可以把未使用的信号配置成通用的输入和输出。(2).PIIX4可直接驱动5个ISA插槽;(3).能提供字节-交换逻辑、I/O的恢复支持、等待状态的生成以及SYSCLK的生成。(4).提供X-BUS键盘控制器芯片、BIOS芯片、实时时钟芯片、二级微程序器等的选择。2. IDE接口(总线主控设备的权利和同步DMA方式)IDE接口为4个IDE的设备提供支持,比如IDE接口的硬盘和CD-ROM等。注意:目前硬盘接口有5类:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口几乎在PC机最多,因为便宜。SCSI多用于服务器和集群机。IDE的PIO IDE速率:14MB/s;而总线主控设备IDE的速率:33MB/s在PIIX4芯片的IDE系统内,配有两个各次独立的IDE信号通道。3. 具有兼容性的模块—DMA、定时器/计数器、中断控制器等(1)在PIIX4内的两各82C37 DMA控制器经逻辑的组合,产生7个独立的可编程通道。通道[0:3]是通过与8个二进位的硬件连线实现的。通过以字节为单位的计数进行传送。而通道[5:7]是通过16个二进位的连线实现的,以字为单位的计数进行传送。(2)DMA控制器还能通过PCI总线,处理旧的DMA的两个不同的方法提供支持。(3)计数/定时器模块在功能上与82C54等价。(4)中断控制器与ISA兼容,其功能是两个82C59的功能之和。
上传时间: 2013-11-19
上传用户:3到15
高性能可编程DMA控制接口82C37A-54.1 概述对象实体:直接存储器访问(DMA)控制接口芯片82C37A-5芯片的特点:1、管脚引线与NMOS 8237A-5兼容。2、允许/禁止单独DMA请求控制。3、频率从0~5MHz区间全静态设计。4、低电平操作。 5、4个各自独立的DMA通道并独立的进行初始化。6、存储器到存储器之间传送。7、存储器模块初始化处理。8、地址的增量和减量。9、传送速率可达1.6MB/s.10、可直接扩展成任意数量的通道。11 、终止传送的过程即输入结束。12、软件请求。13、独立信号DREQ和信号DACK的极性控制。4.2 82C37A-5的体系结构4.2.1 基本结构描述1. 82C37A-5内部配备了规模为344位的内部存储器,它是以寄存器的形式出现的。2. 配有3个基本的控制模块: (1)定时及控制模块; (2)优先级编码及循环优先级控制模块;(3)命令控制模块; 3. 12个不同类型的寄存器 。图 4-1 82C37A-5结构图EOP# A0~A3RESETCS#. IOW# DREQ0~DREQ3HLDAHRQ DB0~DB7DACK0~DACK3
上传时间: 2013-10-21
上传用户:ming52900
设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-59秒)进行倒计时,当计时到0时数码管闪烁“00”(以1Hz闪烁),按键功能如下:(1)设定键:在倒计时模式时,按下此键后停止倒计时,进入设置状态;如果已经处于设置状态则此键无效。(2)增一键:在设置状态时,每按一次递增键,初始值的数字增1。(3)递一键:在设置状态时,每按一次递减键,初始值的数字减1。(4)确认键:在设置状态时,按下此键后,单片机按照新的初始值进行倒计时及显示倒计时的数字。如果已经处于计时状态则此键无效。3.1.2 模块1:系统设计(1)任务分析与整体设计思路根据题目的要求,需要实现如下几个方面的功能。计时功能:要实现计时功能则需要使用定时器来计时,通过设置定时器的初始值来控制溢出中断的时间间隔,再利用一个变量记录定时器溢出的次数,达到定时1秒中的功能。然后,当计时每到1秒钟后,倒计时的计数器减1。当倒计时计数器到0时,触发另一个标志变量,进入闪烁状态。显示功能:显示倒计时的数字要采用动态扫描的方式将数字拆成“十位”和“个位”动态扫描显示。如果处于闪烁状态,则可以不需要动态扫描显示,只需要控制共阴极数码管的位控线,实现数码管的灭和亮。键盘扫描和运行模式的切换:主程序在初始化一些变量和寄存器之后,需要不断循环地读取键盘的状态和动态扫描数码管显示相应的数字。根据键盘的按键值实现设置状态、计时状态的切换。 (2)单片机型号及所需外围器件型号,单片机硬件电路原理图选用MCS-51系列AT89S51单片机作为微控制器,选择两个四联的共阴极数码管组成8位显示模块,由于AT89S51单片机驱动能力有限,采用两片74HC244实现总线的驱动,一个74HC244完成位控线的控制和驱动,另一个74HC244完成数码管的7段码输出,在输出口上各串联一个100欧姆的电阻对7段数码管限流。由于键盘数量不多,选择独立式按键与P1口连接作为四个按键输入。没有键按下时P1.0-P1.3为高电平,当有键按下时,P1.0-P1.3相应管脚为低电平。电路原理图如图3-1所示。
上传时间: 2013-11-13
上传用户:曹云鹏
AVR单片机GCC程序设计:第一章 概述1.1 AVR 单片机GCC 开发概述1.2 一个简单的例子1.3 用MAKEFILE 管理项目1.4 开发环境的配置1.5 实验板CA-M8第二章 存储器操作编程2.1 AVR 单片机存储器组织结构2.2 I/O 寄存器操作2.3 SRAM 内变量的使用2.4 在程序中访问FLASH 程序存储器2.5 EEPROM 数据存储器操作2.6 avr-gcc 段结构与再定位2.7 外部RAM 存储器操作2.8 堆应用第三章 GCC C 编译器的使用3.1 编译基础3.2 生成静态连接库第四章 AVR 功能模块应用实验4.1 中断服务程序4.2 定时器/计数器应用4.3 看门狗应用4.4 UART 应用4.5 PWM 功能编程4.6 模拟比较器4.7 A/D 转换模块编程4.8 数码管显示程序设计4.9 键盘程序设计4.10 蜂鸣器控制第五章 使用C 语言标准I/O 流调试程序5.1 avr-libc 标准I/O 流描述5.2 利用标准I/0 流调试程序5.3 最小化的格式化的打印函数第六章 CA-M8 上实现AT89S52 编程器的实现6.1 编程原理6.2 LuckyProg2004 概述6.3 AT989S52 isp 功能简介6.4 下位机程序设计第七章 硬件TWI 端口编程7.1 TWI 模块概述7.2 主控模式操作实时时钟DS13077.3 两个Mega8 间的TWI 通信第八章 BootLoader 功能应用8.1 BootLoader 功能介绍8.2 avr-libc 对BootLoader 的支持8.3 BootLoader 应用实例8.4 基于LuckyProg2004 的BootLoader 程序第九章 汇编语言支持9.1 C 代码中内联汇编程序9.2 独立的汇编语言支持9.3 C 与汇编混合编程第十章 C++语言支持附录 1 avr-gcc 选项附录 2 Intel HEX 文件格式描述
上传时间: 2014-04-03
上传用户:ligi201200
本章将介绍μ’nSP™系列单片机的应用领域,具体讲述SPCE061A单片机在通讯、语音领域里的应用,并详细给出了有关系统的电路原理图、程序流程图以及程序代码,供读者参考。 μ’nSP™家族产品具有电源电压范围和工作速率范围较宽、集成度高、性能价格比高以及功耗低等特点,故其有非常广泛的应用领域。μ’nSP™家族系列产品,涵盖了非常广泛的应用。包括:发音与语音识别的微控制器(SPCE系列)、通信来电辩识应用的微控制器(SPT660x系列)、以及通用型微控制器等等,主要体现在以下几个方面: 用于数字信号处理 用于开发研制便携式移动终端 用于开发嵌入式计算机应用系统 用于数字信号处理1. 数字滤波器 (Digital Filter)数字滤波器是一种计算处理或算法。借助于此,可以将输入的一种数字信号或序列变换为另一种序列输出。数字滤波器已被广泛地应用于数字语音、数字图像处理以及模式识别和频谱分析。数字信号处理器(DSP,Digital Signal Processor)的作用是通过一系列数字来表示信号及其信息,并借助数字计算方法变换和处理这些信号。为了构成DSP,必须有一种部件能够快速地完成两个数值的乘法运算并将乘积累加于寄存器。“快速”意味着乘和累加(MAC,Multiply & ACcumulate)较高的运算速度。若以16位数值进行乘和累加,其结果应为32位。显然,μ’nSP™的硬件结构与其指令系统的结合足以构成DSP应用的硬件MAC单元,因而很适用于一些DSP方面的应用。
上传时间: 2014-01-26
上传用户:qb1993225
设置复位标志位便于区分不同原因引发的复位,作为一种新技术被越来越多的新型单片机所采纳。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半导体部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,内部都设计了专门用于记录各种复位标志的状态寄存器。MC68HC08系列有一个复位状态寄存器,负责记录6种复位标志位:上电复位、引脚复位、看门狗复位、非法指令复位、非法地址复位和欠压复位。SPMC65系列有一个系统控制寄存器,负责记录5种复位标志位:上电复位、外部复位、看门狗复位、非法地址复位和欠压复位。51兼容的P89LPC900系列有一个复位源寄存器,负责记录6种复位标志位:欠压复位、上电复位、外部复位、看门狗复位、软件复位和UART收到间隔字符复位(主要作为进入ISP监控程序的途径之一)。就连初学者很常用的 AT89S51/52和P89C52X2,也在其电源控制寄存器PCON中增设了一个上电标志位POF。1、 复位标志位的设置方法传统的80C51单片机没有设计复位标志位的记录功能,这应该说是一种遗憾,那么能否通过一定的技术手段来弥补这个缺憾呢?这里给广大80C51单片机用户提供一种启示和引导。实现复位标志位的记录肯定需要一定的硬件电路支持,而这种电路的设计不存在固定模式。笔者利用一片MAX813L设计了一种支撑电路,如图1所示,仅供读者参考。
上传时间: 2013-10-21
上传用户:lhw888
基于单片机的红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断0作为入口,实现加1操作,中断1作为出口,实现减1操作。另外,我们通过P0口控制室内灯的亮暗,当寄存器计数值为0时,熄灯,不为0时,灯亮。显示部分,采用两位数码管动态显示,如有必要,可以很方便的扩展为四位计数。精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化缓存区 MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序 ACALL DISPLAY ;调用显示子程序 LJMP NEXT1 ORG 0100H ;中断0服务程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中断1服务程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;将十六进制中最高位移入进位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位数加上本身相当于将这个数乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十进制调整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段码表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延时子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与PC数据交换的功能。 由于,实验简化了,剩下不少零件和资金,所以我们又做了两项其他的实验。
上传时间: 2013-12-22
上传用户:tangsiyun
单片机常用芯片和器件手册:有常用的像寄存器,锁存器,单片机芯片资料介绍等,非常实用。
上传时间: 2013-11-22
上传用户:zhaoman32
5.1 中断基本概念5.1.1 中断基本概念定义:CPU暂停现行程序,转而处理随机到来的事件,待处理完后再回到被暂停的程序继续执行,这个过程就是中断。中断过程:中断处理的隐操作:程序状态及程序断点地址的进栈及出栈。 中断系统其他功能: 支持多中断源和多种中断源。 支持中断屏蔽处理。 支持中断嵌套处理。 支持中断优先级修改。 支持中断结束方式选择。5.1.2 中断类型1.外部硬件(如键盘、鼠标,串口,并口打印机等)中断属性:硬件、可屏蔽、向量。 中断请求:多个中断请求的排队和判优由中断控制器完成,产生的有无中断请求的信号送到CPU的INTR引脚。 中断类型号:通过数据总线送到CPU中。EFLAGS寄存器的IF位影响CPU对中断请求的响应。处理器在当前指令执行结束的时候启动中断识别INTA总线周期。
标签: 中断技术
上传时间: 2013-11-09
上传用户:黄婷婷思密达