求一个单片机程序,要八个led灯依次点亮,同时一个数码管依次显示1-8 延时一秒 最好是汇编语言的

C语言也可以

     ORG   0000H
     JMP   BEGIN
  ORG 000BH
  LJMP T0INT
     ORG 0030H
;---------------------------------------
TABLE:      ; 共阴极数码管显示代码表
          DB    3FH,06H,5BH,4FH,66H ;01234
          DB    6DH,7DH,07H,7FH,6fh ;56789
;---------------------------------------
BEGIN: 
  MOV SP,#5FH
  MOV TMOD,#01H
  MOV TH0,#3CH
  MOV TL0,#0B0H
  SETB TR0
  SETB ET0
  SETB EA
  MOV R2,#20
  MOV P1,#0FEH
  MOV DPTR,#TABLE
  MOV A,#1
  MOVC A,@A+DPTR
  MOV P0,A
  MOV R3,#1
  SJMP $
;---------------------------------------
T0INT:
  CLR TR0
  MOV TH0,#3CH
  MOV TL0,#0B0H
  SETB TR0
  DJNZ R2,T0INTE
  MOV R2,#20
  INC R3
  MOV A,R3
  CJNE A,#9,T0INT1
  MOV A,#1
T0INT1:
  MOV DPTR,#TABLE
  MOVC A,@A+DPTR
  MOV P0,A
T0INTE:
  RETI
        END 

追问

你好 请问一下共阳极的数码管是不是只用把显示代码改了,下面的东西还用改么? 另外 晶振是11.0592的

追答

不用改,只需要将段码取反就可以了。

追问

程序下载到开发版上只有一个LED灯长亮 而且我不会取反代码 也不知道插到哪。。 这个程序是不是就只让一个LED灯亮? 仿真那个图片也就是一个灯在亮 没有循环

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-06-17
这个很好做吧 仿真成功就可以了么追问

不会写程序... 有程序就好 我自己板子测试

追答

联系我呗1812619830

追问

加你了 你还没有同意

...同时一个数码管依次显示1-8 延时一秒 最好是汇编语言的
ORG 0000H JMP BEGIN ORG 000BH LJMP T0INT ORG 0030H;---TABLE: ; 共阴极数码管显示代码表 DB 3FH,06H,5BH,4FH,66H ;01234 DB 6DH,7DH,07H,7FH,6fh ;56789;---BEGIN: MOV SP,#5FH MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SET...

单片机的跑马灯C程序如何编写八个LED灯依次点亮而且速度渐变的代码_百 ...
\/\/P1外接8个LED,低电平发光.\/\/下列程序在PROTEUS中仿真成功 include<reg52.h> \/\/--- void delay_ms(unsigned int s){ unsigned int x;for(s; s > 0; s--) { x = 98; while(x--);} } \/\/--- void main(){ char i, j;while(1) { for(j = 0; j < 8; j+...

用C语言编写一个在八个数码管上轮流显示1-8的程序
2013-06-23 用STC89C51单片机键盘输入任意一个8位的数字,然后在两... 3 2016-07-02 求一个单片机程序,要八个led灯依次点亮,同时一个数码管依次... 2 2010-06-16 8个数码管的显示程序(C语言版)?迫切需要,谢谢!更多类似问题 > c语言的相关知识2011-03-28 c语言数码管 1 2012-04-29 C语言菜单程序...

实现单片机信号灯1-8依次循环点亮的程序怎么写
电路很简单八个led灯接在p1口.运行后看到的效果是 从第一个灯开始 随着时间变化 二进制数的递减 所有的灯都会依次的点亮,当全部的灯都被点亮后再重新开始这个过程 一直循环下去 单片机是不是很有趣?下面是c语言程序源码 include <reg51.h> void delay100ms(); \/\/如果函数是在主函数后面定义...

单片机编程: P1口8个灯从低位到高位依次点亮(流水灯),遇到外部中断1,8...
MOV A,#0FEHLOOP: MOV P1,A RL A LCALL DELAY SJMP LOOPEXT1: MOV P1,#00H MOV R7,#10DD: LCALL DELAY DJNZ R7,DD RETIDELAY: MOV R2,#200DLY: MOV R3,#250 DJNZ R3,$ DJNZ R2,DLY RET END ...

求大神编程一个51单片机的8灯点亮程序。
点灯的方法是由硬件连接方式决定的,以P1囗的8条引脚连接8只LED为例,8只LED共阳极连至电源,则P1口某位为0时,对应LED点亮,为1时LED熄灭。例如熄灭全部LED操作为 P1=0xFF,点亮第一只LED操作为 P1=0xFE,同时点亮第一,二只LED操作为 P1=0xFC,其它可类推。

...有8个LED灯,LED1~LED8 灯按顺序点亮,每个等亮一秒转到下个灯,一直循...
这个流水灯是很普通的一种花样,假设LED接P1口,程序如下:ORG 0000H LJMP MAIN 0RG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#HIGH(65536-50000) ;50毫秒定时 MOV TL0,#LOW(65536-50000)SETB TR0 SETB ET0 SETB EA MOV A,#0FEH MOV P1,A MOV R2,#20 SJMP T0...

单片机8个流水灯依次亮的c程序流程图
流程:1.点亮1个灯;2.延时100毫秒 3.灭第一个灯,点亮第二个灯;4延时100毫秒;。。。依次类推,直到灭第8个灯,再返回到1,重新开始。

求一个单片机程序 8个LED灯依次点亮 不要跑马灯 就是后一个点亮了...
include<reg52.h> uchar code table[]={ 0xfe,0xfd,0xfb,0xf7,0xf0,0xe0,0xd0,0xb0,0x70,0x00 };void delay(z){ uchar i,j;for(i=0;i<z;i++)for(j=0;j<110;j++);} void main(){ uchar i=0;while(1){ if(i==8)i=0;P1=table[i];i++;delay(100);} 试试看不...

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) \/\/8个流水灯逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp<<=1;} temp=0x80;for(i=0;i<8;i++) \/\/8个流水灯反向逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp>>=1;} temp...

相似回答