⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a5_1.asm

📁 单片机汇编例程学习,大量的汇编例程
💻 ASM
字号:
;///////////////////////////////////////////
;本程序源代码由单片机培训网提供.
;单片机培训网,让更多人学习单片机更容易.
;第一网址----www.mcuedu.com
;第二网址----http://51_train.nease.net
;创办人------刘永忠
;热线电话----(0755)27529998
;email-------aa815@163.com
;程序难易等级--------稍难
;利用UART的MODE0做串行发送
;将8051的RXD,TXD接74164,扩充8个输出口
;利用表格的方式,建立一组数据,利用UART发送至8BIT串入并出的IC 74164
;这组数据使74164的8个LED左移2次,右移2次,闪烁2次
;///////////////////////////////////////////
	org		00h					   ;起始地址
	mov	    scon,#00000000b        ;设定uart的工作方式modeo
start: 
	mov     dptr,#table            ;数据指针寄存器指到table的开头
loop:	  
	clr     a                      ;清除acc
	movc    a,@a+dptr              ;到table取数据
	cjne    a,#03,al               ;取到结束码03h吗?不是则跳到al
	jmp     start                  ;是跳到start
al: 
    ;cpl    a                      ;将取到数据反相
    mov     30h,a                  ;存入(30h)地址
    mov     sbuf,30h               ;将(30h)的值存入sbuf
loop1:  
	jbc     ti,loop2               ;检测ti=1? 是则跳到loop2 
    jmp     loop1                  ;不是再检测
loop2:
    call    delay                  ;延时0.2秒
    inc     dptr                   ;数据指针加1
    jmp     loop
delay:  
	mov     r5,#20                 ;200毫秒
d1:   
	mov     r6,#20                 ;10毫秒
d2:  
	mov     r7,#248
    djnz    r7,$
    djnz    r6,d2
    djnz    r5,d1
    ret
table:  db  01h,02h,04h,08h        ;左移
        db  10h,20h,40h,80h
        db  01h,02h,04h,08h        ;左移 
        db  10h,20h,40h,80h
        db  80h,40h,20h,10h        ;右移
        db  08h,04h,02h,01h
        db  80h,40h,20h,10h        ;右移
        db  08h,04h,02h,01h
        db  00h,0ffh,00h,0ffh      ;闪烁
		db	03h                    ;结束码
		end
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -