求c51单片机点动花样流水灯怎么样编程,以汇编语言写的 流水灯 用汇编语言编程序 奇偶循环亮,每次只亮一个灯 奇数灯...

51\u5355\u7247\u673a\u4e2d\u5982\u4f55\u7528\u6c47\u7f16\u8bed\u8a00\u7f16\u5199\u6d41\u6c34\u706f

\u6d41\u6c34\u706f\u5c31\u662f51\u5355\u7247\u673a\u63a7\u5236led\u706f\u4f9d\u6b21\u70b9\u4eae\u7684\u63a7\u5236\u65b9\u5f0f\u3002\u5177\u4f53\u7a0b\u5e8f\u5982\u4e0b\uff1a
ORG 0000H;\u590d\u4f4d\u542f\u52a8AJMP START;ORG 001BH;T1\u4e2d\u65adAJMP T1INT;
;\u5b9a\u4e49\u53d8\u91cf========================YSJSEQU 30H;\u5ef6\u65f6\u8ba1\u6570\u5668LEDEQU 31H;LED\u63a7\u5236\u7f13\u51b2\u5668
;\u4e3b\u7a0b\u5e8f==========================START:MOV LED,#0FEH;\u521d\u59cb\u5316\u6570\u636eMOV YSJS,#0;MOV TMOD,#10H;\u5b9a\u65f6\u56681\u5de5\u4f5c\u4e8e\u65b9\u5f0f1,16\u4f4d\u5b9a\u65f6\u5668MOV TL1,#0B0H;\u8bbe\u7f6e\u5b9a\u65f6\u521d\u503cMOV TH1,#3CH;\u5b9a\u65f6\u65f6\u95f4=50mSSETB ET1;\u4f7f\u80fd\u5b9a\u65f6\u56681\u4e2d\u65adSETB TR1;\u542f\u52a8\u5b9a\u65f6\u56681SETB EA;\u5f00\u603b\u4e2d\u65ad
MOV P1,LED;\u521d\u59cb\u5316\u6d41\u6c34\u706fLOOP:JMP LOOP;\u5faa\u73af\u7b49\u5f85\u4e2d\u65adT1INT:PUSH PSW;\u5b9a\u65f6\u56681\u4e2d\u65ad\u7a0b\u5e8fPUSH ACC;\u4fdd\u62a4\u73b0\u573aMOV TH1,#3CH;\u5b9a\u65f6\u65f6\u95f4=50mSMOV TL1,#0B0H;INC YSJS;
PUSH ACC;\u4fdd\u62a4ACCMOV A,YSJI;CJNE A,#2,QT1;50mS*2=100mSMOV P1,LED;MOV A,LED;RL A;\u7d2f\u52a0\u5668A\u7684\u503c\u5faa\u73af\u5de6\u79fb1\u4f4dMOV LED,A;MOV YSJS,#0;QT1:POP ACC;\u6062\u590d\u73b0\u573aPOP PSW;RETI;\u8fd4\u56de\u4e3b\u7a0b\u5e8fEND;\u6c47\u7f16\u7a0b\u5e8f\u7ed3\u675f
\u6269\u5c55\u8d44\u6599\uff1a
\u5b9e\u73b0\u6d41\u6c34\u706f\u7684\u4e09\u4e2a\u65b9\u6cd5\uff1a
\u7b2c\u4e00\u79cd\uff0c\u603b\u7ebf\u65b9\u6cd5\u5b9e\u73b0\u6d41\u6c34\u706f\u3002\u8fd9\u662f\u4e00\u79cd\u6bd4\u8f83\u7b28\u4f46\u53c8\u6700\u6613\u7406\u89e3\u7684\u65b9\u6cd5\uff0c\u91c7\u7528\u987a\u5e8f\u7a0b\u5e8f\u7ed3\u6784\uff0c\u7528\u4f4d\u6307\u4ee4\u63a7\u5236P1\u53e3\u7684\u6bcf\u4e00\u4e2a\u4f4d\u8f93\u51fa\u9ad8\u4f4e\u7535\u5e73\uff0c\u52a0\u4e0a\u5ef6\u65f6\u51fd\u6570\uff0c\u5373\u53ef\u63a7\u5236\u6bcf\u4e2aLED\u706f\u7684\u4eae\u706d\u3002
\u7b2c\u4e8c\u79cd\uff0c\u79fb\u4f4d\u65b9\u6cd5\u5b9e\u73b0\u6d41\u6c34\u706f\u91c7\u7528\u5faa\u73af\u7a0b\u5e8f\u7ed3\u6784\u7f16\u7a0b\u3002\u9996\u5148\u5728\u7a0b\u5e8f\u5f00\u59cb\u7ed9P1.0\u53e3\u9001\u4e00\u4e2a\u4f4e\u7535\u5e73\uff0c\u5176\u5b83\u4f4d\u4e3a\u9ad8\u3002\u7136\u540e\u5ef6\u65f6\u4e00\u6bb5\u65f6\u95f4\u518d\u8ba9\u4f4e\u7535\u5e73\u5f80\u9ad8\u4f4d\u79fb\u52a8\uff0c\u8fd9\u6837\u5c31\u5b9e\u73b0\u201c\u6d41\u6c34\u201d\u7684\u6548\u679c\u4e86\u3002
\u7b2c\u4e09\u79cd\uff0c\u5e93\u51fd\u6570\u5b9e\u73b0\u6d41\u6c34\u706f\u3002\u5229\u7528\u5de6\u79fb\u51fd\u6570\u8fdb\u884c\u3002

