娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月26日(星期日)

2018年01月26日 | HT48R50A的 5X7 LED點陣+LCD顯示示例程序

發布者:Joyful888Life 來源: eefocus關鍵字:HT48R50A  5X7  LED點陣  LCD顯示 手機看文章 掃描二維碼
隨時隨地手機看文章

5X7 LED點陣+LCD顯示示例程序****************************************


; Function :   5X7 LED點陣+LCD顯示示例程序   * 

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

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

#INCLUDE                HT48R50A-1.INC 
LCD_DATA                EQU     PB 
LCD_DATA_CTRL           EQU     PBC 
LCD_CTRL                EQU     PC 
LCD_CTRL_CTRL           EQU     PCC 
E                       EQU     5 
RS                      EQU     3 
TIME_OUT                EQU     11H 
CLR_WDT                 EQU     22H 
EXE_HALT                EQU     33H 
CLR_WDT1_WDT2           EQU     44H 
;-------------------------------------------------------------------- 
DATA    .SECTION        AT 60H  ’DATA’ 
DELAY_COUNTER_1         DB      ?       ;[60H] 
DELAY_COUNTER_2         DB      ?       ;[61H] 
DELAY_COUNTER_3         DB      ?       ;[62H] 
DATA                    DB      ?       ;[63H] 
COUNTER                 DB      ?       ;[64H] 
WARM_RESET              DB      ?       ;[65H] 
DISPLAY_FLAG            DB      ?       ;[66H] 
;-------------------------------------------------------------------- 
CODE    .SECTION        AT 00H  ’CODE’ 
                ORG     00H 
                JMP     START 
START: 
                CLR     PAC 
                CLR     LCD_DATA_CTRL 
                CLR     LCD_CTRL_CTRL 
                CLR     LCD_DATA 
                CLR     LCD_CTRL 
;-------------------------------------------------------------------- 
                 MOV      A,07H       ; set watch dog time out 
                 MOV      WDTS,A      ; 2.6 sec 
                CLR     WDT         ; clear watch dog timer 
;-------------------------------------------------------------------- 
                 MOV      A,WARM_RESET 
                 MOV      DISPLAY_FLAG,A 
                SUB     A,TIME_OUT 
                SZ      ACC 
                JMP     CHK_CLR_WDT 
                JMP     GO_TIME_OUT 
CHK_CLR_WDT: 
                 MOV      A,WARM_RESET 
                 MOV      DISPLAY_FLAG,A 
                SUB     A,CLR_WDT 
                SZ      ACC 
                JMP     CHK_EXE_HALT 
                JMP     GO_CLR_WDT 
CHK_EXE_HALT: 
                 MOV      A,WARM_RESET 
                 MOV      DISPLAY_FLAG,A 
                SUB     A,EXE_HALT 
                SZ      ACC 
                JMP     CHK_CLR_WDT_12 
                JMP     GO_EXE_HALT 
CHK_CLR_WDT_12: 
                 MOV      A,WARM_RESET 
                 MOV      DISPLAY_FLAG,A 
                SUB     A,CLR_WDT1_WDT2 
                SZ      ACC 
                JMP     BEGIN 
                JMP     GO_CLR_WDT_12 
BEGIN: 
                CALL    LCD_RESET 
                CLR     WDT         ; clear watch dog timer 
;-------------------------------------------------------------------- 
GO_TIME_OUT: 
                 MOV      A,CLR_WDT 
                 MOV      WARM_RESET,A 
                 MOV      A,OFFSET LCD_MESSAGE_1 
                 MOV      TBLP,A 
                CALL    LCD_DISPLAY 
TIME_OUT_LOOP: 
                CALL    LED_DISPLAY 
                JMP     TIME_OUT_LOOP 
                RET 
;-------------------------------------------------------------------- 
GO_CLR_WDT: 
                 MOV      A,EXE_HALT 
                 MOV      WARM_RESET,A 
                 MOV      A,OFFSET LCD_MESSAGE_2 
                 MOV      TBLP,A 
                CALL    LCD_DISPLAY 
CLR_WDT_LOOP: 
                CALL    LED_DISPLAY 
                JMP     CLR_WDT_LOOP 
                RET 
;-------------------------------------------------------------------- 
GO_EXE_HALT: 
                 MOV      A,CLR_WDT1_WDT2 
                 MOV      WARM_RESET,A 
                 MOV      A,OFFSET LCD_MESSAGE_3 
                 MOV      TBLP,A 
                CALL    LCD_DISPLAY 
EXE_HALT_LOOP: 
                CALL    LED_DISPLAY 
                JMP     EXE_HALT_LOOP 
                RET 
