一位数码管循环显示多个数字
大 | 中 | 小
2007/05/05 00:49 wentao
view plaincopy to clipboardprint?
;**************************************************************************
; 标题: 一位数码管循环显示多个数字(汇编)
; 作者: wentao http://blog.liuwentao.net
; http://wentao.programfan.com
; 日期: 2007.2.21
; 软件: Keil A51 V8.00
; 芯片: ATX51
; 说明: 实验板实测通过,数码管为8位共阳
; 声明: 自用存档!另仅供需要的朋友参考,请勿用做不道德转载及商业用途!
;**************************************************************************
org 0000h
ajmp start
org 0030h
start: mov 30h,#0 ;30单元为循环控制兼变址
mov dptr,#table ;段码表首址
lop: mov a,30h ;30单元中取要显示的值(偏址)
movc a,@a+dptr ;取段码表中元素值
mov p0,a ;段码送入P0口
mov p2,#0xfe ;选通P2.0口的数码管
lcall d500ms ;延时500ms
inc 30h ;循环变量(偏址)自加
mov a,30h ;检测30h值是否到预定值
cjne a,#16,lop ;未显示完全部继续
ajmp start ;循环
d500ms: ;延时500ms子程序@12M(500.701ms)
mov r5, #4 ;1+[1+(1+2*255)*244+2*244]*4+2*4=500701
temp1: mov r6, #244 ;1+(1+2*255)*244+2*244
temp2: mov r7, #255 ;1+2*255
djnz r7, $
djnz r6, temp2
djnz r5, temp1
ret
table: db 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8 ;段码表
; 0 1 2 3 4 5 6 7 对应内容
db 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e
; 8 9 a b c d e f
end
view plaincopy to clipboardprint?
/**************************************************************************
* 标题: 一位数码管循环显示多个数字(C51)
* 作者: wentao http://blog.liuwentao.net
http://wentao.programfan.com
* 日期: 2007.2.19
* 软件: Keil C51 V8.02
* 芯片: ATX51
* 说明: 实验板实测通过,数码管为8位共阳
* 声明: 自用存档!另仅供需要的朋友参考,请勿用做不道德转载及商业用途!
**************************************************************************/
#include #define uchar unsigned char void delay_ms(uchar ms); // 延时毫秒@12M,ms最大值255 uchar code dis_code[16] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, //段码 表 // 0 1 2 3 4 5 6 7 //对应内 容 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; // 8 9 a b c d e f void main() { uchar i; // 循环控制变量兼偏移量 P2 = 0xfe; // 选通P2.0口数码管 while(1) { for(i = 0; i < 16; i++) { P0 = dis_code[i]; // 段码表中取值送P0口 delay_ms(250); // 延时500ms delay_ms(250); } } } void delay_ms(uchar ms) // 延时毫秒@12M,ms最大值255 { uchar i; while(ms--) for(i = 0; i < 124; i++); } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务