急求STC89C51单片机八段数码管流水灯汇编程序

作者&投稿:犹卞 (若有异议请与网页底部的电邮联系)
AT8951单片机,关于一个简单的这流水灯程序,用汇编语言的。。。~

参考:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/efec7445f6c27852500ffe5e.html

ORG 0000H
LJMP MAIN
ORG 000BH
T0MS0 EQU NOT 50000 ; 50 mS 12.000 MHz
; 100 MS 6.000 MHz
T0ZD0: MOV TL0, #LOW T0MS0 ; TO 中断 计时 0
MOV TH0, #HIGH T0MS0
DJNZ R5, T0ZD8
MOV R5, #10 ; 100 mS #5
SETB 30H ; 500 mS 标志
T0ZD8: RETI
MAIN: MOV TL0, #LOW T0MS0 ; TO 100MS 中断 计时 0
MOV TH0, #HIGH T0MS0
MOV IE, #82H
SETB TR0
MOV R5, #10
MIN01: MOV R2, #16 ; 左循环2次
MOV A, #0FEH
MIN02: MOV P1, A
RL A
JNB 30H, $
CLR 30H
DJNZ R2, MIN02
JNB 30H, $
CLR 30H
MOV R2, #16 ; 右循环2次
MOV A, #7FH
MIN03: MOV P1, A
RR A
JNB 30H, $
CLR 30H
DJNZ R2, MIN03
JMP MIN01
END

1、D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;
2、按规定顺序依次熄灭(间隔1秒),最后全灭;
3、八个灯同时点亮,保持1秒;
4、八个灯同时熄灭,保持0.5秒;
再将第3、4步重复4遍,最后整个程序再重复N遍。
5、让八个灯依次显示为0100 1001

问题补充:“规定顺序”就是D1,D2,D3,D4...D8
悬赏分:105 - 解决时间:2010-7-3 13:44
=================================================================
最佳答案:
;假设1:D1~D8八个彩灯接在P1口,输出低电平发光
;假设2:系统晶振为12MHz
;假设3:N = 5
;程序如下:

ORG 0000H
MOV R3, #5 ;N=5
LOOP0:
MOV A, #0FFH
MOV P1, #0FFH ;开始时全灭
;-------------------------------逐个点亮
MOV R2, #8
LOOP1: CLR C
RLC A
MOV P1, A
CALL DL500MS
DJNZ R2, LOOP1
;-------------------------------逐个熄灭
MOV R2, #8
LOOP2: SETB C
RLC A
MOV P1, A
CALL DL500MS
DJNZ R2, LOOP2
;-------------------------------全亮、全灭交替
MOV R2, #4
LOOP3: MOV P1, #0 ;全亮
CALL DL500MS
CALL DL500MS ;共1s
MOV P1, #255 ;全灭
CALL DL500MS ;0.5s
DJNZ R2, LOOP3
;-------------------------------
DJNZ R3, LOOP0
MOV P1, #01001001B ;5、显示为0100 1001
CALL DL500MS
CALL DL500MS ;共1s
SJMP 0000H ;重新开始N遍
;-------------------------------延时子程序
DL500MS:
MOV R5, #9 ;1T
DL1: MOV R6, #128 ;1T
DL2: MOV R7, #215 ;1T
NOP ;1T
DL3: DJNZ R7, DL3 ;2T 2 * 215 = 430 T
DJNZ R6, DL2 ;2T [1+1+430+2] * 128 = 55552 T
DJNZ R5, DL1 ;2T [1+55552+2] * 9 = 499995 T
RET ;2T 1 + 499995 + 2 = 499998 T
;-------------------------------------
END

那个口接流水灯哪个口接数码管啊。功能呢》


