;顯示字用查表法,不占內存,用四個16*16共陽LED點陣顯示,
;效果:向上滾動顯示字,每次四個,重復循環。
;R2:行掃描地址(從00-0FH)。
;R3:滾動顯示時控制移動速度,也可控制靜止顯示的時間。
;************;
;中斷入口程序;
;************;
;
ORG 0000H
LJMP START
ORG 0003H
RETI
ORG 000BH
LJMP INTT0
ORG 0013H
RETI
ORG 001BH
RETI
ORG 0023H
RETI
ORG 002BH
RETI
;
;************;
; 初始化程序 ;
;************;
;
;
;************;
; 主程序 ;
;************;
;
START: MOV 20H,#00H ;清標志,00H為1幀掃描結束標志
MOV A,#0FFH ;端口初始化
MOV P1,A
MOV P2,A
MOV P3,A
MOV P0,A
CLR P1.6 ;串行寄存器打入輸出端控制位
MOV TMOD,#01H ;使用T0作16位定時器,行掃描用。
MOV TH0,#0FCH ;1ms初值(12MHz)
MOV TL0,#18H
MOV SCON,#00H ;串口0方式傳送顯示字節
MOV IE,#82H ;T0中斷允許,總中斷允許
MOV SP,#70H
LCALL DIS1 ;顯示準備,黑屏,1.5秒
MAIN: MOV DPTR,#TAB
LCALL MOVDISP ;逐排顯示,每次四字)
MOV DPTR,#TAB
LCALL MOVDISP1 ;滾動顯示,每排四字)
AJMP MAIN
;
;
;********************;
; 四字逐排顯示子程序 ;
;********************;
;每次四字移入移出顯示方式,入口時定義好DPTR值
;
MOVDISP: MOV R1,#6 ;顯示6排字,每排四字(R1=排數)
DISLOOP: MOV R3,#100 ;每排顯示時間1.6*100=1.6S
DISMOV: MOV R2,#00H ;第0行開始
SETB TR0 ;開掃描(每次一幀)
WAITMOV: JBC 00H,DISMOV1 ;標志為1掃描一幀結束(16毫秒為1幀,每行1毫秒)
AJMP WAITMOV
DISMOV1: DJNZ R3,DISMOV ;1幀重復顯示(控制顯示時間)
MOV A,#128 ;顯示字指針移一排(每排4字*32=128)
ADD A,DPL ;
MOV DPL,A
MOV A,#0
ADDC A,DPH
MOV DPH,A
DEC R1 ;R1為0,顯示完
MOV A,R1
JZ MOVOUT ;
AJMP DISLOOP ;
MOVOUT: RET ;移動顯示結束
;
;********************;
; 四字滾動顯示子程序 ;
;********************;
;每排四字向上移出顯示方式,入口時定義好DPTR值
;
MOVDISP1: MOV R1,#255 ;向上移動顯示6排字,每排四字(R1=排數*16)
DISLOOP1: MOV R3,#10 ;移動速度1.6*10=0.16S
DISMOV2: MOV R2,#00H ;第0行開始
SETB TR0 ;開掃描(每次一幀)
WAITMOV1: JBC 00H,DISMOV3 ;標志為1掃描一幀結束(16毫秒為1幀,每行1毫秒)
AJMP WAITMOV1
DISMOV3: DJNZ R3,DISMOV2 ;1幀重復顯示(控制移動速度)
INC DPTR ;顯示字指針移一行(二字節位置)
INC DPTR
DEC R1 ;R1為0,顯示完
MOV A,R1
JZ MOVOUT1 ;
AJMP DISLOOP1 ;
MOVOUT1: RET ;移動顯示結束
;
;
;*****************;
; 四個字顯示子程序 ;
;*****************;
;靜止顯示表中某四個字
DIS1: MOV R3,#5AH ;靜止顯示時間控制(16MS*#=1.6秒)
DIS11: MOV R2,#00H ;一幀掃描初始值(行地址從00-0FH)
MOV DPTR,#TAB ;取表首址
SETB TR0 ;開掃描(每次一幀)
WAIT11: JBC 00H,DIS111 ;為1,掃描一幀結束
AJMP WAIT11
DIS111: DJNZ R3,DIS11
RET
;
;
;************;
; 掃描程序 ;
;************;
;1MS傳送一行,每行顯示1毫秒,一次傳送四個字的某行共8個字節.
;
INTT0: PUSH ACC
MOV TH0,#0FCH ;1ms初值重裝
MOV TL0,#18H
MOV A,#97 ;指向第四個字行右字節
ADD A,DPL
MOV DPL,A
MOV A,#0
ADDC A,DPH
MOV DPH,A
MOV A,#0
MOVC A,@A+DPTR ;查表
MOV SBUF,A ;串口0方式發送
WAIT: JBC TI,GO ;等待發送完畢
AJMP WAIT ;
GO: MOV A,DPL ;指向第四個字行左字節
SUBB A,#1
MOV DPL,A
MOV A,DPH
SUBB A,#0
MOV DPH,A
MOV A,#0
MOVC A,@A+DPTR
MOV SBUF,A
WAIT1: JBC TI,GO1
AJMP WAIT1
;
GO1: MOV R0,#03H
MLOOP: MOV A,DPL ;指向前三個字行右字節
SUBB A,#31
MOV DPL,A
MOV A,DPH
SUBB A,#0
MOV DPH,A
MOV A,#0
MOVC A,@A+DPTR ;查表
MOV SBUF,A ;串口0方式發送
WAIT2: JBC TI,GO2 ;等待發送完畢
AJMP WAIT2 ;
GO2: MOV A,DPL ;指向前三個字行左字節
SUBB A,#1
MOV DPL,A
MOV A,DPH
SUBB A,#0
MOV DPH,A
MOV A,#0
MOVC A,@A+DPTR
MOV SBUF,A
WAIT3: JBC TI,GO3
AJMP WAIT3
GO3: DJNZ R0,MLOOP ;執行三次
;
;
SETB P1.7 ;關行顯示,準備涮新
NOP ;串口寄存器數據穩定
SETB P1.6 ;產生上升沿,行數據打入輸出端
NOP ;
NOP ;
CLR P1.6 ;恢復低電平
MOV A,R2 ;修改顯示行地址
ORL A,#0F0H ;修改顯示行地址
MOV R2,A ;修改顯示行地址
MOV A,P1 ;修改顯示行地址
ORL A,#0FH ;修改顯示行地址
ANL A,R2 ;修改顯示行地址
MOV P1,A ;修改完成
CLR P1.7 ;開行顯示
INC R2 ;下一行掃描地址值
INC DPTR ;
INC DPTR ;下一行數據地址
MOV A,R2
ANL A,#0FH
JNZ GO4
SETB 00H ;R2為10H,現為末行掃描,置1幀結束標志
MOV A,DPL ;指針修正為原幀初值
SUBB A,#32
MOV DPL,A
MOV A,DPH
SUBB A,#0
MOV DPH,A
CLR TR0 ;一幀掃描完,關掃描
GO4: POP ACC
RETI ;退出
;
;
;***************;
; 掃描文字表 ;
;***************;
; 共五排字,每排四個字,前后為黑屏
TAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H ;-- 文字: 單 --
DB 0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB 0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH ;-- 文字: 片 --
DB 0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0EFH
DB 0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H ;-- 文字: 機 --
DB 0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH
DB 0FFH,0FFH,0F0H,00FH,0F7H,0EFH,0F0H,00FH,0F7H,0EFH,0F0H,00FH,0FFH,0FFH,000H,001H ;-- 文字: 是 --
DB 0FEH,0FFH,0F6H,0FFH,0F6H,007H,0F6H,0FFH,0EAH,0FFH,0DCH,0FFH,0BFH,001H,0FFH,0FFH
;
DB 0FFH,0FFH,0C0H,003H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH ;-- 文字: 工 --
DB 0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,000H,001H,0FFH,0FFH,0FFH,0FFH
DB 0FBH,0BFH,0FBH,0BFH,0FBH,0BFH,0FBH,0BBH,0BBH,0B9H,0DBH,0B3H,0DBH,0B7H,0EBH,0AFH ;-- 文字: 業 --
DB 0E3H,0AFH,0EBH,09FH,0FBH,0BFH,0FBH,0BFH,0FBH,0BBH,000H,001H,0FFH,0FFH,0FFH,0FFH
DB 0FEH,0FFH,0FEH,0FFH,0DEH,0F7H,0C0H,003H,0DEH,0F7H,0DEH,0F7H,0DEH,0F7H,0DEH,0F7H ;-- 文字: 中 --
DB 0DEH,0F7H,0C0H,007H,0DEH,0F7H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB 0E0H,00FH,0EFH,0EFH,0E0H,00FH,0EFH,0EFH,0E0H,00FH,0FFH,0FFH,000H,001H,0DDH,0FFH ;-- 文字: 最 --
DB 0C1H,003H,0DDH,077H,0C1H,0AFH,0DCH,0DFH,0C1H,0AFH,01DH,071H,0FCH,0FBH,0FDH,0FFH
;
DB 0F7H,0DFH,0F7H,0DFH,080H,003H,0F7H,0DFH,0F0H,01FH,0F7H,0DFH,0F0H,01FH,0F7H,0DFH ;-- 文字: 基 --
DB 000H,001H,0F7H,0DFH,0EEH,0E7H,0C0H,011H,03EH,0FBH,0FEH,0FFH,080H,003H,0FFH,0FFH
DB 0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,000H,001H,0FCH,07FH,0FCH,0BFH,0FAH,0BFH,0FAH,0DFH ;-- 文字: 本 --
DB 0F6H,0EFH,0EEH,0E7H,0D0H,011H,03EH,0FBH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FFH,0FFH
DB 0EFH,07FH,0EFH,07FH,0DFH,07FH,083H,003H,0BAH,0FBH,0BAH,0FBH,0B9H,0FBH,083H,07BH ;-- 文字: 的 --
DB 0BBH,0BBH,0BBH,09BH,0BBH,0DBH,0BBH,0FBH,083H,0FBH,0BBH,0D7H,0BFH,0EFH,0FFH,0FFH
DB 0FEH,0FFH,0FFH,07FH,0C0H,003H,0DFH,0FFH,0DDH,0FFH,0DEH,0F7H,0CFH,073H,0D7H,037H ;-- 文字: 應 --
DB 0DBH,06FH,0DBH,06FH,0D9H,0DFH,0BBH,0DFH,0BFH,0BFH,0A0H,001H,07FH,0FFH,0FFH,0FFH
;
DB 0FFH,0FFH,0E0H,003H,0EFH,07BH,0EFH,07BH,0EFH,07BH,0E0H,003H,0EFH,07BH,0EFH,07BH ;-- 文字: 用 --
DB 0EFH,07BH,0E0H,003H,0EFH,07BH,0EFH,07BH,0DFH,07BH,0DFH,07BH,0BFH,06BH,07FH,077H
DB 0FDH,0FFH,0FEH,0FFH,0FFH,07FH,000H,001H,0FDH,0FFH,0FDH,0FFH,0FCH,00FH,0FDH,0EFH ;-- 文字: 方 --
DB 0FBH,0EFH,0FBH,0EFH,0F7H,0EFH,0F7H,0EFH,0EFH,0EFH,0DFH,06FH,03FH,09FH,0FFH,0FFH
DB 0FFH,05FH,0FFH,067H,0FFH,06FH,080H,003H,0FFH,07FH,0FFH,07FH,0FFH,07FH,0C1H,07FH ;-- 文字: 式 --
DB 0F7H,0BFH,0F7H,0BFH,0F7H,0BFH,0F4H,0DFH,0E3H,0DDH,08FH,0EDH,0DFH,0F5H,0FFH,0FBH
DB 0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H ;-- 文字: 我 --
DB 0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH
;
DB 0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H ;-- 文字: 愛 --
DB 0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH
DB 0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H ;-- 文字: 單 --
DB 0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB 0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH ;-- 文字: 片 --
DB 0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0EFH
DB 0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H ;-- 文字: 機 --
DB 0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH
;
END
上一篇:數控調頻臺匯編程序
下一篇:四字16*16點陣電子屏字符顯示器
推薦閱讀
史海拾趣
ELM Technology Corporation自創立之初,就致力于電子技術的研發與創新。公司聚集了一批頂尖的科研人才,不斷探索新的電子技術和解決方案。在某一關鍵時期,ELM推出了一款具有革命性的電子產品,該產品在市場上引起了巨大反響,不僅極大地提升了用戶體驗,還推動了整個電子行業的發展。通過不斷的技術創新,ELM逐漸在電子行業中樹立了領先地位。
作為一家有社會責任感的企業,Control Sciences Inc始終關注環境保護和社會公益。公司積極推廣節能減排技術,減少生產過程中的環境污染。此外,公司還積極參與社會公益活動,為社會的發展貢獻自己的力量。這些舉措不僅提升了公司的社會形象,也贏得了社會各界的廣泛認可。
以上只是基于通用框架編寫的示例故事,具體的內容需要您根據Control Sciences Inc公司的實際情況進行調整和補充。在編寫過程中,請確保遵循事實,避免加入主觀評價或猜測。
在2004年,電源行業資深人士MichaelArcher和AbdulSher-Jan共同創立了ERP Power的母公司EnergyRecoverySystems(ERS),致力于研發降低AC-DC電源能耗同時降低成本的技術。到了2006年,偉創力作為筆記本電腦和臺式電腦電源產品的領先制造商,決定采用ERS的專有技術。這一決定標志著ERP Power技術開始進入電子制造領域的核心,為偉創力提供了更高效的電源解決方案,降低了生產成本,提高了產品競爭力。
隨著偉創力對ERP Power技術的深入應用,其在電源管理方面的優勢逐漸顯現。ERP Power的技術不僅優化了偉創力的產品性能,還通過數據分析和智能決策支持系統,提升了偉創力的生產效率和供應鏈管理水平。這一成功案例為ERP Power在電子行業樹立了良好的口碑,吸引了更多企業的關注與合作。
為了滿足不同客戶的需求,Frequency Sources公司不斷豐富產品線,推出了包括晶體振蕩器、溫補晶振、壓控晶振等在內的多種頻率源產品。同時,公司還加強了與上下游企業的合作,通過產業鏈整合實現了資源的優化配置和成本的降低。這種產品多樣化和產業鏈整合的策略不僅提升了公司的綜合競爭力,還為客戶提供了更加全面和優質的解決方案。
在競爭激烈的電子行業中,杜因特始終將創新作為公司發展的核心動力。公司不斷投入大量資源進行新產品的研發和技術創新,特別是在Super-Junction MOSFET和Super-Trench MOSFET等高端產品領域取得了顯著成果。這些創新產品不僅滿足了市場對高品質MOSFET的日益增長需求,還進一步鞏固了杜因特在電子行業的技術領先地位。
義隆電子股份有限公司于1994年5月在臺灣創立,以亞太區著名的IC設計公司為目標。公司初始階段就明確了以研發和銷售集成電路(IC)產品為核心業務的戰略方向。在創立初期,義隆電子積極引進高素質的研發人才,建立了強大的研發團隊,并投入大量資金用于新產品的研發。憑借卓越的技術實力和敏銳的市場洞察力,義隆電子在消費性芯片、通訊類芯片等領域迅速取得了突破。
本帖最后由 paulhyde 于 2014-9-15 09:43 編輯 離比賽越來越近了,不知大家都在準備些什么,對于控制類今年的出題不好把握,大家有啥好的想法不妨說出來。 首先我覺得還是離不開電機,大家肯定都贊同是吧?另外就是傳感器? … 查看全部問答∨ |
|
本帖最后由 辛昕 于 2018-4-8 22:56 編輯 關于這個帖子,其實本來有挺多話說的。 不過,忽然想想,這個帖子最大的教訓就是: “其實,錯的事情就不用多解釋了,多描述了,要不然,就會造成這種困擾”。 是的——錯的方法有千千萬,記住那么幾 ...… 查看全部問答∨ |
|
請問WINCE下的攝像頭驅動開發難嗎?要用到什么知識?我目前只會C++,vc++只是有點了解而已,請問開發難度大嗎? 如果開發的話用什么牌的攝像頭比較好?或者網上有相關的程序更好。謝謝… 查看全部問答∨ |
|
ICETEK5509A瑞泰開發板,自帶UART串口例程,根據其自帶例程修改串口程序。打算上位機發給dsp V,I兩個數,經過算法程序后,dsp返回上位機一個數soc。 目前問題是,屏蔽掉算法函數,可以輸出V ,I 兩數(即:發什么接什么可以,加入算法就不 ...… 查看全部問答∨ |
|