欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機匯編語言的點陣顯示源碼
[打印本頁]
作者:
un51hei
時間:
2018-7-13 16:54
標題:
單片機匯編語言的點陣顯示源碼
既有動態顯示又有靜態顯示,沒有電原理圖,但是很簡單,行掃描,上下滾動,單片機型號STC15F2K60S2(打開文件后就可以看到)
單片機源程序如下:
/* 靜態
DL BIT P1.0;串行輸入列信號(數據信號)(低有效)并行輸出
DH BIT P1.1;串行輸入行信號(行掃描信號)(高有效)并行輸出
STR BIT P1.2;RCLK 三態輸出鎖存器的時鐘輸入
CLK BIT P1.3;SRCLK 移位寄存器的時鐘輸入
FOE BIT P1.4;/OE 輸出允許控制
ROWH EQU 40H;字模信號,高位在前
ROWL EQU 41H;
SELH EQU 42H;行掃描信號
SELL EQU 43H;
ORG 0000H;
LJMP MAIN;
ORG 0100H
MAIN:
MOV SP,#6FH;
MOV R1,#01H;配合字模信號
MOV R2,#01H;高字節在后,從01開始
MOV R3,#10H;循環16次
LOAD:
MOV DPTR,#DATAH;存儲行掃描信號;
MOV A,R1;
MOVC A,@A+DPTR;
MOV SELH,A;存儲高字節
DEC R1; 指向低字節
MOV A,R1;
MOVC A,@A+DPTR;
MOV SELL,A; 存儲低字節
INC R1;
INC R1;
INC R1;指向下一個高字節
MOV DPTR,#DATAL; ;存儲字模數據,過程同上
MOV A, R2
MOVC A, @A+DPTR
MOV ROWH, A
DEC R2
MOV A, R2
MOVC A, @A+DPTR
MOV ROWL, A
INC R2
INC R2
INC R2
LCALL LATCH;運行鎖存自程序
LCALL DELAY;延時
DJNZ R3, LOAD;重復執行16次,顯示所有行
LJMP MAIN;靜態顯示
LATCH:
CLR FOE ;允許輸出
CLR STR ;為上升沿將移位寄存器數據鎖存入數據寄存器
MOV R4, SELH ; 做準備
MOV R5, ROWH ;高位行掃描型號和字模信號
MOV R6, #08H ;高低位分開讀,每次讀8位
LATCH1:
CLR CLK ;為上升沿讀入移位寄存器做準備
MOV A, R4
RRC A ;移出最高位
MOV R4, A
MOV DH, C ;由P1.0輸出準備進入移位寄存器
MOV A, R5
RRC A
MOV R5, A
MOV DL, C ;由P1.1輸出準備進入移位寄存器
SETB CLK ;CLK上升沿,P1.0和P1.1數據進入移位寄存器
DJNZ R6, LATCH1
MOV R4, SELL
MOV R5, ROWL
MOV R6, #08H
LATCH2: ;同上
CLR CLK
MOV A, R4
RRC A
MOV R4, A
MOV DH, C
MOV A, R5
RRC A
MOV R5, A
MOV DL, C
SETB CLK
DJNZ R6, LATCH2
SETB STR ;STR上升沿移位寄存器數據所存入數據寄存器
RET ;顯示
DELAY: ;延遲程序
MOV R6, #02H
LOOP1:
MOV R7, #0F8H ;;估算:1us*2*(1+2*248+2) = 998us ≈ 1ms
LOOP2:
DJNZ R7, LOOP2
DJNZ R6, LOOP1
RET
DATAH: ;SELECT ROW
DB 80H, 00H
DB 40H, 00H
DB 20H, 00H
DB 10H, 00H
DB 08H, 00H
DB 04H, 00H
DB 02H, 00H
DB 01H, 00H
DB 00H, 80H
DB 00H, 40H
DB 00H, 20H
DB 00H, 10H
DB 00H, 08H
DB 00H, 04H
DB 00H, 02H
DB 00H, 01H
DATAL:
/*
DB; 0B..................,01H;
DB; 0DDH,6DH,0C1H,6DH,0BFH,6DH,7FH,7DH,00H,01H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;;第一個字
END;
*/
/*每一列共陰極顯示器
/*每一行七段顯示器的筆畫
/*動態顯示電路,筆畫鎖存器控制行信號,位鎖存器控制列信號
*/
; /*滾動
DH BIT P1.0;
DL BIT P1.1
STR BIT P1.2
CLK BIT P1.3
FOE BIT P1.4
ROWH EQU 40H
ROWL EQU 41H
SELH EQU 42H
SELL EQU 43H
WAIT EQU 44H ;負責控制滾動速度
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV R0, #01H ;每次重新滾動時初始化
NEXT:
MOV WAIT, #0AH ;滾動速度設置,數字越大滾動越慢
ROLL:
MOV A, R0 ;變換顯示的第一行以完成滾動
MOV R1, #01H ;行掃描信號不變
MOV R2, A
MOV R3, #10H
LOAD:
MOV DPTR, #SEL_DATA ;
MOV A, R1
MOVC A, @A+DPTR
MOV SELH, A ;
DEC R1 ;
MOV A, R1
MOVC A, @A+DPTR
MOV SELL, A ;
INC R1 ;
INC R1
INC R1
MOV DPTR, #ROW_DATA
MOV A, R2
MOVC A, @A+DPTR
MOV ROWH, A
DEC R2
MOV A, R2
MOVC A, @A+DPTR
MOV ROWL, A
INC R2
INC R2
INC R2
LCALL LATCH
LCALL DELAY
DJNZ R3, LOAD
; 以上與第一部分相同
DJNZ WAIT, ROLL ;循環以延時
INC R0
INC R0 ;R0指向下一行,以實現滾動
CJNE R0, #41H, NEXT ;所有字符顯示完畢后開始新的一輪 ;根據字符的個數不同而改變
; 以下與第一部分相同
LJMP MAIN
LATCH:
CLR FOE
CLR STR
MOV R4, SELH
MOV R5, ROWH
MOV R6, #08H
LATCH1:
CLR CLK
MOV A, R4
RRC A
MOV R4, A
MOV DH, C
MOV A, R5
RRC A
MOV R5, A
MOV DL, C
SETB CLK
DJNZ R6, LATCH1
;
MOV R4, SELL
MOV R5, ROWL
MOV R6, #08H
LATCH2:
CLR CLK
MOV A, R4
RRC A
MOV R4, A
MOV DH, C
MOV A, R5
RRC A
MOV R5, A
MOV DL, C
SETB CLK
DJNZ R6, LATCH2;
SETB STR
RET
DELAY:
MOV R6, #02H
LOOP1:
MOV R7, #0F8H
LOOP2:
DJNZ R7, LOOP2
DJNZ R6, LOOP1
RET
SEL_DATA: ;SELECT ROW
DB 80H, 00H
DB 40H, 00H
DB 20H, 00H
DB 10H, 00H
DB 08H, 00H
DB 04H, 00H
DB 02H, 00H
DB 01H, 00H
DB 00H, 80H
DB 00H, 40H
DB 00H, 20H
DB 00H, 10H
DB 00H, 08H
DB 00H, 04H
DB 00H, 02H
DB 00H, 01H
ROW_DATA:
DB; 0B..................,01H;
DB; 0DDH,6DH,0C1H,6DH,0BFH,6DH,7FH,7DH,00H,01H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;;第一個字
DB; 7FH,0FFH,01H,81H,0BFH,0BDH,0C0H,3DH,0EDH,0BDH,0F5H,81H,0FEH,0EFH,80H,0F7H;
DB ;0BDH,73H,0BDH,0A8H;...................,73H,80H,0FBH,0FDH,0FFH,0FBH,0FFH;第二個字
DB ;16個;
DB ;0DDH,6DH,0C1H,6DH,0BFH,6DH,7FH,7DH,00H,01H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;;;第一個字
END
復制代碼
所有資料51hei提供下載:
dianzhen.zip
(33.69 KB, 下載次數: 14)
2018-7-13 16:49 上傳
點擊文件名下載附件
點陣的項目文件
下載積分: 黑幣 -5
作者:
un51hei
時間:
2018-7-13 16:55
在學校課堂上試過,確實可用
作者:
un51hei
時間:
2018-7-13 16:56
動態顯示可以是幾個字滾動,也可以使一個字,文件中是兩個字的滾動顯示,具體器件的使用,看單片機型號吧,我忘了
作者:
1974207467
時間:
2020-9-21 23:10
有無原理圖?
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1