fzhyw 发表于 2026-4-14 08:17:05

8H8K64U-LQFP64制作一个16X16点阵显示文字

https://v.youku.com/v_show/id_XNjUyMjY1MTM0NA==.html?playMode=pugv

fzhyw 发表于 2026-4-14 08:22:28

电路原理图

fzhyw 发表于 2026-4-14 08:24:49

;汇编源程序
;led16X16点阵
;
;
                        P_SW1       DATA    0A2H                        ;端口切换寄存器地址命名
                        P_SW2       DATA    0BAH                        ;端口切换寄存器地址命名

                        P0M1      DATA    093H                        ;端口模式寄存器地址命名
                        P0M0      DATA    094H
                        P1M1      DATA    091H
                        P1M0      DATA    092H
                        P2M1      DATA    095H
                        P2M0      DATA    096H
                        P3M1      DATA    0B1H
                        P3M0      DATA    0B2H
                        P4M1      DATA    0B3H
                        P4M0      DATA    0B4H
                        P5M1      DATA    0C9H
                        P5M0      DATA    0CAH
                        P6M1                DATA        0CBH
                        P6M0                DATA        0CCH
                        P7M1                DATA        0E1H
                        P7M0                DATA        0E2H

                        P4                        DATA        0C0H                        ;标准51单片机扩充端口命名
                        P5                        DATA        0C8H
                        P6                        DATA        0E8H
                        P7                        DATA         0F8H

                        T3L                        DATA        0D5H                ;P定时器T3初值寄存器
                        T3H                        DATA        0D4H
                        T4L                        DATA        0D3H                        ;P定时器T4初值寄存器
                        T4H                        DATA        0D2H
                        T4T3M                DATA        0D1H                        ;t4/3控制寄存器
                        IE2                        DATA        0AFH                        ;中断允许寄存器2

                        AUXR      DATA    8EH                                ;辅助寄存器,用于选择串口1的波特率发生定时器(T0、T1),以及工作方式1T、12T,扩展内存使能
                        ;B1=1时内部扩展RAM被禁用,它还控制着T0T1T2三个定时/计数器的工作1T还是12T,以及T2的运行,b5=1确定串口1波特率加6倍
                        ;B0=1,串口1的波特率发生器选择T2,B0=0选择T1,b7=1是设置T0工作在1T模式,B6=1设置T1的1T模式,B2=1是T2的1T模式
                        T2H         DATA    0D6H                        ;T2初值寄存器
                        T2L         DATA    0D7H
                               
                        EADC                BIT                IE.5                        ;ADC转换中断允许位
                               
                        ORG                0000H
                        JMP                MAIN
                       
                        ORG                0003H                        ;INT0中断向量
                        ORG                000BH                        ;TIMER0中断向量
                        ORG                0013H                        ;INT1中断向量
                        ORG                001BH                        ;TIMER1中断向量       
                        ORG                0023H                        ;UART1中断向量
                        ORG                002BH                        ;ADC中断向量
                        ORG                0033H                        ;LVD中断向量
                        ORG                003BH                        ;PCA中断向量
                        ORG                0043H                        ;UART2中断向量
                        ORG                004BH                        ;SPI中断向量
                        ORG                0053H                        ;INT2中断向量
                        ORG                005BH                        ;INT3中断向量
                               
                        ORG                0063H                        ;TIMER2中断向量
                        JMP                TM2_ISR
                       
                        ORG                0083H                        ;INT4中断向量
                        ORG                008BH                        ;UART3中断向量
                        ORG                0093H                        ;UART4中断向量
                        ORG                009BH                        ;TIMER3中断向量
                        ORG                00A3H                        ;TIMER4中断向量
                        ORG                00ABH                        ;CMP中断向量       
                        ORG                00C3H                        ;I2C中断向量
                        ORG                00CBH                        ;USB中断向量
                        ORG                00D3H                        ;PWMA中断向量
                        ORG                00DBH                        ;PWMB中断向量
                        ORG                011BH                        ;TKSU中断向量
                        ORG                0123H                        ;RTC中断向量
                        ORG                012BH                        ;P0中断向量
                        ORG                0133H                        ;P1中断向量       
                        ORG                013BH                        ;P2中断向量
                        ORG                0143H                        ;P3中断向量
                        ORG                014BH                        ;P4中断向量
                        ORG                0153H                        ;P5中断向量       
                        ORG                015BH                        ;P6中断向量
                        ORG                0163H                        ;P7中断向量
                        ORG                017BH                        ;DMA_M2M中断向量
                        ORG                0183H                        ;DMA_ADC中断向量
                        ORG                018BH                        ;DMA_SPI中断向量
                        ORG                0193H                        ;DMA_UR1T中断向量
                        ORG                019BH                        ;DMA_UR1R中断向量       
                        ORG                01A3H                        ;DMA_UR2T中断向量
                        ORG                01ABH                        ;DMA_UR2R中断向量
                        ORG                01B3H                        ;DMA_UR3T中断向量
                        ORG                01BBH                        ;DMA_UR3R中断向量
                        ORG                01C3H                        ;DMA_UR4T中断向量
                        ORG                01CBH                        ;DMA_UR4R中断向量
                        ORG                01D3H                        ;DMA_LCM中断向量
                        ORG                01DBH                        ;LCM中断向量
                        ORG                021BH                        ;TIMER11中断向量
                               
