電子時鐘日曆製作原理圖、參考電路圖、和應用程序、液晶屏選用的是HD61202晶元,128*64點陣。 1。電源VCC為5V,至少提供200mA。(可以用3w6v的變壓器整流濾波再通過7805穩壓獲得。) 2。J1為液晶屏的介面,圖中液晶屏選用的是HD61202晶元,128*64點陣,網友購買時需向供貨商索要相關資料及介面定義。液晶屏的介面定義已實現標準化,但引腳分佈可能不同,此千萬要注意。如果購買時能測試液晶屏的好壞最好。 程序如下: time0 equ 32 ;53ms time1 equ 187 ;10s sel0 equ 0feh ;秒低位 sel1 equ 0fdh ;秒高位 sel2 equ 0fbh ;分低位 sel3 equ 0f7h ;分高位 sel4 equ 0efh ;時低位 sel5 equ 0dfh ;時高位 sel6 equ 0bfh ;日低位 sel7 equ 07fh ;日高位 sel8 equ 0feh ;月低位 sel9 equ 0fdh ;月高位 sel10 equ 0fbh ;年低位 sel11 equ 0f7h ;年高位 selno equ 0ffh ;--------------------- outPort data p0 selPort0 data p2 selPort1 data p1 second0 data 08h second1 data 09h minute0 data 0ah minute1 data 0bh hour0 data 0ch hour1 data 0dh date0 data 0eh date1 data 0fh month0 data 10h month1 data 11h year0 data 12h year1 data 13h selLED data 30h ;led動態掃描計數 sELData data 31h ;修改時選擇項目 key0Data data 32h ;按鍵狀態 key1Data data 33h key2Data data 34h key3Data data 35h tims data 36h tims0 data 37h ;--------------------- rst bit p3.0 io bit p3.1 sclk bit p3.2 key0PIN bit p1.4 key1Pin bit p1.5 key2Pin bit p1.6 key3Pin bit p1.7 ;--------------------- chgMode bit 20h.0 ;修改狀態或平常狀態 sel0Dot bit 21h.0 ;小數點狀態 sel1Dot bit 21h.1 sel2Dot bit 21h.2 sel3Dot bit 21h.3 sel4Dot bit 21h.4 sel5Dot bit 21h.5 sel6Dot bit 21h.6 sel7Dot bit 21h.7 sel8Dot bit 22h.0 sel9Dot bit 22h.1 sel10Dot bit 22h.2 sel11Dot bit 22h.3 ;--------------------- org 0 ljmp main org 0bh ;---------------------------------------- tim0: mov th0,#0f2h ;24M-1666us,50Hz刷新率 mov tl0,#0fch ;3332 push acc push psw push 00h mov a,selled rl a jmp @a+dptr selLab: ajmp sel0do ajmp sel1do ajmp sel2do ajmp sel3do ajmp sel4do ajmp sel5do ajmp sel6do ajmp sel7do ajmp sel8do ajmp sel9do ajmp sel10do ;ajmp sel11do sel11do:mov selled,#0ffh mov c,sel11Dot mov selPort1,#sel11 ajmp sel10a sel0do: mov selPort0,#sel0 mov c,sel0Dot ajmp sel7a sel1do: mov selPort0,#sel1 mov c,sel1Dot ajmp sel7a sel2do: mov selPort0,#sel2 mov c,sel2Dot ajmp sel7a sel3do: mov selPort0,#sel3 mov c,sel3Dot ajmp sel7a sel4do: mov selPort0,#sel4 mov c,sel4Dot ajmp sel7a sel5do: mov selPort0,#sel5 mov c,sel5Dot ajmp sel7a sel6do: mov selPort0,#sel6 mov c,sel6Dot ajmp sel7a sel7do: mov selPort0,#sel7 mov c,sel7Dot sel7a: mov selPort1,#selno ajmp _tim0a sel8do: mov selPort1,#sel8 mov c,sel8Dot ajmp sel10a sel9do: mov selPort1,#sel9 mov c,sel9Dot ajmp sel10a sel10do:mov selPort1,#sel10 mov c,sel10Dot sel10a: mov selPort0,#selno ;ajmp _tim0a _tim0a:mov f0,c mov a,selled add a,#second0 mov r0,a mov a,@r0 add a,#2 movc a,@a+pc sjmp _tim0b NUMLAB: ;共陽 db 0C0H ;NUM_0 db 0F9H ;NUM_1 db 0A4H ;NUM_2 db 0B0H ;NUM_3 db 99H ;NUM_4 db 92H ;NUM_5 db 82H ;NUM_6 db 0F8H ;NUM_7 db 80H ;NUM_8 db 90H ;NUM_9 ;db 88H ;NUM_A ;db 83H ;NUM_B ;db 0C6H ;NUM_C ;db 0A1H ;NUM_D ;db 86H ;NUM_E ;db 8EH ;NUM_F _tim0b:mov c,f0 mov acc.7,c mov outPort,a inc selled djnz tims,_tim0c mov tims,#time0 acall read1302 ;讀1302/53ms jnb chgMode,_tim0c djnz tims0,_tim0c clr chgMode ;修改模式結束 mov a,#0ffh mov 21h,a mov 22h,a _tim0c:mov a,tims anl a,#7 jnz _tim0d acall key0 ;按鍵掃描 acall key1 acall key2 acall key3 _tim0d:pop 00h pop psw pop acc reti ;---------------------------------------- main: mov sp,#3fh mov tmod,#01h setb tr0 mov ie,#82h clr a mov selled,a mov seldata,a mov 21h,a mov 22h,a clr chgMode mov tims,#time0 mov dptr,#selLab sjmp $ ;---------------------------------------- |