久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5399|回復(fù): 3
收起左側(cè)

紅外遙控lcd2402液晶顯示智能數(shù)字鐘

[復(fù)制鏈接]
ID:76556 發(fā)表于 2015-4-10 03:53 | 顯示全部樓層 |閱讀模式
      這是一款紅外遙控液晶顯示智能數(shù)字鐘,用遙控調(diào)整時(shí)間,非常方便,遙控器用的是M50462AP發(fā)射芯片的遙控器。,程序來(lái)源于網(wǎng)絡(luò),在這里 我把它收集整理出來(lái),給愛好電子小制作的愛好者作參考,智能數(shù)字鐘制作,是很多電子小制作愛好者都制作過(guò)的電子小制作項(xiàng)目,成功制作這么一件電子小制作作品,可以增強(qiáng)學(xué)習(xí)電子技術(shù)的信心。下面是紅外遙控液晶顯示智能數(shù)字鐘和原理示意圖各源程序:



;紅外遙控液晶屏智能數(shù)字鐘匯編代碼
RS EQU p2.0          ;定義液晶接口
RW EQU p2.1
E EQU p2.2
com EQU 23h
dat EQU 24h
org 0000h
ljmp mm
org 000bh
ljmp ttxx
org 0013h
ljmp tt1
;顯示xsz子程序<占用區(qū)0>********************************************
org 0020h
xsz:nop
push dph             ;保護(hù)現(xiàn)場(chǎng)
push dpl
push acc
push psw
mov com,#93h         ;設(shè)置秒個(gè)位地址
lcall wrcom
mov a,2ah            ;取秒個(gè)位數(shù)據(jù)
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#92h         ;設(shè)置秒十位地址
lcall wrcom
mov a,2bh            ;取秒十位數(shù)據(jù)
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#90h         ;設(shè)置分個(gè)位地址
lcall wrcom
mov a,2ch            ;取分個(gè)位數(shù)據(jù)
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#8fh         ;設(shè)置分十位地址
lcall wrcom
mov a,2dh            ;取分十位數(shù)據(jù)
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#8dh         ;設(shè)置時(shí)個(gè)位地址
lcall wrcom
mov a,2eh            ;取時(shí)個(gè)位數(shù)據(jù)
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#8ch         ;設(shè)置時(shí)十位地址
lcall wrcom
mov a,2fh            ;取時(shí)十位數(shù)據(jù)
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#96h         ;設(shè)置周地址
lcall wrcom               
mov dat,25h          ;取星期字符代碼
lcall wrdat
mov com,#89h         ;設(shè)置日個(gè)位地址
lcall wrcom
mov a,26h            ;取日個(gè)位字符代碼
anl a,#0fh
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#88h         ;設(shè)置日十位地址
lcall wrcom
mov a,26h            ;取日十位字符代碼
swap a
anl a,#0fh
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#86h         ;設(shè)置月個(gè)位地址
lcall wrcom
mov a,27h            ;取月個(gè)位字符代碼
anl a,#0fh
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
mov com,#85h         ;設(shè)置月十位地址
lcall wrcom
mov a,27h            ;取月十位字符代碼
swap a
anl a,#0fh
add a,#30h
mov dat,a            ;送出顯示
lcall wrdat
pop psw              ;恢復(fù)現(xiàn)場(chǎng)
pop acc
pop dpl
pop dph
ret                  ;返回
;主程序*********************************************************
org 0100h
mm:nop
mov th0,#03ch          ;T0設(shè)初始值
mov tl0,#0b0h          ;TH0=3ch,TL0=b0h
mov tmod,#91h          ;T0設(shè)方式1
mov tcon,#14h          ;T0設(shè)控制方式
mov ie,#86h            ;設(shè)中斷允許
mov ip,#04h            ;設(shè)中斷優(yōu)先級(jí)別
mov sp,#7fh            ;設(shè)堆棧入口
mov r6,#00h            ;0.1秒延時(shí)用
mov r7,#00h            ;0.1秒延時(shí)用
mov 08h,#2fh           ;解碼轉(zhuǎn)換用
mov 09h,#07h           ;解碼轉(zhuǎn)換用
mov 10h,#30h           ;讀紅外波頭存放首址
mov 11h,#2fh           ;讀紅外波頭48個(gè)
mov 20h,#00h           ;動(dòng)作標(biāo)志位1
mov 21h,#00h           ;動(dòng)作標(biāo)志位2
mov 22h,#00h           ;備用           
mov 23h,#00h           ;com占用
mov 24h,#00h           ;dat占用
mov 25h,#07h           ;周
mov 26h,#15h           ;日
mov 27h,#01h           ;月  
mov 28h,#00h           ;50mS
mov 29h,#00h           ;500mS
mov 2ah,#00h           ;秒個(gè)位
mov 2bh,#00h           ;秒十位
mov 2ch,#00h           ;分個(gè)位
mov 2dh,#00h           ;分十位
mov 2eh,#00h           ;時(shí)個(gè)位
mov 2fh,#00h           ;時(shí)十位
MOV p0,#01H            ;清屏
lCALL wcom
MOV p0,#38H            ;使用8Bits匯流排,顯示2行5*7字符
lCALL wcom
MOV p0,#0CH            ;顯示開,光標(biāo)關(guān)
lCALL wcom
MOV p0,#06H            ;字符不動(dòng),光標(biāo)自動(dòng)右移一格
lCALL wcom
MOV p0,#80H            ;第一行的開始位置
lcALL wcom
MOV DPTR,#TABLE1       ;顯示
lCALL xsz11            ;到TABLE1取碼
MOV p0,#0C0H           ;第二行的位置
lCALL wcom
MOV DPTR,#TABLE2       ;顯示
lCALL xsz11            ;到TABLE2 取碼
lcall cgwr             ;建立自定義CGRAM字符庫(kù)
m0:nop
lcall xsz
lcall dbf
lcall zh
lcall dbf              
lcall dz
lcall dbf
sjmp m0
; T0定時(shí)子程序<占區(qū)0>************************************************
org 01a0h
ttxx:mov th0,#03ch       ;以下是T0刷新子程序
mov tl0,#0b0h     
push dph
push dpl
push acc
push psw
clr psw.3                ;進(jìn)入第0組工作寄存器
clr psw.4
inc 28h
mov a,28h
cjne a,#0ah,tt22         ;刷新10次
mov 28h,#00h
inc 29h                  ;延時(shí)500mS兩次
mov a,29h
cjne a,#02h,tt22
mov 29h,#00h
inc 2ah                  ;刷新秒個(gè)位
mov a,2ah                ;刷新秒十位
cjne a,#0ah,tt22
mov 2ah,#00h
inc 2bh                  ;刷新秒十位
mov a,2bh
cjne a,#06h,tt22
mov 2bh,#00h
inc 2ch                  ;刷新分個(gè)位
mov a,2ch
cjne a,#0ah,tt22
mov 2ch,#00h
inc 2dh                  ;刷新分十位
mov a,2dh
cjne a,#06h,tt22
mov 2dh,#00h
inc 2eh                  ;刷新時(shí)個(gè)位
mov a,2eh
cjne a,#0ah,tt11
mov 2eh,#00h
inc 2fh                  ;刷新時(shí)十位
tt22:pop psw
pop acc
pop dpl
pop dph
reti
tt11:mov a,2eh
cjne a,#04h,tt22
mov a,2fh
cjne a,#02h,tt22
mov 2eh,#00h             ;到24點(diǎn),時(shí)兩位全清零
mov 2fh,#00h
inc 25h
mov a,25h                ;刷新周數(shù)據(jù)
cjne a,#08h,tt33
mov 25h,#01h
tt33:inc 26h             ;刷新日數(shù)據(jù)
mov a,26h
cjne a,#32,tt44
mov 26h,#01h
inc 27h                  ;刷新月數(shù)據(jù)         
mov b,27h
mov a,27h
anl a,#0fh
cjne a,#03,tt55
mov a,b
anl a,#0f0h
cjne a,#10h,tt22
mov 27h,#01h
sjmp tt22
tt55:mov a,b
anl a,#0fh
cjne a,#0ah,tt22
mov a,b
anl a,#0f0h
swap a
inc a
swap a
mov 27h,a
sjmp tt22
tt44:mov a,26h
anl a,#0fh
cjne a,#0ah,tt22
mov a,26h
swap a
inc a
anl a,#0fh
swap a
mov 26h,a
sjmp tt22