;-------------------------------------------------------------------- 
GO_CLR_WDT_12: 
                 MOV      A,TIME_OUT 
                 MOV      WARM_RESET,A 
                 MOV      A,OFFSET LCD_MESSAGE_4 
                 MOV      TBLP,A 
                CALL    LCD_DISPLAY 
CLR_WDT_12_LOOP: 
                CALL    LED_DISPLAY 
                JMP     CLR_WDT_12_LOOP 
                RET 
;-------------------------------------------------------------------- 
LED_DISPLAY     PROC 
                SET     PA 
                CALL    DELAY 
                 MOV      A,OFFSET SEGMENT_DATA 
                 MOV      TBLP,A 
                 MOV      A,10H 
                 MOV      COUNTER,A 
DISPLAY_START: 
                TABRDL  DATA 
                 MOV      A,DATA 
                 MOV      PA,A 
                CALL    DELAY 
                INC     TBLP 

                 MOV      A,DISPLAY_FLAG 
                SUB     A,CLR_WDT 
                SZ      ACC 
                JMP     LED_CLR_WDT12 
                CLR     WDT 
                JMP     DISPLAY_END 
LED_CLR_WDT12: 
                 MOV      A,DISPLAY_FLAG 
                SUB     A,CLR_WDT1_WDT2 
                SZ      ACC 
                JMP     LED_EXE_HALT 
                CLR     WDT1 
                CLR     WDT2 
                JMP     DISPLAY_END 
LED_EXE_HALT: 
                 MOV      A,DISPLAY_FLAG 
                SUB     A,EXE_HALT 
                SZ      ACC 
                JMP     DISPLAY_END 
                HALT 
DISPLAY_END: 
                SDZ     COUNTER 
                JMP     DISPLAY_START 
                RET 
LED_DISPLAY     ENDP 
;-------------------------------------------------------------------- 
LCD_RESET       PROC 
                 MOV      A,30H       ; LCD reset , step 1 
                 MOV      LCD_DATA,A  ; 
                CALL    WRITE       ; 
                CALL    DELAY       ; LCD reset , step 2 
                 MOV      A,30H       ; LCD reset , step 3 
                 MOV      LCD_DATA,A  ; 
                CALL    WRITE       ; 
                CALL    DELAY       ; LCD reset , step 4 
                 MOV      A,30H       ; LCD reset , step 5 
                 MOV      LCD_DATA,A  ; 
                CALL    WRITE       ; 
                 MOV      A,38H       ; LCD setting , step 1 
                 MOV      LCD_DATA,A  ; function set 
                CALL    WRITE       ; 
                 MOV      A,06H       ; LCD setting , step 2 
                 MOV      LCD_DATA,A  ; entry mode set 
                CALL    WRITE       ; 
                 MOV      A,01H       ; LCD setting , step 3 
                 MOV      LCD_DATA,A  ; display clear 
                CALL    WRITE       ; 
                CALL    DELAY       ; 
                 MOV      A,0EH       ; LCD setting , step 4 
                 MOV      LCD_DATA,A  ; display turn on 
                CALL    WRITE       ; 
                RET 
LCD_RESET       ENDP 
;-------------------------------------------------------------------- 
LCD_DISPLAY     PROC 
                 MOV      A,01H       ; LCD setting , step 5 
                 MOV      LCD_DATA,A  ; display clear 
                CALL    WRITE       ; 
                CALL    DELAY       ; 
                 MOV      A,80H       ; LCD setting , setp 6 
                 MOV      LCD_DATA,A  ; DD RAM address setting 
                CALL    WRITE       ; address = 00h (first line) 
                SET     LCD_CTRL.RS ; LCD setting , step 7 
                 MOV      A,10H       ; write data to DD RAM 
                 MOV      COUNTER,A 
DISPLAY1: 
                TABRDL  DATA 
                 MOV      A,DATA 
                 MOV      LCD_DATA,A 
                CALL    WRITE 
                INC     TBLP 
                SDZ     COUNTER 
                JMP     DISPLAY1 
                CLR     LCD_CTRL.RS 
                 MOV      A,0C0H      ; LCD setting , step 8 
                 MOV      LCD_DATA,A  ; DD RAM address setting 
                CALL    WRITE       ; address = 40h (second line) 
                SET     LCD_CTRL.RS ; LCD setting , step 9 
                 MOV      A,10H       ; write data to DD RAM 
                 MOV      COUNTER,A 
