注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! • 打開購物車 • 查看留言 • 付款方式 • 聯系我們 |
![]() |
首頁 | 電子入門 | 學單片機 | 免費資源 | 下載中心 | 商品列表 | 象棋在線 | 在線繪圖 | 加盟五一 | 加入收藏 | 設為首頁 |
選擇分類:當前分類——小說笑話 相關聯或者相類似的文章: 23年前,有個年輕的女子~~~~(2191) MY8848網站銷聲匿跡 消費者(1196) 有地下王國嗎?(1182) 七仙女離婚(1127) 電容器的參數與分類(1126) TL431特性及應用(1074) 地球的黑洞-百幕大三角區(1069) 錄取通知書遲一年 家長和學校各執(1018) 三途河之鬼——人類真任性(1014) 白女孩(997) 優勝劣汰的用人原則(989) 何為天堂(987) 知識能否改變命運?(978) 求△V特性鎳氫電池充電單元電路圖(974) 深圳美的驚世絕侖(967) 做一個可愛的人(958) 無聊的笑話~~!!!(945) 三極管的開關作用(924) 簡易FM無線話筒!裝好的成品板(921) 考考你的眼睛——請找出那個輪子在(920) 首頁 前頁 后頁 尾頁 本站推薦: | stc2052-clock.asm org 00h jmp config ORG 03H JMP TE0 ORG 0BH JMP TT0 ORG 13H JMP TE1 ORG 1BH JMP TT1 config: MOV TMOD,#00010010B;T0工作在8位自動重裝計數器模式 mov th0,#8 setb tr0 setb et0 setb et1 setb ea mov 3fh,#1;定時總路數,默認為第1路 mov 92h,#11111111b;大電流輸出 mov 0b2h,#11111111b;大電流輸出 mov 39h,#00;工作模式0=走時模式1=校時模式2=定時模式3=誤差模式 mov r2,#0;設定默認的閃動模式 mov r1,#15;設定長按鍵的時間 mov r3,#30;設定不按鍵的最長時間 mov a,3eh cjne a,#51,setup jmp main setup: mov 36h,#12;時默認值 mov 37h,#00;分默認值 mov 38h,#00;秒默認值 mov r0,#80h;定時默認值24:30 dsmr:inc r0 mov @r0,#30 inc r0 mov @r0,#24 cjne r0,#0f0h,dsmr main:mov 3eh,#51 call clock call cup call hled call disp ;LED數碼顯示 call key call run jmp main tt0: inc r7 cjne r7,#168,t0end mov r7,#0 setb 55h t0end:reti clock: jnb 55h,cend;檢查中斷計數標志 clr 55h cpl 56h jnb 56h, cend;一次延時 cpl 57h jnb 57h, cend;二次延時 cpl p3.7 jnb p3.7, cend;三次延時 inc 38h ;時鐘程序秒加1 mov r6,38h cjne r6,#60,cend mov 38h,#0 ck1:inc 37h mov r6,37h cjne r6,#60,cend mov 37h,#0 ck2:inc 36h mov r6,36h cjne r6,#24,cend mov 36h,#0 cend:ret tt1: CLR TR1 MOV TL1,3eh MOV TH1,3dh SETB TR1 reti te0: reti te1: reti cup: mov 3ah,36h mov 3bh,37h mov 3ch,38h mov a,39h cjne a,#20,ms1up mov 3ah,3fh mov a,#80h add a,3fh add a,3fh mov r0,a mov 3bh,@r0 inc r0 mov 3ch,@r0 ms1up:cjne a,#30,msup mov 3ch,55h msup:mov a,3ch mov b,#10 div ab ;將秒計算后送入顯示緩存 mov 30h,b mov 31h,a mov a,3bh mov b,#10 div ab ;將分計算后送入顯示緩存 mov 32h,b mov 33h,a mov a,3ah mov b,#10 div ab ;將小時計算后送入顯示緩存 mov 34h,b mov 35h,a ret hled: mov a,39h cjne a,#10,ms1 jb 56h,ms1 cjne r2,#0,h1 mov 35h,#11 mov 34h,#11 h1:cjne r2,#1,h2 mov 33h,#11 mov 32h,#11 h2:cjne r2,#2,ms1 mov 31h,#11 mov 30h,#11 ms1:cjne a,#20,ms2 jnb 57h,ms2 cjne r2,#0,h21 mov 35h,#11 mov 34h,#11 h21:cjne r2,#1,h22 mov 33h,#11 mov 32h,#11 h22:cjne r2,#2,ms2 mov 31h,#11 mov 30h,#11 ms2:cjne a,#30,hend cjne r2,#0,h31 mov 35h,#12 mov 34h,#12 mov 33h,#12 mov 32h,#12 h31:cjne r2,#1,hend mov 35h,#13 mov 34h,#13 mov 33h,#13 mov 32h,#13 hend:ret disp: mov p1,#10000000b setb p3.0 setb p3.1 setb p3.2 setb p3.3 setb p3.4 setb p3.5 cjne r5,#6,ds0;r5等于顯示的當前LED,r5的值不能隨意改變 mov r5,#0 ds0:inc r5 cjne r5,#1,ds1 clr p3.5 mov a,30h call ledtab ds1:cjne r5,#2,ds2 clr p3.4 mov a,31h jmp ledtab ds2:cjne r5,#3,ds3 clr p3.1 mov a,32h jmp ledtab ds3:cjne r5,#4,ds4 clr p3.3 mov a,33h jmp ledtab ds4:cjne r5,#5,ds5 clr p3.2 mov a,34h jmp ledtab ds5:cjne r5,#6,edisp clr p3.0 mov a,35h jmp ledtab edisp: ret ledtab: jb p1.7, kk ;檢查按鍵是否按下 mov 40h,r5 ;按鍵按下取鍵值 kk:mov dptr,#table movc a,@a+dptr mov p1,a jmp edisp key: cjne r5,#1,scan1 mov 40h,#0 jmp kend scan1: cjne r5,#6,kend mov r6,40h cjne r6,#0,kset;不等于0說明有按鍵按下,分別設定有鍵無鍵的最長時間 mov r1,#20;設定長按鍵時間一般為2-3秒 clr 51h;按鍵放開中 jmp ksetend kset:mov r3,#200;設定不按鍵的最長等待時間,一般為10-30秒 setb 51h;按鍵中 mov a,39h add a,r6 mov r4,a; ksetend: djnz 56h,kend;檢查長按鍵延時用 ;mov 56h,#250;根據時鐘頻率來確定延時程度 cjne r6,#0,long1;不等于0說明有按鍵按下,分別求出有鍵按和無鍵按的時間 djnz r3,kend mov 39h,#0;10秒鐘長時間沒有鍵按下時模式回到正常走時 ;clr p3.7 jmp kend long1: djnz r1,kend mov a,39h add a,#10 mov 39h,a;有按鍵長按2秒以上模式加10 mov r2,#0 ;setb p3.7 kend: kendd: ret skey: jmp kend run:jb 51h,gotoend;按鍵是否放開,不放開不執行按鍵程序 jmp run0 gotoend:jmp runend run0:cjne r4,#16,run1;校時模式 inc r2;調校時分秒三種情況選擇 cjne r2,#3,run1 mov r2,#0 run1:cjne r4,#13,run2;校時加數模式 cjne r2,#0,jj1 inc 36h mov a,36h cjne a,#24,jj1 mov 36h,#0 jj1:cjne r2,#1,jj2 inc 37h mov a,37h cjne a,#60,jj2 mov 37h,#0 jj2:cjne r2,#2,run2 inc 38h mov a,38h cjne a,#60,run2 mov 38h,#0 run2:cjne r4,#14,run3;校時減數模式 cjne r2,#0,jg1 dec 36h mov a,36h cjne a,#255,jg1 mov 36h,#23 jg1:cjne r2,#1,jg2 dec 37h mov a,37h cjne a,#255,jg2 mov 37h,#59 jg2:cjne r2,#2,run3 dec 38h mov a,38h cjne a,#255,run3 mov 38h,#59 run3:cjne r4,#26,run4;定時模式 inc r2;定時模式的R2表示選擇路數、設定小時和分鐘的情況 cjne r2,#3,run4 mov r2,#0 run4:cjne r4,#23,run5;定時模式的加模式 dsjia:cjne r2,#0,dsjia1 inc 3fh mov a,3fh cjne a,#17,dsjia1;最大的定時路數 mov 3fh,#1 dsjia1:cjne r2,#1,dsjia2 inc 3bh mov a,3bh cjne a,#25,dsup11 mov 3bh,#0 dsup11:call dsup dsjia2:cjne r2,#2,run5 inc 3ch mov a,3ch cjne a,#60,dsup22 mov 3ch,#0 dsup22:call dsup run5:cjne r4,#24,run6;定時模式的減模式 dsjian:cjne r2,#0,dsjian1 dec 3fh mov a,3fh cjne a,#0,dsjian1 mov 3fh,#16;最大的定時路數 dsjian1:cjne r2,#1,dsjian2 dec 3bh mov a,3bh cjne a,#0ffh,dsup33 mov 3bh,#24 dsup33:call dsup dsjian2:cjne r2,#2,run6 dec 3ch mov a,3ch cjne a,#0ffh,dsup44 mov 3ch,#59 dsup44:call dsup run6:cjne r4,#36,run7;誤差模式 inc r2;誤差模式的調快還是調慢模式 cjne r2,#2,run7 mov r2,#0 run7:cjne r4,#33,run8;誤差模式 inc 55h;誤差系數的加法 mov a,55h cjne a,#100,run8 mov 55h,#0 run8:cjne r4,#34,run9;誤差模式 dec 55h;誤差系數的減法 mov a,55h cjne a,#255,run9 mov 55h,#99 run9:cjne r4,#46,run10;到正常模式 mov 39h,#0 run10:cjne r4,#43,run11;到正常模式 mov 39h,#0 run11:cjne r4,#44,rund;到正常模式 mov 39h,#0 rund:mov r4,#0 runend:ret dsup:;保存定時時間 mov a,#80h add a,3fh add a,3fh mov r0,a mov @r0,3bh inc r0 mov @r0,3ch ret table: db 11110111b,11000001b,10111011b,11101011b,11001101b,11101110b,11111110b db 11000011b,11111111b,11101111b,00000000b,00000000b,10001000b,10101010b end 1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。 2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! |
本站協議。
版權信息。
關于我們。
本站地圖。
營業執照。
發票說明。
付款方式。
聯系方式
深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102 E-mail:51dz$163.com($改為@);Tel:(0755)27947428 工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389 |