\u662f\u5355\u7247\u673a\u8fd8\u662f8086?\u901a\u8fc7\u54ea\u4e2a\u53e3\u63a7\u5236,\u662f\u4f4e\u7535\u5e73\u706f\u4eae\u8fd8\u662f\u9ad8\u7535\u5e73\u706f\u4eae?

;亮灯控制程序;
;************;

ORG 0000H
LJMP START
org 0030h
;************;
; 主 程 序 ;
;************;
START:
MOV P3, #0FFH
JNB P0.7,FUN0 ; 检测按键
JNB P0.4,FUN1
JNB P0.5,FUN2
JNB P0.6,FUN3 ;关闭按纽
AJMP START
FUN0: LCALL DL10MS ;消岸抖动
JB P0.7,START
WAITL0: JNB P0.7,WAITL0 ;等待键释放
FUN01: LCALL FUN00
AJMP START
FUN1: LCALL DL10MS ;消岸抖动
JB P0.4,START
WAITL1: JNB P3.3,WAITL1 ;等待键释放
FUN10: LCALL FUN11
AJMP START
FUN2: LCALL DL10MS ;消岸抖动
JB P0.5,START
WAITL2: JNB P0.5,WAITL2 ;等待键释放
FUN20: LCALL FUN22
AJMP START

FUN3: LCALL DL10MS ;消岸抖动
JB P0.6,START
WAITL3: JNB P0.6,WAITL3 ;等待键释放
MOV P2,#0FFH ;关显示
LJMP START

FUN00: MOV A,#0FEH ;左移子程序
FUN000: MOV P2,A
LCALL DL05S
JNB ACC.7,OUT ;检测是否结束
RL A
AJMP FUN000
OUT: RET

FUN11: MOV A,#07FH ;右移子程序
FUN111: MOV P2,A
LCALL DL05S
JNB ACC.0,OUT ;检测是否结束
RR A
AJMP FUN111

FUN22:MOV A,#0AAH ;间隔显示子程序
MOV P2,A
LCALL DL30S
CPL A
MOV P2,A
LCALL DL30S
RET

;************;
; 延时程序 ;
;************;
DL512:MOV R2,#0FFH ;延时500US
LOOP1: DJNZ R2,LOOP1
RET

DL10MS:MOV R3,#14H ;延时10MS
LOOP2: LCALL DL512
DJNZ R3,LOOP2
RET

DL05S:MOV R4,#0AH ;延时100MS
LOOP3: LCALL DL10MS
DJNZ R4,LOOP3
RET

DL30S:MOV R5,#03H ;延时300MS.
LOOP4:LCALL DL05S
DJNZ R5,LOOP4
RET

end

端口的寄存器,赋予一个初值。每位对应一路灯。
然后做移位命令。左移右移都可以,不就可以流水了。