DISPLAY2: 
                TABRDL  DATA 
                 MOV      A,DATA 
                 MOV      LCD_DATA,A 
                CALL    WRITE 
                INC     TBLP 
                SDZ     COUNTER 
                JMP     DISPLAY2 
                RET 
LCD_DISPLAY     ENDP 
;-------------------------------------------------------------------- 
WRITE           PROC 
                SET     LCD_CTRL.E 
                CLR     LCD_CTRL.E 
                 MOV      A,0FFH 
                 MOV      DELAY_COUNTER_1,A 
WAIT: 
                SDZ     DELAY_COUNTER_1 
                JMP     WAIT 
                RET 
WRITE           ENDP 
;-------------------------------------------------------------------- 
DELAY           PROC 
                 MOV      A,003H 
                 MOV      DELAY_COUNTER_1,A 
                 MOV      DELAY_COUNTER_2,A 
                 MOV      DELAY_COUNTER_3,A 
DELAY_WAIT: 
                SDZ     DELAY_COUNTER_3 
                JMP     DELAY_WAIT 
                SDZ     DELAY_COUNTER_2 
                JMP     DELAY_WAIT 
                SDZ     DELAY_COUNTER_1 
                JMP     DELAY_WAIT 
                RET 
DELAY           ENDP 
;-------------------------------------------------------------------- 
                ORG     0F00H 
LCD_MESSAGE_1:          ;[Now , watch dog ] 
                        ;[will be time out] 
                DC      4EH,6FH,77H,20H,2CH,20H,77H,61H 
                DC      74H,63H,68H,20H,64H,6FH,67H,20H 
                DC      77H,69H,6CH,6CH,20H,62H,65H,20H 
                DC      74H,69H,6DH,65H,20H,6FH,75H,74H 

LCD_MESSAGE_2:          ;[Without time out] 
                        ;[Because CLR WDT ] 
                DC      57H,69H,74H,68H,6FH,75H,74H,20H 
                DC      74H,69H,6DH,65H,20H,6FH,75H,74H 
                DC      42H,65H,63H,61H,75H,73H,65H,20H 
                DC      43H,4CH,52H,20H,57H,44H,54H,20H 

LCD_MESSAGE_3:          ;[Executing the   ] 
                        ;[HALT instruction] 
                DC      45H,78H,65H,63H,75H,74H,69H,6EH 
                DC      67H,20H,74H,68H,65H,20H,20H,20H 
                DC      48H,41H,4CH,54H,20H,69H,6EH,73H 
                DC      74H,72H,75H,63H,74H,69H,6FH,6EH 

LCD_MESSAGE_4:          ;[Without time out] 
                        ;[CLR WDT1 & WDT2 ] 
                DC      57H,69H,74H,68H,6FH,75H,74H,20H 
                DC      74H,69H,6DH,65H,20H,6FH,75H,74H 
                DC      43H,4CH,52H,20H,57H,44H,54H,31H 
                DC      20H,26H,20H,57H,44H,54H,32H,20H 

SEGMENT_DATA:   ;7 SEGMENT DISPLAY DATA (COMMON ANODE) 
                DC      081H,0CFH,092H,086H     ;0123 
                DC      0CCH,0A4H,0A0H,08FH     ;4567 
                DC      080H,084H,088H,0E0H     ;89AB 
                DC      0B1H,0C2H,0B0H,0B8H     ;CDEF 
;-------------------------------------------------------------------- 
                END 


關鍵字:HT48R50A  5X7  LED點陣  LCD顯示 引用地址:HT48R50A的 5X7 LED點陣+LCD顯示示例程序

上一篇:HT48R50A的 電源掉電模式示例程序
下一篇:HT48R50A的 LCD字符顯示+KEY按鍵處理示例程序

推薦閱讀

