标题:
LED飞翔的鸟电路设计与仿真 8*8点阵驱动源程序
[打印本页]
作者:
扣扣扣了
时间:
2017-4-26 13:58
标题:
LED飞翔的鸟电路设计与仿真 8*8点阵驱动源程序
大家可以参照一下LED飞翔的鸟电路设计仿真原理图如下:
0.png
(30.78 KB, 下载次数: 90)
下载附件
2017-4-26 21:34 上传
单片机源程序:
;*********16X16图形跳变程序设计************
TIM EQU 30H ;定议列扫描总数缓冲区
CNTA EQU 31H ;定议一屏列扫描缓冲区
CNTB EQU 32H ;定仪下一屏缓冲区
ORG 00H
LJMP START
ORG 0BH ;T0中断入口地址
LJMP T0X
ORG 0100H
;**************初始化部分*************
START:
MOV TIM,#00H ;送初值
MOV CNTA,#00H
MOV CNTB,#00H
MOV TMOD,#01H ;T0定时方式1
MOV TH0,#253;(65536-4000)/256
MOV TL0,#96
SETB TR0 ;起动T0
SETB ET0 ;充许T0中断
SETB EA ;充许总中断
SJMP $
;**************显示部分***************
T0X:
MOV TH0,#251;//(65536-4000)/256
MOV TL0,#50
MOV A,CNTA
MOV P1,A ;送列数据(第一次:0000 0000)
MOV DPTR,#DIGIT ;//定义点阵上半部行首表地址
MOV A,CNTB ;选择下一屏数据
MOV B,#16 ;//
MUL AB ;低8位在A中高8位在B中.目的是从哪里开始选择
;下一屏数据(0~15、16~31、….)
;第一屏CNTB=0,A=0
;第二屏CNTB=1,A=16
ADD A,CNTA
MOV 33H,A
MOVC A,@A+DPTR ;送上部分行型码数据
MOV P0,A
MOV A,33H
M0: MOV DPTR,#TAB
MOVC A,@A+DPTR ;送下部分行型码数据
MOV P2,A
INC CNTA ;下一列
MOV A,CNTA
CJNE A,#16,NEX ;不到16列则续继
MOV CNTA,#00H
NEXT:
INC TIM ;TIM+1,显示这一屏开始计数
MOV A,TIM
CJNE A,#10,NEX ;一屏态显示不到4次则续继,屏态变化速度
MOV TIM,#00H
;************开始下一屏显示*******
INC CNTB ;下一屏开始
MOV A,CNTB
CJNE A,#3,NEX ;共显示4种屏态了吗?
MOV CNTB,#00H ; 不断重复这5种屏态
NEX:
RETI
DIGIT: ;送到P0口
DB 1EH,64H,88H,10H,20H,60H,70H,78H
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
0.png
(54.89 KB, 下载次数: 68)
下载附件
2017-4-26 21:34 上传
下载:
LED飞翔的鸟电路设计与仿真.rar
(57.74 KB, 下载次数: 13)
2017-4-26 13:58 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
jamyg
时间:
2017-4-27 08:48
值得学习,感谢分享
作者:
飞逝的岁月
时间:
2017-6-21 11:07
值得学习,很有帮助,谢谢
作者:
飞逝的岁月
时间:
2017-6-21 11:26
TIM EQU 30H
CNTA EQU 31H
CNTB EQU 32H
ORG 00H
LJMP START
ORG 0BH
LJMP T0X
ORG 0100H
START: MOV TIM,#00H
MOV CNTA,#00H
MOV CNTB,#00H
MOV TMOD,#01H
MOV TH0,#253
MOV TL0,#96
SETB TR0
SETB ET0
SETB EA
SJMP $
T0X: MOV TH0,#251
MOV TL0, #50
MOV A,CNTA
MOV P1,A
MOV DPTR,#DIGIT
MOV A,CNTB
MOV B,#16
MUL AB
ADD A,CNTA
MOV 33H,A
MOVC A,@A+DPTR
MOV P0,A
MOV A,33H
M0: MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
INC CNTA
MOV A,CNTA
CJNE A,#16, NEX
MOV CNTA,#00H
NEXT: INC TIM
MOV A,TIM
CJNE A,#10,NEX
MOV TIM , #00H
INC CNTB
MOV A,CNTB
CJNE A,#3,NEX
MOV CNTB,#00H
NEX: RETI
DIGIT: DB 1EH,64H,88H,10H,20H,60H,70H,78H
DB 7CH,0FEH,60H,90H,0B0H,90H,60H,40H
DB 00H,00H,00H,00H,80H,80H,40H,40H
DB 0C0H,40H,60H,90H,0B0H,90H,60H,40H
DB 00H,00H,00H,00H,00H,00H,80H,0C0H
DB 0C0H,0C0H,60H,90H,0B0H,90H,60H,40H
TAB: DB 40H,60H,60H,31H,2AH,24H,14H,14H
DB 12H,09H,04H,02H,01H,00H,00H,00H
DB 44H,66H,67H,37H,2FH,24H,12H,11H
DB 10H,08H,04H,02H,01H,00H,00H,00H
DB 40H,60H,60H,30H,28H,2FH,1FH,3FH
DB 7FH,0FFH,04H,06H,09H,11H,3EH,00H
END
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1