日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] ****************************************;Function:5X7LED點(diǎn)陣+LCD顯示示例程序*;MICroProcessor:HT48R50A-1/28SKDIP-A*;Author:www.picavr.com*;Crystal:4MHz*;***********************************

****************************************


;Function:5X7LED點(diǎn)陣+LCD顯示示例程序*

;MICroProcessor:HT48R50A-1/28SKDIP-A*

;Author:www.picavr.com*
;Crystal:4MHz*
;********************************************

#INCLUDEHT48R50A-1.INC
LCD_DATAEQUPB
LCD_DATA_CTRLEQUPBC
LCD_CTRLEQUPC
LCD_CTRL_CTRLEQUPCC
EEQU5
RSEQU3
TIME_OUTEQU11H
CLR_WDTEQU22H
EXE_HALTEQU33H
CLR_WDT1_WDT2EQU44H
;--------------------------------------------------------------------
DATA.SECTIONAT60H’DATA’
DELAY_COUNTER_1DB?;[60H]
DELAY_COUNTER_2DB?;[61H]
DELAY_COUNTER_3DB?;[62H]
DATADB?;[63H]
COUNTERDB?;[64H]
WARM_RESETDB?;[65H]
DISPLAY_FLAGDB?;[66H]
;--------------------------------------------------------------------
CODE.SECTIONAT00H’CODE’
ORG00H
JMPSTART
START:
CLRPAC
CLRLCD_DATA_CTRL
CLRLCD_CTRL_CTRL
CLRLCD_DATA
CLRLCD_CTRL
;--------------------------------------------------------------------
MOV A,07H;setwatchdogtimeout
MOV WDTS,A;2.6sec
CLRWDT;clearwatchdogtimer
;--------------------------------------------------------------------
MOV A,WARM_RESET
MOV DISPLAY_FLAG,A
SUBA,TIME_OUT
SZACC
JMPCHK_CLR_WDT
JMPGO_TIME_OUT
CHK_CLR_WDT:
MOV A,WARM_RESET
MOV DISPLAY_FLAG,A
SUBA,CLR_WDT
SZACC
JMPCHK_EXE_HALT
JMPGO_CLR_WDT
CHK_EXE_HALT:
MOV A,WARM_RESET
MOV DISPLAY_FLAG,A
SUBA,EXE_HALT
SZACC
JMPCHK_CLR_WDT_12
JMPGO_EXE_HALT
CHK_CLR_WDT_12:
MOV A,WARM_RESET
MOV DISPLAY_FLAG,A
SUBA,CLR_WDT1_WDT2
SZACC
JMPBEGIN
JMPGO_CLR_WDT_12
BEGIN:
CALLLCD_RESET
CLRWDT;clearwatchdogtimer
;--------------------------------------------------------------------
GO_TIME_OUT:
MOV A,CLR_WDT
MOV WARM_RESET,A
MOV A,OFFSETLCD_MESSAGE_1
MOV TBLP,A
CALLLCD_DISPLAY
TIME_OUT_LOOP:
CALLLED_DISPLAY
JMPTIME_OUT_LOOP
RET
;--------------------------------------------------------------------
GO_CLR_WDT:
MOV A,EXE_HALT
MOV WARM_RESET,A
MOV A,OFFSETLCD_MESSAGE_2
MOV TBLP,A
CALLLCD_DISPLAY
CLR_WDT_LOOP:
CALLLED_DISPLAY
JMPCLR_WDT_LOOP
RET
;--------------------------------------------------------------------
GO_EXE_HALT:
MOV A,CLR_WDT1_WDT2
MOV WARM_RESET,A
MOV A,OFFSETLCD_MESSAGE_3
MOV TBLP,A
CALLLCD_DISPLAY
EXE_HALT_LOOP:
CALLLED_DISPLAY
JMPEXE_HALT_LOOP
RET
;--------------------------------------------------------------------
GO_CLR_WDT_12:
MOV A,TIME_OUT
MOV WARM_RESET,A
MOV A,OFFSETLCD_MESSAGE_4
MOV TBLP,A
CALLLCD_DISPLAY
CLR_WDT_12_LOOP:
CALLLED_DISPLAY
JMPCLR_WDT_12_LOOP
RET
;--------------------------------------------------------------------
LED_DISPLAYPROC
SETPA
CALLDELAY
MOV A,OFFSETSEGMENT_DATA
MOV TBLP,A
MOV A,10H
MOV COUNTER,A
DISPLAY_START:
TABRDLDATA
MOV A,DATA
MOV PA,A
CALLDELAY
INCTBLP

