[DemoCode下载] 单片机用一位数码管循环显示0-9,A-f

[复制链接]
1496|1
 楼主| energyplants 发表于 2016-3-26 23:42 | 显示全部楼层 |阅读模式
  1. 功能:51单片机用一位数码管循环显示0-9,A-f ,十六位字,变换间隔为一秒
  2.                                程序:主要使用查表的方法(从程序存储器里装载数据)
  3.                               
  4.                                          ORG   00H
  5.                                START:    SETB  P2.7;打开位选锁存器
  6.                                          MOV   P0,#0FEH;载入位选信号,第一位显示
  7.                                          CLR   P2.7;关闭位选锁存器
  8.                                          MOV   R0,#0;这一句和下一句是将A清零操作(初始化)
  9.                               LOOP:      MOV   A,R0;将A清零操作
  10.                                        MOV   DPTR,#TAPE ;装载表头  
  11.                                        MOVC  A,@A+DPTR;查表取数据
  12.                                          SETB  P2.6;打开段选锁存器
  13.                                          MOV   P0,A;输出数据到P0口
  14.                                          CLR   P2.6;关段选锁存器
  15.                                          CALL  DELAY;延时一秒
  16.                                          INC   R0;将R0自加一(准备取下一表头数据)
  17.                                          CJNE  R0,#16,LOOP;比较指令,看否取到了十六位否  则继续取表数据
  18.                                          JMP   START;跳到"START开始
  19.                                  DELAY:MOV R5,#50;延时一秒子程序
  20.                                     D1:MOV R6,#100
  21.                                     D2:MOV R7,#100
  22.                                        DJNZ R7,$
  23.                                        DJNZ R6,D2
  24.                                        DJNZ R5,D1
  25.                                  
  26.                                        RET;子程序返回
  27.                                        
  28.                                  TAPE:  DB 3FH,6H,5BH,4FH;表头
  29.                                         DB 66H,6DH,7DH,7H
  30.                                         DB 7FH, 6FH,77H,7CH
  31.                                         DB 39H,5EH,79H,71H
  32.                                       
  33.                                         END ;结束


Jessicakjdsl 发表于 2016-3-27 20:27 | 显示全部楼层
用汇编语言写的,为啥不用C语言写啊,那样更容易
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

123

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部