;--------------------------------------------------------------------
;内存分配及变量定义
;16X16点阵,共256个点,每一位对应一个点,共需要32个字节,从30h到4fh                       
                        XIAN_SHI_MEM                EQU        30H

                        JISHI                                EQU                50H                ;计时变量,计时单位为T2的计时周期
                       
                        ORG                0230H
MAIN:                ;主程序开始       
                        ;端口模式配置
                        MOV   P0M0, #00H
            MOV   P0M1, #00H
                        MOV   P1M0, #00H
            MOV   P1M1, #00H
                        MOV   P2M0, #0ffH
            MOV   P2M1, #00H
            MOV   P3M0, #00H
            MOV   P3M1, #00H
            MOV   P4M0, #0ffH       
                        MOV   P4M1, #00H
            MOV   P5M0, #00H
            MOV   P5M1, #00H
                        MOV         P6M0, #0ffH
                        MOV                P6M1, #00H
                        MOV         P7M0, #0ffH
                        MOV                P7M1, #00H
                       
                        MOV                SP,#7FH
                       
                        LCALL        TM2_INIT
MAIN_LOOP:                       
                        MOV                DPTR,#HAN_ZI
                        MOV                R6,#11                        ;显示汉字个数,用于控制循环显示
HUAN_ZI:
                        MOV                R0,#XIAN_SHI_MEM
                        MOV                R7,#32
DATA_LP:
                        CLR                A
                        MOVC        A,@A+DPTR
                        MOV                @R0,A
                        INC                DPTR
                        INC                R0
                        DJNZ        R7,DATA_LP
                        MOV                R7,#32
DELAY:
                        CJNE        R5,#255,$
                        INC                R4
                        CLR                A
                        MOV                R5,A
                        CJNE        R4,#6,DELAY
                        CLR                A
                        MOV                R4,A
                        DJNZ        R6,HUAN_ZI
                        JMP                MAIN_LOOP
;-----------------主程序结束------------------------------------------------

;定时器T2的初始化子程序
TM2_INIT:                                ;40微秒@11.0592MHz
                        PUSH        PSW
                        MOV                PSW,#08H                ;使用01组通用寄存器
                        MOV                R4,PSW                        ;用R4保存PSW值,以便于在中断子程序中应用
                        MOV                P6,#0FFH                       
                        MOV                P7,#0FFH
                        MOV         R0,#XIAN_SHI_MEM        ;取得显示内存首地址

                        MOV                R2,#0FFH                ;R2中保存当前扫描的行
                        MOV                R3,#0FFH
                       
                        ORL                AUXR,#04H                ;定时器时钟1T模式,B2=1为1T模式,B2=0为12T模式
                        MOV                T2L,#00H                ;设置定时初始值
                        MOV                T2H,#0F0H                ;设置定时初始值
                        ORL                AUXR,#10H                ;定时器2开始计时,B4=1,为T2R
                        ORL                IE2,#04H                ;允许TIMER2中断
                        SETB        EA                                ;开放总中断
                        POP                PSW
                        RET
                       
;-----------定时单行扫描16X16点阵----------------
TM2_ISR:
;-------让定时时间更长,以便观察扫描过程------------;
;                        INC                R5                                                                ;
;                        CJNE        R5,#6,JIXU                                                ;
;                        MOV                R5,#0                                                        ;
;                        JMP                JIXU2                                                        ;
;JIXU:                                                                                                ;
;                        RETI                                                                        ;
;JIXU2:                                                                                                ;
;---------------------------------------------------;
                        INC         R5                ;额外的计数
                        PUSH        ACC
                        PUSH        PSW
                        MOV                PSW,#08H        ;使用01组通用寄存器
                        MOV                PSW,R4
                        ;取得一行数据进行扫描,前8行由p6口扫描
                        MOV                A,@R0               
                        MOV                P2,A
                       
                        INC                R0
                        MOV                A,@R0
                        MOV                P4,A
                        INC                R0
                       
                        MOV                A,R2
                        RLC                A
                        MOV                R2,A
                        MOV   A,R3
                        RLC                A
                        MOV                R3,A        ;准备下一行扫描
                        MOV                P6,R2                ;p6口扫描
                        MOV                P7,R3
                       
                        JC                TM2_ISR_EXIT                ;16行没完成扫描则退出中断,等待下一次再扫
                        MOV                R0,#XIAN_SHI_MEM
TM2_ISR_EXIT:
                        MOV                R4,PSW
                        POP                PSW
                        POP                ACC
                        RETI
                       