MOV A,DISPLAY_FLAG
SUBA,CLR_WDT
SZACC
JMPLED_CLR_WDT12
CLRWDT
JMPDISPLAY_END
LED_CLR_WDT12:
MOV A,DISPLAY_FLAG
SUBA,CLR_WDT1_WDT2
SZACC
JMPLED_EXE_HALT
CLRWDT1
CLRWDT2
JMPDISPLAY_END
LED_EXE_HALT:
MOV A,DISPLAY_FLAG
SUBA,EXE_HALT
SZACC
JMPDISPLAY_END
HALT
DISPLAY_END:
SDZCOUNTER
JMPDISPLAY_START
RET
LED_DISPLAYENDP
;--------------------------------------------------------------------
LCD_RESETPROC
MOV A,30H;LCDreset,step1
MOV LCD_DATA,A;
CALLWRITE;
CALLDELAY;LCDreset,step2
MOV A,30H;LCDreset,step3
MOV LCD_DATA,A;
CALLWRITE;
CALLDELAY;LCDreset,step4
MOV A,30H;LCDreset,step5
MOV LCD_DATA,A;
CALLWRITE;
MOV A,38H;LCDsetting,step1
MOV LCD_DATA,A;functionset
CALLWRITE;
MOV A,06H;LCDsetting,step2
MOV LCD_DATA,A;entrymodeset
CALLWRITE;
MOV A,01H;LCDsetting,step3
MOV LCD_DATA,A;displayclear
CALLWRITE;
CALLDELAY;
MOV A,0EH;LCDsetting,step4
MOV LCD_DATA,A;displayturnon
CALLWRITE;
RET
LCD_RESETENDP
;--------------------------------------------------------------------
LCD_DISPLAYPROC
MOV A,01H;LCDsetting,step5
MOV LCD_DATA,A;displayclear
CALLWRITE;
CALLDELAY;
MOV A,80H;LCDsetting,setp6
MOV LCD_DATA,A;DDRAMaddresssetting
CALLWRITE;address=00h(firstline)
SETLCD_CTRL.RS;LCDsetting,step7
MOV A,10H;writedatatoDDRAM
MOV COUNTER,A
DISPLAY1:
TABRDLDATA
MOV A,DATA
MOV LCD_DATA,A
CALLWRITE
INCTBLP
SDZCOUNTER
JMPDISPLAY1
CLRLCD_CTRL.RS
MOV A,0C0H;LCDsetting,step8
MOV LCD_DATA,A;DDRAMaddresssetting
CALLWRITE;address=40h(secondline)
SETLCD_CTRL.RS;LCDsetting,step9
MOV A,10H;writedatatoDDRAM
MOV COUNTER,A
DISPLAY2:
TABRDLDATA
MOV A,DATA
MOV LCD_DATA,A
CALLWRITE
INCTBLP
SDZCOUNTER
JMPDISPLAY2
RET
LCD_DISPLAYENDP
;--------------------------------------------------------------------
WRITEPROC
SETLCD_CTRL.E
CLRLCD_CTRL.E
MOV A,0FFH
MOV DELAY_COUNTER_1,A
WAIT:
SDZDELAY_COUNTER_1
JMPWAIT
RET
WRITEENDP
;--------------------------------------------------------------------
DELAYPROC
MOV A,003H
MOV DELAY_COUNTER_1,A
MOV DELAY_COUNTER_2,A
MOV DELAY_COUNTER_3,A
DELAY_WAIT:
SDZDELAY_COUNTER_3
JMPDELAY_WAIT
SDZDELAY_COUNTER_2
JMPDELAY_WAIT
SDZDELAY_COUNTER_1
JMPDELAY_WAIT
RET
DELAYENDP
;--------------------------------------------------------------------
ORG0F00H
LCD_MESSAGE_1:;[Now,watchdog]
;[willbetimeout]
DC4EH,6FH,77H,20H,2CH,20H,77H,61H
DC74H,63H,68H,20H,64H,6FH,67H,20H
DC77H,69H,6CH,6CH,20H,62H,65H,20H
DC74H,69H,6DH,65H,20H,6FH,75H,74H

LCD_MESSAGE_2:;[Withouttimeout]
;[BecauseCLRWDT]
DC57H,69H,74H,68H,6FH,75H,74H,20H
DC74H,69H,6DH,65H,20H,6FH,75H,74H
DC42H,65H,63H,61H,75H,73H,65H,20H
DC43H,4CH,52H,20H,57H,44H,54H,20H

LCD_MESSAGE_3:;[Executingthe]
;[HALTinstruction]
DC45H,78H,65H,63H,75H,74H,69H,6EH
DC67H,20H,74H,68H,65H,20H,20H,20H
DC48H,41H,4CH,54H,20H,69H,6EH,73H
DC74H,72H,75H,63H,74H,69H,6FH,6EH