stc89c51与at89c51的区别?
STC89C51与AT89C51的主要区别在于制造商和某些性能参数。一、制造商不同 STC89C51是由宏晶科技公司生产的单片机,而AT89C51则是由Atmel公司制造。虽然两者在名称上相似,但它们来自于不同的生产厂家,因此在生产流程、质量控制以及技术支持等方面有所不同。二、性能差异 增强抗干扰性能:STC89C51在增强型Flash存...

stc89c51与at89c51的区别?
STC89C51与AT89C51在功能和性能上存在显著差异。STC89C51是宏晶科技推出的单片机,采用宏晶STC特有的Flash单片机存储技术;而AT89C51是Atmel公司推出的基于8位单片机的标准型号。两者的主要区别在于编程存储技术、处理器性能、运行速度和成本等方面。STC89C51采用的是特有的Flash单片机存储技术,其优点在于可实现非易失...

stc89c51的区别是什么??
当讨论STC89C51和STC89LE52这两款单片机的区别时,我们首先注意到的是它们的供电需求。STC89C51的工作电压范围在4.5V至5.5V之间,而STC89LE52则具备更低的电压要求,可支持2.0V至3.8V,这使得52在低电压应用中具有优势。在存储容量上,STC89C51的内存配置为4KB,而STC89LE52的存储空间提升至8KB,这...

stc89c51特点
STC89C51是一款增强型1T流水线\/精简指令集结构的8051 CPU,它具备了以下特点:工作电压范围广泛,支持3.4V-5.5V(5V单片机)和2.0V-3.8V(3V单片机),最高可达48MHz的工作频率,相较于普通8051有显著提升。内置12K\/10K\/8K\/6K\/4K\/2K字节的用户应用程序空间,以及512字节的片上RAM,为程序运行提供...

STC89C52和STC89C51\/52有何区别?
首先,从存储容量来看,AT89C51\/52搭载的是4K字节的Flash存储器,而STC89C51\/52则提供更大的存储空间,具有8K字节的系统可编程Flash。这使得STC89C52在处理更大的程序和数据时具有优势。其次,技术层面,AT89C51\/52采用的是ATMEL的高密度非易失存储器技术,兼容工业标准的MCS-51指令集和输出管脚,适合于广泛...

STC89C51与STC8H8K64U是什么关系?
STC89C51和STC8H8K64U是两种不同的单片机型号,都是中国STC公司生产的基于8051内核的单片机。它们的主要区别在于芯片的架构和功能特性不同。STC89C51是一款经典的8051单片机,具有8位CPU、64KB闪存、2KB RAM和32个I\/O端口等基本特性。它的主频可以达到最高33MHz,支持ISP编程方式和多种通信接口,适用于...

毕设用那个好stc89c52和stc89c51
您是想问毕设用哪个好stc89c52和stc89c51?根据百度百科提供的信息,这两个各有各的好。1、内存容量:STC89C52具有8KB的Flash存储器和256B的RAM,而STC89C51只有4KB的Flash存储器和128B的RAM。因此,STC89C52适用于需要更大程序空间和数据存储的应用。2、时钟频率:STC89C52最高时钟频率为33MHz,而STC89C51最...

急求STC89C51单片机八段数码管流水灯汇编程序
1、D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;2、按规定顺序依次熄灭(间隔1秒),最后全灭;3、八个灯同时点亮,保持1秒;4、八个灯同时熄灭,保持0.5秒;再将第3、4步重复4遍,最后整个程序再重复N遍。5、让八个灯依次显示为0100 1001 问题补充:“规定顺序”就是D1,D2,...

stc89c51和stc89c52区别?
1、生产的公司不同 AT89C51是Atmel公司生产;STC89C52是宏晶公司生产。2、RAM和ROM不同 AT89C51是128byte RAM,4K ROM;STC89C52是256Byte,8K ROM。3、定时器数量不同 AT89C51有T0、T1两个16位定时器;STC89C52有T0、T1、T2三个16位定时器。