写好花样,查表

  • 姹備竴閬C51鍗曠墖鏈鐨娴佹按鐏缂栫▼,鍏蜂綋绋嬪簭瑕佹眰濡備笅銆
    绛旓細include<reg51.h>#define uchar unsigned charuchar led,led1;void delay(uchar a){uchar i;while(a--)for(i=0;i<120;i++);}main(){uchar i,j; led=0xfe; for(i=0;i<8;i++) { led1&=led; for(j=0;j<7-i;j++) { P0=led&led1; led=led<<1...
  • 姹侰51鍗曠墖鏈 鎸夐敭鍒囨崲涓夌鏍峰紡娴佹按鐏浠g爜
    绛旓細include<reg51.h>#include<intrins.h>#define uchar unsigned charuchar led,tm,key;sbit K=P1^0;void t0isr() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;tm++;if(tm>=10) { tm=0; switch(key) { case 0:led=_crol_(led,1);P0=led;break; cas...
  • 姹備竴c51鍗曠墖鏈,8浣娴佹按鐏绋嬪簭
    绛旓細涓嬪垪绋嬪簭璋冭瘯鎴愬姛銆備娇鐢ㄦ櫠鎸负12M銆//杞欢寤舵椂锛屼娇P1鍙e鎺ョ殑8涓彂鍏変簩鏋佺锛屼互姣忕1浣嶇殑閫熷害锛岃疆娴佸彂鍏夈//鍙戝厜椤哄簭锛0123锛1234锛2345锛3456锛4567锛5670锛6701锛7012銆傚惊鐜//--- include<reg52.h> include<intrins.h> unsigned char a;void main(){ unsigned char i, j, k;a = 0x0f...
  • 姹備竴涓51鍗曠墖鏈鐨娴佹按鐏(浠1-8鐨...)鐨勬眹缂栫▼搴???
    绛旓細鍝堝搱锛屽緢绠鍗曪紝ORG 00H MAIN:MOV P3,#00H SETB P3.2 CALL DELY CLR P3.2 SETB P3.3 CALL DELY CLR P3.3 SETB P3.4 CALL DELY ...鎸夌収涓婇潰鐪佺暐锛屼綘鑷繁琛ュ叏銆侫JMP MAIN DELY:寤舵椂鐪佺暐銆侲ND 杩欑鏂规硶姣旇緝楹荤儲銆備絾瀹规槗鐞嗚В锛屼綘鍙互鐢ㄥ惊鐜乏绉伙紝鎴栬呮煡琛...
  • 姹備竴娴佹按鐏鐢佃矾鍙婄▼搴忋51鍗曠墖鏈鐨勩傝杈惧埌浠ヤ笅鏁堟灉銆
    绛旓細include<reg51.h>#define uchar unsigned char uchar times=0,num=0;uchar ledtab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f};void t0isr() interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-50000)%256;times++;if(times>=40){ times...
  • 51鍗曠墖鏈 8鐩鑺辨牱娴佹按鐏
    绛旓細ORG0000H AJMPMAIN ORG0030H MAIN:MOVR1,#7;MOVA,#0FCH LOOP1:MOVP1,A RLA CALLDELAY DJNZR1,LOOP1 MOVP1,00H CALLDELAY CALLDELAY MOVR1,#7;MOVA,#3FH LOOP2:MOVP1,A CALLDELAY RRA DJNZR1,LOOP2 MOVP1,#00H CALLDELAY SJMP MAIN DELAY:MOVR4,#4 MOVR5,#200 MOVR6,#248 DJNZR6...
  • 51鍗曠墖鏈c璇█缂栧啓涓涓娴佹按鐏绋嬪簭,瑕佹眰濡備笅(涓嶈兘鐢ㄦ暟缁,8涓猯ed鎸囩ず鐏...
    绛旓細//娴佹按鐏#include "reg52.h"#define LED_PORT P3void delay(unsigned char time){ unsigned char i,j,k; for(i=0;i<time;i++) { for(j=0;j<200;j++) { for(k=0;k<200;k++); } }}void main(){ unsigned char i,halfbyteh=0x80,halfbytel=0x01; while(1) { ...
  • 51鍗曠墖鏈烘祦姘寸伅 鍗曠墖鏈 娴佹按鐏殑闂 C51绋嬪簭
    绛旓細while(1){ a = 0xfe;for(j=0;j<8;j++) //澶栧惊鐜8娆 { //--- for(i=0;i<8-j;i++) //鍐呭惊鐜8銆7銆6...0娆 { P1=a; //绗竴娆★紝鍙湁鍙宠竟1涓彂鍏 delay(200);a=_crol_(a,1); //宸︾Щ涓浣 } //浠ヤ笂鍗曚釜LED鍙戝厜锛岀Щ浣8銆7銆6...娆 //---...
  • ...璁捐:22璺娴佹按鐏,瑕佹眰鑺辨牱瓒婂瓒婂ソ銆傜敤c51鍗曠墖鏈鐨凱0.P1.P2鍙...
    绛旓細include<reg52.h> unsigned char code DM[]={0x00,0xff,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xfe,0xfc,0xf8,0xf0,0x0f,0xe0,0xc0,0x80,0x7e,0xbd,0xdb,0xe7};void delay(unsigned int a){ while(a--);} void main(){ unsigned char i;for(i=0;i<21;i++){ P1=DM...
  • 51鍗曠墖鏈12灞娴佹按鐏鐨勭▼搴忔庝箞璁捐?
    绛旓細鎴戝氨鍐欎釜椤烘椂閽堜寒鐨勭▼搴忥紙璇︾粏瑙i噴锛屽叾瀹冪殑浣犲氨鑷繁鍐欙級锛屽叏鎵嬫墦鐨勫摝锛岀敤鐨勬槸姹囩紪锛屾垜姘村钩涔熶笉鎬庝箞楂橈紝浣嗘槸浣犵殑闂涔熸槸鍏ラ棬绾х殑锛岃繕鏈夋垜鍋囪鏄珮鐢典綅浜紝涓鍏12鐏粠P0.0寮濮嬪埌P1.4(P1.4鍜孭0.0鐩告帴)銆侽RG 4000HSTART:CLR P0CLR P1 /P0 P1娓呴浂MOV P0,#80H/1鐏寒LCALL DEL/璋冪敤寤舵椂...
  • 扩展阅读:流水灯51 ... 流水灯isis图 ... 51单片机16花样流水灯 ... 如何用c51做一个流水灯 ... c51流水灯程序 ... 52流水灯单片机程序 ... 流水灯1到8依次亮程序 ... c51流水灯代码 ... 51单片机花样流水灯设计 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网