LCD_MESSAGE_4:;[Withouttimeout]
;[CLRWDT1&WDT2]
DC57H,69H,74H,68H,6FH,75H,74H,20H
DC74H,69H,6DH,65H,20H,6FH,75H,74H
DC43H,4CH,52H,20H,57H,44H,54H,31H
DC20H,26H,20H,57H,44H,54H,32H,20H

SEGMENT_DATA:;7SEGMENTDISPLAYDATA(COMMONANODE)
DC081H,0CFH,092H,086H;0123
DC0CCH,0A4H,0A0H,08FH;4567
DC080H,084H,088H,0E0H;89AB
DC0B1H,0C2H,0B0H,0B8H;CDEF
;--------------------------------------------------------------------
END

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在這篇文章中,小編將對(duì)PLC的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對(duì)它的了解程度,和小編一起來(lái)閱讀以下內(nèi)容吧。

關(guān)鍵字: PLC 模塊化 程序

我們的團(tuán)隊(duì)創(chuàng)建了這個(gè)項(xiàng)目,因?yàn)槲覀兘?jīng)常因?yàn)閷?zhuān)注于學(xué)習(xí)或工作而錯(cuò)過(guò)禱告時(shí)間。我們想要一個(gè)簡(jiǎn)單的祈禱時(shí)間提醒,易于構(gòu)建,可以直接顯示信息,而無(wú)需查看智能手機(jī)。

關(guān)鍵字: Arduino UNO 點(diǎn)陣 MAX7219

對(duì)程序進(jìn)行優(yōu)化,通常是指優(yōu)化程序代碼或程序執(zhí)行速度。優(yōu)化代碼和優(yōu)化速度實(shí)際上是一個(gè)予盾的統(tǒng)一。一般是優(yōu)化了代碼的尺寸,就會(huì)帶來(lái)執(zhí)行時(shí)間的增加;如果優(yōu)化了程序的執(zhí)行速度,通常會(huì)帶來(lái)代碼增加的副作用。很難魚(yú)與熊掌兼得,只能在...

關(guān)鍵字: 單片機(jī) 程序

一個(gè)程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個(gè)重要的考量。要編寫(xiě)高性能的程序,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)。

關(guān)鍵字: CPU 程序 緩存

仿真的概念其實(shí)使用非常廣,最終的含義就是使用可控的手段來(lái)模仿真實(shí)的情況。在嵌入式系統(tǒng)的設(shè)計(jì)中,仿真應(yīng)用的范圍主要集中在對(duì)程序的仿真上。

關(guān)鍵字: 單片機(jī) 仿真器 程序

步進(jìn)電動(dòng)機(jī)是將電脈沖激勵(lì)信號(hào)轉(zhuǎn)換成相應(yīng)的角位移或線位移的離散值控制電動(dòng)機(jī),這種電動(dòng)機(jī)每當(dāng)輸入一個(gè)電脈沖就動(dòng)一步,所以又稱(chēng)脈沖電動(dòng)機(jī)。

關(guān)鍵字: 步進(jìn)電機(jī) 正反轉(zhuǎn) 程序

KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計(jì)的集成式軟件開(kāi)發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類(lèi)似于Microsoft VS,支持C語(yǔ)言和匯編語(yǔ)言程序的編寫(xiě)...

關(guān)鍵字: 程序 編譯 鏈接

北京2023年1月18日  /美通社/ -- 微云全息公司(納斯達(dá)克:HOLO)(以下簡(jiǎn)稱(chēng)為"HOLO"或"公司"),一家提供全息數(shù)字孿生技術(shù)服務(wù)提供商,開(kāi)發(fā)多套算法支持...

關(guān)鍵字: NAS DAQ ASDA 點(diǎn)陣

雙方各執(zhí)一詞,誰(shuí)也不退讓?zhuān)瑓切郯旱纳矸莩蔀檠Χㄖ@的貓:在Arm公司眼中,他已經(jīng)被罷免一切職位;在安謀中國(guó)聲明里,吳仍然一切照常。這種疊加態(tài)或許還會(huì)持續(xù)一段時(shí)間,但疊加態(tài)應(yīng)該很快就會(huì)塌縮成一個(gè)確定結(jié)果。同樣,安謀中國(guó)董事會(huì)...

關(guān)鍵字: ARM 中國(guó)董事會(huì) 程序

除了指令空間,自定義指令對(duì)應(yīng)的程序出入口也有嚴(yán)格限制。自定義指令在使用過(guò)程中出現(xiàn)任何錯(cuò)誤時(shí),Arm的工具鏈都能及時(shí)對(duì)其進(jìn)行識(shí)別、提取,并且進(jìn)行相應(yīng)的控制。目前也已經(jīng)有第三方編譯器,可以識(shí)別自定義指令集可能會(huì)出現(xiàn)的錯(cuò)誤。專(zhuān)...

關(guān)鍵字: 指令空間 程序 ARM
關(guān)閉