近日索尼移動官方確認,已經關閉了“my Xperia”設備遠程追蹤服務,索尼在關閉之前沒有發布任何消息,但本周早些時候希望訪問該服務的Xperia智能手機用戶被重定向到Google的“查找我的設備”網站。索尼“my Xperia”跟蹤服務與谷歌的“查找我的設備”類似,這可能是索尼移動決定取消該服務的原因之一。索尼員工在官方論壇建議用戶使用谷歌服務。據了解,...
如果有屬于科技領域的熱詞榜,毫無疑問,會有「芯片」的一席之地。無論起因多復雜,無論大家在這個無數次上了頭條的詞語背后,讀出了什么「真相」,又主動承載或者被動撩撥起了哪些紛繁的情緒;一個事實是,幾十年來,一直「高冷」的芯片行業在2018 年以前所未有的熱度降臨到大眾視線中,伴隨而來的,是政策的激勵、資本的關注和市場的變化。那么,剛過去...
工業機器人本體競爭格局:四大家族壟斷,國產品牌突圍工業機器人“四大家族”日本發那科、瑞士ABB、日本安川、德國KUKA,在全球高端應用領域占有較高市占率。國內品牌廣州啟帆、埃夫特、新松、埃斯頓、廣州數控、新時達享受市場增長紅利快速成長,正在國內市場實現突圍。2016年,“四大家族”全球市場中的市占率合計達58%,占據了全球市場份額的超過半壁江...
由于汽車需求飆升,日本半導體巨頭瑞薩電子、荷蘭芯片制造商恩智浦半導體(NXP Semiconductors)和其他芯片制造商正在提高用于汽車和電信設備的半導體價格。 瑞薩電子是NEC電子以及瑞薩科技合并后所成立的新公司,于2009年9月16日簽定最終協議,以NEC電子為存續公司,與瑞薩科技進行合并,該公司是全球第三大汽車芯片供應商。 瑞薩要求其客戶接受更高價格的...

史海拾趣

問答坊 | AI 解惑

cadence 16.3

bt 種子,16.2 有時候會死機,不知道這個好不好一些,破解同1.62…

查看全部問答∨

關于連接數計算的問題

AB控制系統中控制器和通訊模塊各自有自己的連接數上限,例如ControlLogix有250個連接上限,1756-CNB有64個,1756-ENBT有128個,請看問題: 1、假如我的系統有1個CPU,1個本地CNBR,5個遠程CNBR,是每個CNBR都有64個連接數的上限,還是這6個CNBR加 ...…

查看全部問答∨

S3C6410 WINCE6 SD卡升級 求解

最近在思考一個問題,就是有關SD卡升級的。 我看到過三星發布2442下的SD卡升級,但有個缺陷是只支持FAT格式的小容量卡,而且,在EBOOT里面去讀寫卡的block、sector,簡直有點復雜。 我在想,如果是FAT32格式的(現在基本上都是FAT32格式了)SD卡能 ...…

查看全部問答∨

三星2440驅動程序集

三星2440驅動程序集 http://www.itxxh.cn/book/2440/zaxsw1567.shtml…

查看全部問答∨

EVC中SDK卸載和PB中刪除workspace的問題

軟件:evc4、platform builder5.0 問題: 1、在安裝了很多SDK后想卸掉一些不用的,可是卸載并刪除Windows CE Tools\\wce500\\下對應的SDK文件夾后,打開EVC工程后,發現該SDK選項還在,    如何根除該SDK?下圖是我卸載后X86_320_240仍 ...…

查看全部問答∨

spi模式讀sd卡

請問誰有相關例程  能提供一份嗎  謝謝  chenjinb03@163.com…

查看全部問答∨

【M4學習之一】與TI的FAE聊M3/M4的區別

昨天成都地區TI的FAE到我們公司來推廣M4,一樣對我拿到M4開發板比較震驚,據說整個中國地區只有20塊左右,他們培訓完也全部上交了,其實開始拿到M4開發板,個人覺得和M3比較起來除了外設比較多外其他差別不是太大,但是昨天和FAE聊了一下發現TI推出 ...…

查看全部問答∨

VHDL語言對2個信號的判斷?

想用FPGA實現一個單道脈沖計數器,就是記錄脈沖峰值在某兩個電壓之間的脈沖數。大致思路是用兩個比較器構成雙限比較器。然后把比較器的輸出值值輸入到FGPA。一般的思路是把兩個信號異或,但是由于脈沖不是典型的沖擊信號,上升沿和下降沿不是垂直的 ...…

查看全部問答∨

求大神 adc分壓采樣問題

我用的adc10采樣 但是adc10內阻很小 如果不用跟隨器 在軟件層面有沒有什么好的解決辦法?…

查看全部問答∨

STM32F407關于ST-link下載的問題

st-link下載成功不了,老是報錯。…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 普宁市| 乐安县| 贺州市| 库车县| 大关县| 宜城市| 绥滨县| 疏附县| 罗源县| 蒙自县| 土默特左旗| 堆龙德庆县| 新田县| 论坛| 阜平县| 临沂市| 屏山县| 司法| 冀州市| 大田县| 文成县| 灵宝市| 梧州市| 绿春县| 江口县| 泽库县| 吐鲁番市| 虎林市| 长治县| 逊克县| 长丰县| 淮阳县| 广水市| 永川市| 定边县| 留坝县| 临夏市| 正宁县| 布拖县| 永川市| 普陀区|