HAN_ZI:
;DB 01H, 00H, 02H, 00H, 04H, 00H, 08H ,00H ,10H ,00H ,20H ,00H ,40H ,00H ,80H, 00H;
;DB 00H, 01H, 00H,02H, 00H, 04H, 00H, 08H, 00H, 10H, 00H, 20H, 00H ,40H, 00H, 80H;一条对角线

; 丰(0) 镇(1) 一(2) 中(3) 科(4) 技(5) 社(6) 欢(7) 迎(8) 你(9) !(10)

DB 80H, 00H, 80H, 00H, 80H, 00H, 0FEH, 3FH, 80H, 00H, 80H, 00H, 80H, 00H, 0FCH, 1FH;
DB 80H, 00H, 80H, 00H, 80H, 00H, 0FFH, 7FH, 80H, 00H, 80H, 00H, 80H, 00H, 80H, 00H;"丰",0
HAN_ZI2:
DB 04H, 04H, 04H, 04H, 0DCH, 7FH, 02H, 04H, 82H, 3FH, 9EH, 20H, 85H, 3FH, 84H, 20H;
DB 9FH, 3FH, 84H, 20H, 84H, 3FH, 94H, 20H, 0ECH, 7FH, 04H, 11H, 80H, 20H, 40H, 40H;"镇",1
HAN_ZI3:
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0FFH, 7FH;
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H;"一",2
HAN_ZI4:
DB 80H, 00H, 80H, 00H, 80H, 00H, 80H, 00H, 0FCH, 1FH, 84H, 10H, 84H, 10H, 84H, 10H;
DB 84H, 10H, 84H, 10H, 0FCH, 1FH, 84H, 10H, 80H, 00H, 80H, 00H, 80H, 00H, 80H, 00H;"中",3
HAN_ZI5:
DB 10H, 08H, 0B8H, 08H, 0FH, 09H, 08H, 09H, 08H, 08H, 0BFH, 08H, 08H, 09H, 1CH, 09H;
DB 2CH, 08H, 0AH, 78H, 0CAH, 0FH, 09H, 08H, 08H, 08H, 08H, 08H, 08H, 08H, 08H, 08H;"科",4
HAN_ZI26:
DB 08H, 04H, 08H, 04H, 08H, 04H, 00C8H, 7FH, 3FH, 04H, 08H, 04H, 08H, 04H, 0A8H, 3FH;
DB 18H, 21H, 0CH, 11H, 0BH, 12H, 08H, 0AH, 08H, 04H, 08H, 0AH, 8AH, 11H, 64H, 60H;"技",5
HAN_ZI7:
DB 04H, 04H, 08H, 04H, 08H, 04H, 1FH, 04H, 10H, 04H, 08H, 04H, 0C8H, 7FH, 1CH, 04H;
DB 2AH, 04H, 29H, 04H, 08H, 04H, 08H, 04H, 08H, 04H, 08H, 04H, 0E8H, 7FH, 08H, 00H;"社",6
HAN_ZI8:
DB 00H, 01H, 00H, 01H, 3FH, 01H, 20H, 3FH, 0A0H, 20H, 92H, 10H, 54H, 02H, 28H, 02H;
DB 08H, 02H, 14H, 05H, 24H, 05H, 0A2H, 08H, 81H, 08H, 40H, 10H, 20H, 20H, 10H, 40H;"欢",7
HAN_ZI9:
DB 00H, 00H, 04H, 01H, 0C8H, 3CH, 48H, 24H, 40H, 24H, 40H, 24H, 4FH, 24H, 48H, 24H;
DB 48H, 24H, 48H, 2DH, 0C8H, 14H, 48H, 04H, 08H, 04H, 14H, 04H, 0E2H, 7FH, 00H, 00H;"迎",8
HAN_ZI10:
DB 10H, 01H, 10H, 01H, 10H, 01H, 88H, 7FH, 88H, 40H, 4CH, 20H, 2CH, 04H, 0AH, 04H;
DB 89H, 14H, 88H, 24H, 48H, 24H, 48H, 44H, 28H, 44H, 08H, 04H, 08H, 05H, 08H, 02H;"你",9
HAN_ZI11:
DB 00H, 00H, 08H, 00H, 08H, 00H, 08H, 00H, 08H, 00H, 08H, 00H, 08H, 00H, 08H, 00H;
DB 08H, 00H, 08H, 00H, 00H, 00H, 00H, 00H, 08H, 00H, 08H, 00H, 00H, 00H, 00H, 00H;"!",10

                        END

fzhyw 发表于 2026-4-14 08:28:21

这个是PCB

_奶咖君_ 发表于 2026-4-15 17:01:43

9秒的视频,还得看10秒的广告,,,,,{:4_167:}

soma 发表于 2026-4-15 20:54:26

这个有的废io啊
页: [1]
查看完整版本: 8H8K64U-LQFP64制作一个16X16点阵显示文字