虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

汇编编程

  • 51单片机动态LED显示电路编程实例

    51单片机动态LED显示电路编程实例:上一节我们讲述了单只LED与单片机的接口电路及编程实例,目的在于让初学者了解LED在单片机中的应用原理,单只LED显示在实际应用中并无多大用途,一般都是多位的LED显示。现在我们作进一步学习,我们要讲解的是8位LED的显示原理及实际的编程方法。这里我们没有采用多I/O口的8051系列单片机,而是采用了完全兼容C51指令系统的质优价廉的AT89C2051单片机,它的软件编程与C51完全一致。    在多数的应用场合中,我们并不希望使用多I/O端口的单片机,原则上是使用尽量少引脚的器件。在没有富余端口的情况下,怎样通过扩展电路达到预期的目的呢?我们希望通过此例使设计人员在实际应用中了解一点电路扩展的原理,对实际的应用有所帮助。 此电路中,74LS273用于驱动LED的8位段码,8位LED相应的"a"—"g"段连在一起,它们的公共端分别连至由74LS138(点击芯片型号可浏览其详细的技术手册)译码选通后经74LS04反相驱动的输出端。这样当选通某一位LED时,相应的地址线(74LS04输出端)输出的是高电平,所以我们的LED选用共阳LED数码管。    动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改,可参见程序清单中的DELAY延时子程序。    为简单起见,我们只是编写了8位LED同步显示"00000000"—"11111111"直到"99999999"数字,并且反复循环。程序很简单,流程图略去。

    标签: LED 51单片机 动态 显示电路

    上传时间: 2013-11-18

    上传用户:皇族传媒

  • 可编程自动控制控制跑马灯

    这一颗,我们学习如何让跑马灯自动按照我们预定的顺序进行。这种控制在工控场合经常用到。这个程序里,我们预先定义了一个变化的顺序speedcode,每跑一圈灯就根据预定设置的表格数据来决定下一圈的跑马速度。这样我们就实现了按照预定的顺序自动变化运行。请看代码:-----------------------------------#define uchar unsigned char //定义一下方便使用#define uint unsigned int#define ulong unsigned long#include <reg52.h> //包括一个52 标准内核的头文件sbit P10 = P1^0; //头文件中没有定义的IO 就要自己来定义了sbit P11 = P1^1;sbit P12 = P1^2;sbit P13 = P1^3;bit ldelay=0; //长定时溢出标记,预置是0uchar speed=10; //设置一个变量保存跑马灯的移动速度uchar code speedcode[10]={3,1,5,12,3,20,2,10,1,4}; //10 个预定义的速度char code dx516[3] _at_ 0x003b;//这是为了仿真设置的//可编程自动控制跑马灯void main(void) // 主程序{uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入P1 的值uchar ledi; //用来指示显示顺序uchar i;RCAP2H =0x10; //赋T2 的预置值0x1000,溢出30 次就是1 秒钟RCAP2L =0x00;TR2=1; //启动定时器ET2=1; //打开定时器2 中断EA=1; //打开总中断

    标签: 可编程 自动控制 控制 跑马灯

    上传时间: 2013-11-20

    上传用户:ming529

  • 可编程中断控制器82C59A-2

    82C59A-2是为简化微处理机系统中断接口而实现的LSI外围芯片。也叫做PIC(Programmable Interrupt Controller)。是高性能高速度芯片。在多级优先级中断系统内82C59A-1402已经把CPU从对任务的轮询中解救出来。PCI可由软件进行控制,使用于各种不同的环境,联级可接受8~64个中断输入。 管脚与NMOS8259A-2兼容单片8级优先级,级联可扩64级多种可编程中断方式各自专用的请求屏蔽能力与Intel系列机兼容全部采用静态设计低功耗5V的电源供电。

    标签: 82 59 可编程 中断控制器

    上传时间: 2013-10-30

    上传用户:zhliu007

  • 汇编指令查询器V1.20版

    汇编指令查询器:数据传送指令 MOV 格式: MOV OPRD1,OPRD2 功能: 本指令将一个源操作数送到目的操作数中,即OPRD1<--OPRD2. 说明: 1. OPRD1 为目的操作数,可以是寄存器、存储器、累加器.    OPRD2 为源操作数,可以是寄存器、存储器、累加器和立即数. 2. MOV 指令以分为以下四种情况:     <1> 寄存器与寄存器之间的数据传送指令       <2> 立即数到通用寄存器数据传送指令                 <3> 寄存器与存储器之间的数据传送指令                 <4> 立即数到存储器的数据传送 3. 本指令不影响状态标志位

    标签: 1.20 汇编指令 查询

    上传时间: 2013-11-13

    上传用户:脚趾头

  • 高性能可编程DMA控制接口82C37A-5

    高性能可编程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

    标签: DMA 82 37 性能

    上传时间: 2013-10-21

    上传用户:ming52900

  • CHMOS可编程时间间隔定时器芯片82C54

    82C54是专为Intel系列微处理机而设计的一种可编程时间间隔定时器/计数器,它是一种通用芯片,在系统软件中可以把多级定时元素当成输入/输出端口中的一个阵列看待。1.  与所有Intel系列兼容2.  操作速度高,与8MHz的8086、80186一起可实现“零等待状态”的操作。3.  可处理从直流到10M频率的输入。4.  适应性强5.  三个独立的16位计数器6.  低功耗的CHMOS7.  与TTL完全兼容8.  6 种可编程的计数模式9.  以二进制或BCD计数10. 状态读返回命令

    标签: CHMOS 82C54 可编程 时间间隔

    上传时间: 2013-11-16

    上传用户:elinuxzj

  • 可编程外围接口82C55A

    82C55A是高性能,工业标准,并行I/O的LSI外围芯片;提供24条I/O脚线。     在三种主要的操作方式下分组进行程序设计82C88A的几个特点:(1)与所有Intel系列微处理器兼容;(2)有较高的操作速度;(3)24条可编程I/O脚线;(4)底功耗的CHMOS;(5)与TTL兼容;(6)拥有控制字读回功能;(7)拥有直接置位/复位功能;(8)在所有I/O输出端口有2.5mA  DC驱动能力;(9)适应性强。方式0操作称为简单I/O操作,是指端口的信号线可工作在电平敏感输入方式或锁存输出。所以,须将控制寄存器设计为:控制寄存器中:D7=1; D6 D5=00;  D2=0。D7位为1代表一个有效的方式。通过对D4 D3 D1和D0的置位/复位来实现端口A及端口B是输入或输出。P56表2-1列出了操作方式0端口管脚功能。

    标签: 82C55A 可编程 外围接口

    上传时间: 2013-10-26

    上传用户:brilliantchen

  • AVR单片机GCC程序设计

    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 文件格式描述

    标签: AVR GCC 单片机

    上传时间: 2014-04-03

    上传用户:ligi201200

  • 自制多功能编程器

    这里介绍的一款多功能编程器,功能强大,支持大多数常用的EPROM, EEPROM, FLASH, I2C,PIC, MCS-51,AVR, 93Cxx等系列芯片(超过400种)。硬件成本较低,性价比很高。既适合于电子和电脑爱好者使用,也适合家电维修人员维修家电和单片机开发人员使用。图1为多功能编程器的主机,中间是32脚ZIF(零插力)锁紧插座, 用于27系列、28系列、29系列、39/49系列等BIOS芯片。左边是25芯并口插座,通过并口电缆连接计算机并口。左下方是电源插座。32脚ZIF插座下方是12位的DIP开关,对EPROM芯片进行读写等操作前,需将此开关拨至相应位置。具体开关位置可以参照软件提示。锁紧插座右侧依次排列3个DIP8插座和一个DIP18插座,分别用于25系列、24系列、93系列存储器和PIC系列单片机等;绿色电源指示灯(Power)用于指示编程器电源状态;红色指示灯(Vpp)用于指示芯片Vpp电源状态;黄色指示灯(Vcc)用于指示芯片编程状态。  一、 主要功能:  ★ 可用此编程器升级、维修电脑主板,显卡等BIOS芯片。可支持3.3V低电压BIOS芯片。  ★ 用来写网卡启动芯片:用于组建无盘站写网卡启动芯片或制作硬盘还原卡等。  ★ 可用于复印机、传真机、打印机主板维护和维修。★ 可用于读写用来写汽车仪表、安全气囊、里程表数据。★ 可用于维修显示器、彩电、VCD、DVD 上面的存储芯片。可修改开机画面。 ★ 用来开发单片机: 通过添加不同适配器,可以支持 MCS-51 系列, AVR 系列和 PIC 系列的MCU。  ★ 用来写大容量存储芯片:大容量的存储芯片,一般在卫星接收机上使用较多,可以用编程器直接来升级或改写。  二、电路简介图2是这台编程器的完整电路图,可以看到编程器电路由完全分离的两部分组成:串行部分和并行EPROM部分电路。限于篇幅,原理部分不再详述。对原理感兴趣的读者可以参考本文配套文件包中的“电路原理参考.PDF”文件。图2三、电路板设计与制作  图3是编程器参考元件布局图,双面PCB尺寸为160X100毫米,厚度1.6毫米。具体的PCB设计可以参考配套文件中的“PCB参考设计.PDF”。这个文件中包括电路板的顶层和低层布线和顶层丝印层。如果业余自制电路板,建议使用双面感光电路板制作,以确保精度。

    标签: 多功能编程器

    上传时间: 2013-10-14

    上传用户:问题问题

  • MCS-51单片机的编程应用范例

    [学习要求] 掌握MCS-51单片机的基本应用。[重点与难点]重点:动态扫描LED显示电路编程范例;定时/计数器软件编程范例;A/D接口电路;矩阵式键盘接口技术及编程。难点:动态扫描LED显示电路编程范例;定时/计数器软件编程范例。[理论内容]一、并行I/O口编程范例单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,下面从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O口的编程原理,意在起举一反三,抛砖引玉的作用。LED的发光原理,稍有电子技术基础的人士都很清楚,这里不想作过多的介绍,7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。

    标签: MCS 51 单片机 编程应用

    上传时间: 2013-10-19

    上传用户:linlin