51单片机系列之二:数码管

[复制链接]
2234|1
 楼主| 十年砍柴 发表于 2010-8-20 19:45 | 显示全部楼层 |阅读模式
51单片机系列之二:数码管
一、设计任务
1、如图1,在AT89C51P0端口的8个引脚接上一个数码管,利用单片机让数码管显示一个静态的数“6
2、如图2,在AT89C51P0端口的8个引脚接上一个数码管,利用单片机让数码管连续显示0~~9数字,时间间隔0.2秒。
3、如图3,做数码管的动态显示,P0端口的8个引脚接数码管数据引脚,P2.0~~P2.45个数码管的位选引脚。让数码管依次循环显示“8 9 C 5 1, 时间间隔0.2秒。
二、电路原理图

         1:数码管显示一个静态的数“6

      2——1:单片机让数码管连续显示0~~9数字的“3

      2——2:单片机让数码管连续显示0~~9数字的“7

       3——1:数码管动态显示“8

      3——2:数码管动态显示“C
三、设计程序

//
数码管显示一个静态的数“6(设计1

MAIN:CLR
P0.0


SETB P0.1


CLR
P0.2


CLR
P0.3


CLR
P0.4


CLR
P0.5


CLR
P0.6


SETB P0.7


AJMP MAIN

END


//单片机让数码管连续显示0~~9数字,时间间隔0.2秒。(设计2


ORG 00H

START:MOV DPTR,#TABLE

S1:MOV A,00H


MOVC A,@A+DPTR


MOV P0,A


LCALL DELAY


INC DPTR


LJMP S1

DELAY:MOV R5,#20

D2: MOV R6,#20


D1: MOV R7,#250


DJNZ R7,$


DJNZ R6,D1


DJNZ R5,D2


RET

TABLE:DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH


END


//
数码管的动态循环显示“8 9 C 5 1(设计3)

MAIN:MOV P0,#80H
;显示数字8


CLR P2.0


ACALL DELAY1


MOV P0,#0FFH



MOV P2,#0FFH



MOV P0,#90H
;显示数字9


CLR P2.1


ACALL DELAY1


MOV P0,#0FFH


MOV P2,#0FFH




MOV P0,#0C6H
;显示数字C


CLR P2.2


ACALL DELAY1


MOV P0,#0FFH


MOV P2,#0FFH



MOV P0,#92H
;显示数字5


CLR P2.3


ACALL DELAY1


MOV P0,#0FFH


MOV P2,#0FFH



MOV P0,#0F9H
;显示数字1


CLR P2.4


ACALL DELAY1


MOV P0,#0FFH


MOV P2,#0FFH


AJMP MAIN
;循环

DELAY1:MOV R1,10

L1:MOV R2,100


DJNZ R2,$


DJNZ R1,L1


RET

END
海南男人U2 发表于 2010-8-22 20:02 | 显示全部楼层
怎么用的是汇编?看不太懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:岂能尽如人意,但求无愧于心!

0

主题

11

帖子

1

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