;以下是建立自定義CGRAM字符庫(kù)子程序*********************************
org 0280h
cgwr:nop
mov com,#40h           ;設(shè)置CGRAM首地址
lcall wrcom
mov r2,#64             ;設(shè)置周1~周日共8X8=64個(gè)代碼
mov r3,#00h
mov dptr,#cgtab1       ;設(shè)置字符代碼表首地址
cgwr11:mov a,r3
movc a,@a+dptr         ;取字符代碼
mov dat,a
lcall wrdat
inc r3
djnz r2,cgwr11
ret
;以下是CGRAM數(shù)據(jù)表*************************************************
cgtab1:
db 00h,01h,02h,03h,04h,05h,06h,07h         ;"空"代碼=0x00h
db 00h,00h,00h,00h,0ffh,00h,00h,00h        ;"一"代碼=0x01h
db 00h,00h,00h,0eh,00h,0ffh,00h,00h        ;"二"代碼=0x02h
db 00h,00h,0ffh,00h,0eh,00h,0ffh,00h       ;"三"代碼=0x03h
db 00h,00h,0ffh,0f5h,0fbh,0f1h,0ffh,00h    ;"四"代碼=0x04h
db 00h,0feh,08h,0feh,0ah,0ah,0ffh,00h      ;"五"代碼=0x05h
db 00h,04h,00h,0ffh,00h,0ah,11h,00h        ;"六"代碼=0x06h
db 1fh,11h,11h,1fh,11h,11h,1fh,00h         ;"日"代碼=0x07h
;以下是字符數(shù)據(jù)表**************************************************
table1: db"2008-  -      :  :   < >",00H
table2: db"       Li-xiao-an       ",00H
org 0330h
wcom:CLR RS             ;送命令
CLR RW
CLR E
lCALL Dbf
SETB E
RET
wdat:SETB RS            ;送顯示數(shù)據(jù)
CLR RW
CLR E
lCALL Dbf
SETB E
RET
xsz11:push dph
push dpl
push acc
push psw
MOV R1,#00H             ;顯示table中的值
A1: MOV A,R1            ;到table取碼
MOVC A,@A+DPTR
mov p0,a
lcall wdat              ;顯示到lcd
INC R1
CJNE A,#00H,A1          ;是否到00h
pop psw
pop acc
pop dpl
pop dph
RET
Dbf: push psw
clr psw.3
clr psw.4
MOV R7,#02              ;延時(shí)0.5mS子程序
D1:MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,D1
pop psw
RET
wrcom:nop               ;寫指令子程序******************
push acc
clr rs
clr rw
clr e
lcall Dbf
mov p0,com
setb e
clr e
pop acc
ret
wrdat:nop               ;寫數(shù)據(jù)子程序******************
push acc
setb rs
clr rw
clr e
lcall Dbf
mov p0,dat
setb e
clr e
pop acc
ret