stc89c51单片机
MOV C, P1.0 ;读入引脚a MOV P2.0, C ;直接输出到引脚c CPL C ;反相 MOV P2.1, C ;再输出到引脚b SJMP 0000H ;再去检测 END --- include<reg52.h> sbit a = P1^0;sbit b = P2^0;sbit c = P2^1;void main(){ while(1) { c = a;...

浦江县19141904138: 急求STC89C51单片机八段数码管流水灯汇编程序 -
夹俘小儿: 1、D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;2、按规定顺序依次熄灭(间隔1秒),最后全灭;3、八个灯同时点亮,保持1秒;4、八个灯同时熄灭,保持0.5秒; 再将第3、4步重复4遍,最后整个程序再重复N遍.5、让八...

浦江县19141904138: 我想采用89C51单片机的T0对外围进行计数,然后通过8位数码管显示计数值 -
夹俘小儿: 段码用io口加上拉电阻驱动,位码用三极管驱动就ok啦(如果口够用的话) 下面是6位数码管的频率计程序(参考)#include <AT89X51.H>#define uchar unsigned char#define uint unsigned int/**********************定义*****************************/ ...

浦江县19141904138: 求基于stc89c51rc、ULN2003A、MAX232 四个数码管的单片机程序,一定要管用,2.5小时内,急用,拜托 -
夹俘小儿: #include "reg51.h" unsigned char i,j,k; code unsigned char shuma[]={/*0,1,2,3,4,5,6,7,8,9,*/0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 }; void delay() { int i; for(i=0;i<0xff;i++) {;} }//timer init void initTimer(void) { TMOD=0x1; TH0=0xd8; ...

浦江县19141904138: 求一段单片机控制程序,STC89C51单片机,p1.0口输入为0~5V模拟信号,要通过ADC转换成数字信号, -
夹俘小儿: STC89C51的P1.0口只能输入数字量,0V和5V,不能输入0~5V的模拟信号,要通过A/D转换了才能输入

浦江县19141904138: 89s51单片机与8段数码管的接法? -
夹俘小儿: 数码管要加限流电阻,在公共端(共阴的GND或共阳的VCC)加一个几百欧的就行了,然后就可以接到单片机的I/O口上了

浦江县19141904138: 我的单片机stc89c52是八位数unsigned char code table[]={//共阴极0~f数码管编码 0x3f,0x06,0x5b,0x4f -
夹俘小儿: 所有的共阴数码管的段码都是这样的,你六个数码管就用6个元素的数组,八个就用8个元素的数组,这个叫位码!

浦江县19141904138: 如何使用单片机at89c51驱动4位8段数码管,如果用到芯片来驱动的,电路图如何连接? -
夹俘小儿: 看你将四位数码管接在单片机的哪一组输出口 例如51单片机一般都是四组八位输i/o口P0,P1,P2,P3口 一般P0口是三态i/o是要接上拉电阻的.其他接口是不用接上拉电阻的.上拉电阻一般选用1k~4k7都可以保证各管脚输出的电流小于500mA就可...

浦江县19141904138: 利用51单片机驱动一个8段数码管,实现0—F计数 -
夹俘小儿: 设置一个数码管段位表ledtable,共16个,值就是共阴8 段(含小数点)数码管的段码. 8 段从上面一横开始顺时针依次为a、b、c、d、e、f、g(中间的横)和h(小数点),分别接在单片机IO口的0~7 ,例如要显示0,则段码为0011 1111 即0x...

浦江县19141904138: 有没人能介绍下单片机STC89C51啊 -
夹俘小儿: STC89C51可以代替AT89C51,功能更强,速度更快,寿命更长,价格更低.外型:40个引脚,双列直插DIP-40.STC89C51可以完成ISP在线编程功能,而AT89C51则不能.将AT89C51中的程序直接烧录到STC89C51中后,STC89C51就可...

浦江县19141904138: stc89c51的介绍 -
夹俘小儿: STC89C51单片机学习板是一款基于8位单片机处理芯片STC89C51RC的系统.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网