基于AT89C2051的红外遥控学习器源程序6 源程序 ORG 0000H AJMP MAIN ORG 0003H AJMP KEYPRESS ORG 000BH AJMP TIMEOUT ORG 001BH AJMP TIMEOUT SENDDUAN BIT P3.0 JIEDUAN BIT P3.1 INTRPO BIT P3.2 JIEXUAN BIT P3.3 SENDLIGHT BIT P3.4 JIELIGHT BIT P3.5 CS BIT P3.7 DATADUAN BIT P1.6 CLK BIT P1.7 JIANWEI EQU R5 JIANMA EQU R6 SHANGJIAN EQU 07H;R7 OPENKEY EQU 81H CLOSEKEY EQU 00H CHUT0 EQU 11H CHUT1 EQU 11H BUFBEGIN EQU 18H OPENT1 EQU 88H CLOSET1 EQU 00H OPENT0 EQU 82H CLOSET0 EQU 00H DATABEG1 EQU 0AAH DATABEG2 EQU 33H ORG 0030HMAIN: MOV IE,#80H MOV IP,#00H MOV P3,#0FFH CLR CS SETB P1.0 SETB P1.1 SETB P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 CLR P1.7 MOV R3,#80H MOV R0,00HCYCLE1: MOV @R0,#00H INC R0 DJNZ R3,CYCLE1 MOV PSW,#00H MOV SP,#07H MOV TMOD,#11H MOV TCON,#00H START: MOV SP,#07H SETB SENDDUAN CLR F0 SETB EXOWAITKEY: MOV C,F0 JNC WAITKEY CJNC JIANMA,#1BH,SEND LCALL LEARNP LJMP STARTSEND: LCALL SENDP LJMP START SENDP: SETB SENDDUAN CLR F0 MOV TMOD,#CHUT1
上传时间: 2013-10-15
上传用户:lyy1234
微型计算机课程设计论文—通用微机发声程序的汇编设计 本文讲述了在微型计算机中利用可编程时间间隔定时器的通用发声程序设计,重点讲述了程序的发声原理,节拍的产生,按节拍改变的动画程序原理,并以设计一个简单的乐曲评分程序为引子,分析程序设计的细节。关键字:微机 8253 通用发声程序 动画技术 直接写屏 1. 可编程时间间隔定时器8253在通用个人计算机中,有一个可编程时间间隔定时器8253,它能够根据程序提供的计数值和工作方式,产生各种形状和各种频率的计数/定时脉冲,提供给系统各个部件使用。本设计是利用计算机控制发声的原理,编写演奏乐曲的程序。 在8253/54定时器内部有3个独立工作的计数器:计数器0,计数器1和计数器2,每个计数器都分配有一个断口地址,分别为40H,41H和42H.8253/54内部还有一个公用的控制寄存器,端地址为43H.端口地址输入到8253/54的CS,AL,A0端,分别对3个计数器和控制器寻址. 对8353/54编程时,先要设定控制字,以选择计数器,确定工作方式和计数值的格式.每计数器由三个引脚与外部联系,见教材第320页图9-1.CLK为时钟输入端,GATE为门控信号输入端,OUT为计数/定时信号输入端.每个计数器中包含一个16位计数寄存器,这个计数器时以倒计数的方式计数的,也就是说,从计数初值逐次减1,直到减为0为止. 8253/54的三个计数器是分别编程的,在对任一个计数器编程时,必须首先讲控制字节写入控制寄存器.控制字的作用是告诉8253/54选择哪个计数器工作,要求输出什么样的脉冲波形.另外,对8253/54的初始化工作还包括,向选定的计数器输入一个计数初值,因为这个计数值可以是8为的,也可以是16为的,而8253/5的数据总线是8位的,所以要用两条输出指令来写入初值.下面给出8253/54初始化程序段的一个例子,将计数器2设定为方式3,(关于计数器的工作方式参阅教材第325—330页)计数初值为65536. MOV AL,10110110B ;选择计数器2,按方式3工作,计数值是二进制格式 OUT 43H,AL ; j将控制字送入控制寄存器 MOV AL,0 ;计数初值为0 OUT 42H,AL ;将计数初值的低字节送入计数器2 OUT 42H,AL ;将计数初值的高字节送入计数器2 在IBM PC中8253/54的三个时钟端CLK0,CLK1和CLK2的输入频率都是1.1931817MHZ. PC机上的大多数I/O都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的.关于8255A的结构和工作原理及应用举例参阅教材第340—373页.教材第364页的”PC/XT机中的扬声器接口电路”一节介绍了扬声器的驱动原理,并给出了通用发声程序.本设计正是基于这个原理,通过编程,控制加到扬声器上的信号的频率,奏出乐曲的.2.发声程序的设计下面是能产生频率为f的通用发声程序:MOV AL, 10110110B ;8253控制字:通道2,先写低字节,后写高字节 ;方式3,二进制计数OUT 43H, AL ;写入控制字MOV DX, 0012H ;被除数高位MOV AX, 35DEH ;被除数低位 DIV ID ;求计数初值n,结果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;读入8255A端口B的内容MOV AH, AL ;保护B口的原状态OR AL, 03H ;使B口后两位置1,其余位保留OUT 61H,AL ;接通扬声器,使它发声
上传时间: 2013-10-17
上传用户:sunjet
系统start-up 定时器• 为了让振荡器能够稳定起振所需要的延时时间。• 其时间为1024 个振荡器振荡周期。制程和温度漂移• 因RC 振荡器的频率与内建振荡电容值有关,而此电容值与制程参数有关,所以不同的MCU 会表现出不一致性。在固定电压和温度下,振荡频率漂移范围约±25%。• 对于同一颗MCU(与制程漂移无关),其振荡频率会对工作电压和工作温度产生漂移。其对工作电压和工作温度所产生的漂移,可参考HOLTEK 网站上提供的相关资料。EMI/EMS(EMC)注意事项• ROSC 位置应尽量接近OSC1 引脚,其至OSC1 的连线应最短。• CS 可以提高振荡器的抗干扰能力,其与MCU OSC1 和GND 的连线应最短。• RPU 在确定系统频率之后,量产时建议不要接,因为其fSYS/4 频率输出会干扰到OSC1
上传时间: 2014-01-20
上传用户:yyyyyyyyyy
单片机教程内容有:CS-51单片机实用子程序库,单片机编程入门26讲,C51单片机C语言学习,单片机C语言教程,单片机应用等等。
上传时间: 2013-10-17
上传用户:aysyzxzm
1 概述由于在某些通讯设计应用中,需要扩展更多的串口数量,比如车床监控、纺织仪器检测和网状连接的数据采集等应用。为此成都国腾微电子有限公司推出的GM814x 可以满足多个同类产品的并联扩展,并且能简单的实现电路连接和程序控制,主MCU 可以识别数据的来源和指定和某个GM814x 通信。2 应用说明2.1 CS 与SPI 的数据通信GM814x 的CS(片选)引脚可用于控制SPI 总线时钟有效性,CS 低电平有效,内部下拉。CS 有效时,允许芯片的时钟接收和数据收发;无效时,SCLK、DIN 和DOUT 均为高阻状态,GM814x 不响应SPI 上的数据收发,但能正常收发子串口数据和产生相应中断。2.2 应用建议当使用GM814x 的应用需要扩展4 个以上的串口数量时,就需要使用2 片以上的GM814x。扩展的方式也有多种。方式一:将多个GM814x 的SPI 接口接在主MCU 的SPI 总线上,然后将所有GM814x 的中断进行线与后连接到MCU 的IRQ 上,同时将各GM814x 的IRQ 输出又连接到MCU的IO,以便MCU响应中断后检测是具体哪一个GM814x 输出的中断,然后再拉低对应的CS,拉高其它GM814x的CS,并执行通信操作。方式二:如果扩展的GM814x 数量较多,采用上述扩展方式可能会占用MCU较多的IO 资源,则可以将GM814x 的中断输出连接到具有OC 输出的与门芯片上,再输出到MCU 的中断输入。同时又将所有的GM814x 的中断输出进行编码输入到MCU,以供其判断产生中断的是哪一个GM814x。方式三:将所有GM814x 的中断输出连接到优先编码器进行编码输出,同时编码器也能输出低电平信号给MCU 作为中断响应。MCU 检测编码数据以获知产生中断的GM814x,然后进行数据通信处理。这种方式电路最简单,占用MCU 的IO 资源也最少。 举例:使用MCS51 单片机扩展8 片GM814x。本电路中,采用了上述提到的第三种扩展方式。通过普通的MCS51 单片机扩展最多8 片GM814x,可扩展最多32 个标准串口。为了节省MCU的IO 资源,电路中增加了一片8-3 线优先编码器74LS348 和一片3-8 线译码器74HC138。8 片GM814x 的IRQ 中断通过一片74LS348 输出中断源向量,同时产生GS 低电平信号到MCS51 的外部中断0 上,MCS51 响应中断后,可查询A0~A2 的值确定产生中断的GM814x,然后MCU 使能74HC138,输出对应的ABC 信号选中产生IRQ 信号的GM814x,再进行SPI 总线上的数据通信。 示例程序:本示例程序使用C 语言描述,仅供参考。 由于74LS348 是优先编码器,多个中断同时产生的时候,74LS348 的编码只会指示输入编号上最高的IRQ,MCU 无法直接获知是否其它的GM814x 也产生了中断。同时GM814x 在自己的中断申请后,数据传输到第8bit 时会自动清除,所以数据接收完后如果MCU 的中断引脚仍然为低,则表示还有其它GM814x 的中断申请,故必须在处理完当前中断后继续查询新的中断向量。这就是上述示例程序中while 循环的目的。 以上应用建议仅供设计者参考,不代表最终实现方式,更可靠和实际的实现方式可由设计者根据自己的实际情况确定。l 示例中的数据、参数和标志字命名不代表实际产品的特性,请参考实际产品的数据手册来获取你所需要的数据。
上传时间: 2013-10-26
上传用户:suicoe
存放在计算机中大量信息的安全问题以及敏感信息的防窃取、防篡改问题已经越来越引起人们的关注。为了实现对数据库管理系统中数据安全的需求,文中对系统的用户口令、C/S之间的签名认证、SQL Server 2005数据库加密、系统分配角色和用户权限几方面对数据库管理系统的安全问题进行研究,使用C#和T-SQL语言进行具体实现。实际应用表明,这些措施能够准确地实现数据的加密,阻止非法用户操作系统,保证系统安全,达到了设计要求。
上传时间: 2013-10-22
上传用户:wlcaption
采用DQPSK 调制方式对NRZ, RZ 和CSRZ 3 种码型进行调制, 研究40 Gb/ s 高速传输系统中这3 种不同类型的光信号。使用色散补偿方式对高速光纤传输系统进行200 kM 的模拟仿真, 比较不同码型的系统传输特性。分析表明CS- RZ- DQPSK 调制格式, 在较宽的入纤功率范围内都能取得最小的眼图张开代价。
上传时间: 2013-10-17
上传用户:YKLMC
第二部分:DRAM 内存模块的设计技术..............................................................143第一章 SDR 和DDR 内存的比较..........................................................................143第二章 内存模块的叠层设计.............................................................................145第三章 内存模块的时序要求.............................................................................1493.1 无缓冲(Unbuffered)内存模块的时序分析.......................................1493.2 带寄存器(Registered)的内存模块时序分析...................................154第四章 内存模块信号设计.................................................................................1594.1 时钟信号的设计.......................................................................................1594.2 CS 及CKE 信号的设计..............................................................................1624.3 地址和控制线的设计...............................................................................1634.4 数据信号线的设计...................................................................................1664.5 电源,参考电压Vref 及去耦电容.........................................................169第五章 内存模块的功耗计算.............................................................................172第六章 实际设计案例分析.................................................................................178 目前比较流行的内存模块主要是这三种:SDR,DDR,RAMBUS。其中,RAMBUS内存采用阻抗受控制的串行连接技术,在这里我们将不做进一步探讨,本文所总结的内存设计技术就是针对SDRAM 而言(包括SDR 和DDR)。现在我们来简单地比较一下SDR 和DDR,它们都被称为同步动态内存,其核心技术是一样的。只是DDR 在某些功能上进行了改进,所以DDR 有时也被称为SDRAM II。DDR 的全称是Double Data Rate,也就是双倍的数据传输率,但是其时钟频率没有增加,只是在时钟的上升和下降沿都可以用来进行数据的读写操作。对于SDR 来说,市面上常见的模块主要有PC100/PC133/PC166,而相应的DDR内存则为DDR200(PC1600)/DDR266(PC2100)/DDR333(PC2700)。
上传时间: 2013-10-18
上传用户:宋桃子
PLC
上传时间: 2013-10-17
上传用户:haiya2000
本手册对CX-Programmer 应用程序和其对OMRON SYSMAC CS, CV 以及 C 系列 PLC 编制程序的能力进行了描述。但并不提供有关PLC 本身的详细资料,要获得这些资料,必须参考相应设备的商业手册。
标签: CX_Programmer 编程 教程
上传时间: 2013-10-12
上传用户:l银幕海