;tt1 T1讀紅外代碼子程序<占用區(qū)2 >*******************************
org 0400h
tt1:push dph           ;保護(hù)現(xiàn)場(chǎng)
push dpl
push acc
push psw
jb 01h,t3
jb 02h,t3
jb 00h,t2              ;如果收到遙控引導(dǎo)碼則進(jìn)入接收識(shí)別模式
mov th1,#00h           ;清T1,為接收做準(zhǔn)備
mov tl1,#00h
setb 00h               ;設(shè)接收遙控波頭準(zhǔn)備好標(biāo)志位
setb tr1               ;開T1中斷
sjmp t3
t2:setb psw.4          ;進(jìn)入?yún)^(qū)2
clr psw.3
mov @r0,th1
mov th1,#00h           ;清T1,準(zhǔn)備讀下一位
mov tl1,#00h
inc r0
djnz r1,t3             ;全部信號(hào)接收完閉否?
mov 10h,#30h
mov 11h,#2fh
setb 27h
setb 01h               ;設(shè)讀取完成與允許轉(zhuǎn)換標(biāo)志位
clr ex1                ;關(guān)外部中斷1
clr tr1                ;關(guān)T1中斷
clr 00h                ;恢復(fù)接收標(biāo)致位
t3:pop psw
pop acc
pop dpl
pop dph
reti
;zh轉(zhuǎn)換子程序<占用區(qū)1>*********************************************
org 0480h
zh: push dph               ;將識(shí)別后的遙控信號(hào)轉(zhuǎn)換成16位動(dòng)作代碼
push dpl
push acc
push psw
setb psw.3                 ;進(jìn)入?yún)^(qū)i
clr psw.4
mov r0,#2fh
mov r1,#07h                ;8位一小組
jb 00h,h01
jb 02h,h01
jb 01h,h0                  ;允許轉(zhuǎn)換否?
h00:setb ex1
mov 20h,#00h
mov 21h,#00h
h01:mov 08h,#2fh
mov 09h,#07h
pop psw
pop acc
pop dpl
pop dph
ret
h0: inc r0                 ;取第一組第一位
cjne r0,#50h,h1            ;是否干擾?
sjmp h2                    ;是則返回
h1: jc h2
sjmp h00
h2:cjne @r0,#07h,h0        ;開始轉(zhuǎn)換第一組第一位
inc r0
cjne @r0,#07h,h0
inc r0
cjne @r0,#07h,h0
inc r0
cjne @r0,#02h,h0
inc r0
cjne @r0,#02h,h0
inc r0
cjne @r0,#02h,h0
inc r0
cjne @r0,#07h,h0
inc r0
cjne @r0,#02h,h0
cjne r0,#58h,h3           ;地址碼正確否?
sjmp h4
h3: jc h4
sjmp h00
h4: inc r0                ;開始轉(zhuǎn)換指令碼
mov a,@r0
jb acc.2,h5
clr 08h
sjmp h6
h5: setb 08h
h6: mov a,21h
rl a
mov 21h,a
djnz r1,h4               ;8位指令碼轉(zhuǎn)換完否?
setb 02h                 ;設(shè)置允許執(zhí)行動(dòng)作標(biāo)志位
clr 01h                  ;清除允許轉(zhuǎn)換標(biāo)志位
sjmp h01
;dz動(dòng)作子程序<不占區(qū)>**********************************************
org 0500h
dz: push dph             ;執(zhí)行相應(yīng)的動(dòng)作
push dpl
push acc
push psw
jb 00h,d01
jb 01h,d01
jnb 02h,d01              ;允許動(dòng)作否?
mov a,21h
cjne a,#0cch,dz2         ;是分增加否?
inc 2ch
mov a,2ch
cjne a,#0ah,d00
mov 2ch,#00h
inc 2dh
mov a,2dh
cjne a,#06h,d00
mov 2dh,#00h
sjmp d00
dz2:mov a,21h            ;是分減少否?
cjne a,#0dch,dz3
mov a,2ch                ;分減1
cjne a,#00h,dz21
mov 2ch,#09h
mov a,2dh
cjne a,#00h,dz22
mov 2dh,#05h
sjmp d00
dz21:dec 2ch
sjmp d00
dz22:dec 2dh
d00:setb ex1             ;全部動(dòng)作完成后重新打開外部中斷1
mov 20h,#00h             ;清除全部標(biāo)志位
mov 21h,#00h             ;清除已完成的動(dòng)作代碼
d01:pop psw
pop acc
pop dpl
pop dph
ret
dz3:mov a,21h            ;是時(shí)增加否?
cjne a,#0c4h,dz5
inc 2eh
mov a,2eh
cjne a,#0ah,dz4
mov 2eh,#00h
inc 2fh
sjmp d00
dz4:mov a,2eh
cjne a,#04h,d00
mov a,2fh
cjne a,#02h,d00
mov 2eh,#00h
mov 2fh,#00h
sjmp d00
dz5:mov a,21h
cjne a,#0d4h,dz6         ;是時(shí)減少否?
mov a,2fh
cjne a,#00h,dz51
mov a,2eh
cjne a,#00h,dz50
mov 2fh,#02h             ;判別小時(shí)2位均為0則強(qiáng)制2fh=#02h,2eh=#03h
mov 2eh,#03h
sjmp d00
dz50:dec 2eh
sjmp d00
dz51:mov a,2fh
cjne a,#02h,dz52
dz52:mov a,2eh
cjne a,#00h,dz51
dec 2fh
mov 2eh,#09h
sjmp d00
dz6:mov a,21h            ;刷新周數(shù)據(jù)
cjne a,#044h,dz7
inc 25h
mov a,25h               
cjne a,#08h,dz777
mov 25h,#01h
sjmp dz777
dz7:mov a,21h            ;刷新月數(shù)據(jù)
cjne a,#054h,dz8
inc 27h                  
mov b,27h
mov a,27h
anl a,#0fh
cjne a,#03,dz71
mov a,b
anl a,#0f0h
cjne a,#10h,dz777
mov 27h,#01h
sjmp dz777
dz71:mov a,b
anl a,#0fh
cjne a,#0ah,dz777
mov a,b
anl a,#0f0h
swap a
inc a
swap a
mov 27h,a
dz777:ljmp d00
dz8:mov a,21h            ;是日期增加否?
cjne a,#50h,dz9
inc 26h
mov a,26h
cjne a,#32h,dz81
mov 26h ,#01h
sjmp dz777
dz81:mov a,26h
anl a,#0fh
cjne a,#0ah,dz777
mov a,26h
swap a
inc a
anl a,#0fh
swap a
mov 26h,a
sjmp dz777
dz9:mov a,21h            ;是日期減小否?
cjne a,#48h,dz777
mov a,26h
cjne a,#01h,dz91
mov 26h,#31h
sjmp dz777
dz91:mov a,26h
cjne a,#31h,dz92
dec 26h
sjmp dz777
dz92:mov a,26h
cjne a,#30h,dz93
mov 26h,#29h
sjmp dz777
dz93:mov a,26h
cjne a,#20h,dz94
mov 26h,#19h
sjmp dz777
dz94:mov a,26h
cjne a,#10h,dz95
mov 26h,#09h
sjmp dz777
dz95:dec 26h
sjmp dz777
end
;CGRAM的首地址為40h。
;DDRAM的首地址為80h。
;E端子應(yīng)該是H為使能。
;BF為低電平表示忙就循環(huán)等待。
      總之,這款紅外遙控液晶顯示智能數(shù)字鐘,用遙控調(diào)整時(shí)間,非常方便。

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
ssfc + 5 贊一個(gè)!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:76584 發(fā)表于 2015-4-10 14:24 | 顯示全部樓層
為何不用C語(yǔ)言,,,,看的暈了。
回復(fù)

使用道具 舉報(bào)

ID:74784 發(fā)表于 2016-12-19 16:20 | 顯示全部樓層
樓主怎么個(gè)意思???
轉(zhuǎn)發(fā)我的原創(chuàng)怎么不注明出處???
回復(fù)

使用道具 舉報(bào)

ID:74784 發(fā)表于 2016-12-19 16:23 | 顯示全部樓層
這是出處:www點(diǎn)cdle點(diǎn)net/thread-46165-1-1.html
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av天天澡天天爽天天av | 国产精品91久久久久久 | 黄色在线免费观看视频网站 | 欧美一区二区三区电影 | 欧美一区二区 | 精品国产欧美一区二区 | 在线区| 精品视频免费在线 | 亚洲精品1区 | 精品久久国产 | 亚洲不卡在线观看 | 少妇午夜一级艳片欧美精品 | 国产精品成人一区二区三区夜夜夜 | 精品久久影院 | 亚洲www啪成人一区二区 | 国产成人精品免费 | 在线播放91 | 欧美午夜一区 | 视频一区二区三区中文字幕 | 精品一区二区三区视频在线观看 | 欧美精品在线播放 | 久久久精品国产 | 欧美九九 | xxx视频 | 国产精品爱久久久久久久 | 成人国产精品久久久 | 国产精品综合视频 | 可以免费观看的av片 | 午夜精品久久久久久久久久久久 | 色婷婷综合网 | 欧洲尺码日本国产精品 | 中文字幕亚洲专区 | www.狠狠干 | 成人福利网 | 免费观看一级毛片 | 精品日本中文字幕 | 亚洲综合资源 | 国产精品亚洲一区 | 精品欧美乱码久久久久久 | 亚洲欧美一区二区三区1000 | 久草网址|