数码万年历的调整方法
液晶显示万年历(汇编程序+原理图)

TEMPER_L EQU 40H;用于保存读出温度的高8位TEMPER_H EQU 41H;用于保存读出温度的低8位FLAG1 EQU 42H;是否检测到DS18B20标志位a_bit equ 43h ;数码管个位数存放内存位置b_bit equ 44h ;数码管十位数存放内存位置T_RST Bit P3.6 ;实时时钟复位线引脚T_CLK Bit P3.4 ;实时时钟时钟线引脚T_IO Bit P3.5 ;实时时钟数据线引脚SECOND EQU 45HMINUTE EQU 46HHOUR EQU 47HDAY EQU 48HMONTH EQU 49HWEEK EQU 4AHYEARL EQU 4BHCSA EQU p2.4CSB EQU p2.3rs EQU P2.2rw EQU P2.1E EQU P2.0COM EQU 21HDAT EQU 22Hcolumn EQU 23Hpagef EQU 24hcpage EQU 25Hccolumn EQU 26Hcodes EQU 27hcolumn2 EQU 28Hpagef2 equ 29hcpage2 EQU 2aHccolumn2 EQU 2bHcolumn3 EQU 2eHpagef3 equ 2fhcpage3 EQU 30Hccolumn3 EQU 31Hcolumn4 EQU 32Hpagef4 equ 33hcpage4 EQU 34Hccolumn4 EQU 35Hcolumn5 EQU 36Hpagef5 equ 37hcpage5 EQU 38Hccolumn5 EQU 39HORG 0LJMP STARTORG 3LJMP XX0ORG 13HLJMP XX1;*********************************************主程序开始START: MOV TMOD,#01HMOV TH0,#03CH ;置定时器初值(定时50ms)MOV TL0,#0B0HSETB TR0 ;启动定时器0MOV SP,#60H ;修改堆栈LCALL INT ;调用初始化子程序LCALL CLEAR ;调用清屏子程序;*********************************************固定显示字符mov column3,#48mov pagef3,#0mov codes,#8 ;年lcall writeleft2mov column4,#16mov pagef4,#0mov codes,#9 ;;;;;月lcall writeright2mov column4,#48mov pagef4,#0 ;;;;;;日mov codes,#10lcall writeright2mov column3,#0mov pagef3,#2 ;;;星mov codes,#11lcall writeleft2mov column3,#16mov pagef3,#2 ;;;;;;期mov codes,#12lcall writeleft2mov column4,#0mov pagef4,#2 ;;;;;; :mov codes,#13lcall writeright2mov column4,#32mov pagef4,#2mov codes,#13 ;;;;;; :lcall writeright2mov column4,#48mov pagef4,#4mov codes,#15 ;;;;;;;度lcall writeright2mov column,#16mov pagef,#0mov codes,#2 ;;;;;;;2lcall writeleftmov column,#24mov pagef,#0mov codes,#0 ;;;;;0lcall writeleftmov column4,#0mov pagef4,#4mov codes,#17 ;;;;;;;; 日lcall writeright2;************************** 笨小孩制作,860822lcall a26lcall a27lcall a28lcall a29lcall a30lcall a31lcall a32lcall a33lcall a34lcall a35lcall a36;*************************************************固定显示字符结束MOV DAY,#01H ;初始日期设为08年1月1日星期一MOV MONTH,#01HMOV YEARL,#08HLCALL SETDS1302 ;设置DS1302初始时间LCALL GET1302 ;从DS1302读取时间LCALL DISPLAY ;数码显示子程序MOV R3,#4 ;循环20次到一秒SETB EASETB EX0setb IT0SETB EX1SETB IT1LP1: JNB P3.1 ,QQ0 ;当p3.1口为低电平时跳过读取时间子程序lJMP QQ2QQ0: MOV TH0,#03CHMOV TL0,#0B0HSETB TR0MOV 93H,#0LCALL NIU ;将调整后的时间放入时分秒星期年月日寄存器中LCALL SETDS1302 ;设置DS1302初始时间LCALL GET1302 ;从DS1302读取时间LCALL DISPLAY ;用12864显示QQ2: JBC TF0,QQ1lJMP LP1QQ1: MOV TH0,#03CHMOV TL0,#0B0HLCALL GET1302 ;每过50Ms从DS1302读取一次时间LCALL DISPLAY;************************************节日控制程序开始,所有公历节日都能显示MOV A,49HCJNE A,#01H,ZZ0MOV A,48HCJNE A,#01H,VV0MOV 71H,#19LCALL A8MOV 70H,#18LCALL A7MOV 92H,#210LCALL A40MOV 91H,#210LCALL A41LJMP QQQVV0:CJNE A,#15H,SS0MOV 70H,#20LCALL A7MOV 71H,#21 LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQSS0:LCALL HAHA LJMP QQQZZ0:CJNE A,#02H,ZZ1 MOV A,48HCJNE A,#14H,vv4 MOV 70H,#22 LCALL A7MOV 71H,#23 LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQvv4:CJNE A,#02H,vv5 MOV 70H,#53 LCALL A7MOV 71H,#54 LCALL A8MOV 92H,#55 LCALL A40MOV 91H,#56 LCALL A41LJMP QQQvv5:CJNE A,#10H,SS99 MOV 70H,#41 LCALL A7MOV 71H,#57 LCALL A8MOV 92H,#58 LCALL A40MOV 91H,#59 LCALL A41LJMP QQQSS99:LCALL HAHA LJMP QQQYOU0:LJMP ZZ2ZZ1:CJNE A,#03H,YOU0 MOV A,48HCJNE A,#08H,VV6 MOV 70H,#24 LCALL A7MOV 71H,#25 LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV6:CJNE A,#01H,VV7 MOV 70H,#41 LCALL A7MOV 71H,#57 LCALL A8MOV 92H,#60 LCALL A40MOV 91H,#61 LCALL A41LJMP QQQVV7:CJNE A,#03H,VV8 MOV 70H,#62 LCALL A7MOV 71H,#41 LCALL A8MOV 92H,#63 LCALL A40MOV 91H,#64 LCALL A41LJMP QQQVV8:CJNE A,#05H,VV9 MOV 70H,#65 LCALL A7MOV 71H,#66 LCALL A8MOV 92H,#67 LCALL A40MOV 91H,#68 LCALL A41LJMP QQQVV9:CJNE A,#12H,VV10LCALL A7MOV 71H,#70LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV10:CJNE A,#14H,VV11 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#71LCALL A40MOV 91H,#72LCALL A41LJMP QQQVV11:CJNE A,#15H,VV12 MOV 70H,#73LCALL A7MOV 71H,#74LCALL A8MOV 92H,#75LCALL A40MOV 91H,#76LCALL A41LJMP QQQVV12:CJNE A,#17H,VV13 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#77LCALL A40MOV 91H,#60LCALL A41LJMP QQQVV13:CJNE A,#21H,VV14 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8LCALL A40MOV 91H,#79LCALL A41LJMP QQQVV14:CJNE A,#22H,VV15 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#80LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV15:CJNE A,#23H,VV16 MOV 70H,#81LCALL A7MOV 71H,#82LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV16:CJNE A,#24H,VV17 MOV 70H,#83LCALL A7MOV 71H,#84LCALL A8MOV 92H,#85LCALL A40MOV 91H,#86LCALL A41LJMP QQQVV17:CJNE A,#25H,SS1 MOV 70H,#87LCALL A7MOV 71H,#62LCALL A8MOV 92H,#39LCALL A40MOV 91H,#88LCALL A41SS1:LCALL HAHA LJMP QQQYOU1:LJMP ZZ3ZZ2:CJNE A,#04H,YOU1 MOV A,48HCJNE A,#01H,VV1 MOV 70H,#26LCALL A7MOV 71H,#27LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV1:CJNE A,#04H,VV18 MOV 70H,#28LCALL A7MOV 71H,#29LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV18:CJNE A,#07H,VV19 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#89LCALL A40MOV 91H,#90LCALL A41LJMP QQQVV19:CJNE A,#22H,VV20 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#56LCALL A40MOV 91H,#91LJMP QQQVV20:CJNE A,#23H,SS2 MOV 70H,#92 LCALL A7MOV 71H,#93 LCALL A8MOV 92H,#94 LCALL A40MOV 91H,#75 LCALL A41LJMP QQQSS2:LCALL HAHA LJMP QQQYOU2:LJMP ZZ4ZZ3:CJNE A,#05H,YOU2 MOV A,48HCJNE A,#01H,VV2 MOV 70H,#30 LCALL A7MOV 71H,#31 LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV2:CJNE A,#04H,VV3 MOV 70H,#32 LCALL A7MOV 71H,#33 LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV3:CJNE A,#11H,VV21 MOV 70H,#34 LCALL A7MOV 71H,#35 LCALL A8MOV 92H,#210 LCALL A40LCALL A41LJMP QQQVV21:CJNE A,#05H,VV22 MOV 70H,#95LCALL A7MOV 71H,#96LCALL A8MOV 92H,#83LCALL A40MOV 91H,#204 LCALL A41LJMP QQQVV22:CJNE A,#08H,VV23 MOV 70H,#97LCALL A7MOV 71H,#98LCALL A8MOV 92H,#99LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV23:CJNE A,#12H,VV24 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#100 LCALL A40MOV 91H,#101 LCALL A41LJMP QQQVV24:CJNE A,#15H,VV25 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#102 LCALL A40MOV 91H,#103 LCALL A41LJMP QQQVV25:CJNE A,#17H,VV26LCALL A7MOV 71H,#57LCALL A8MOV 92H,#119 LCALL A40MOV 91H,#120 LCALL A41LJMP QQQVV26:CJNE A,#18H,VV27 MOV 70H,#62LCALL A7MOV 71H,#41LCALL A8MOV 92H,#121 LCALL A40MOV 91H,#122 LCALL A41LJMP QQQVV27:CJNE A,#20H,VV28 MOV 70H,#123 LCALL A7MOV 71H,#90LCALL A8MOV 92H,#124 LCALL A40MOV 91H,#125 LCALL A41LJMP QQQVV28:CJNE A,#23H,VV29 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#126 LCALL A40MOV 91H,#127 LCALL A41LJMP QQQVV29:CJNE A,#31H,ss3 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8LCALL A40MOV 91H,#129 LCALL A41LJMP QQQSS3:LCALL HAHA LJMP QQQYOU3:LJMP ZZ10ZZ4:CJNE A,#06H,YOU3 MOV A,48HCJNE A,#15H,VV30 MOV 70H,#36LCALL A7MOV 71H,#35LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV30:CJNE A,#01H,VV31 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#131 LCALL A40MOV 91H,#132 LCALL A41LJMP QQQVV31:CJNE A,#17H,VV32 MOV 70H,#83LCALL A7MOV 71H,#204 LCALL A8MOV 92H,#133 LCALL A40MOV 91H,#134 LCALL A41LJMP QQQVV32:CJNE A,#23H,VV33 MOV 70H,#135 LCALL A7MOV 71H,#79LCALL A8MOV 92H,#136 LCALL A40MOV 91H,#137 LCALL A41LJMP QQQVV33:CJNE A,#25H,VV34 MOV 70H,#62LCALL A7MOV 71H,#41LCALL A8MOV 92H,#138 LCALL A40MOV 91H,#56LCALL A41LJMP QQQVV34:CJNE A,#26H,SS4 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#139 LCALL A40MOV 91H,#140 LCALL A41LJMP QQQSS4:LCALL HAHA LJMP QQQYOU4:LJMP ZZ5ZZ10:CJNE A,#07H,YOU4 MOV A,48HCJNE A,#01H,VV35 MOV 70H,#141 LCALL A7MOV 71H,#142 LCALL A8MOV 92H,#106 LCALL A40MOV 91H,#107 LCALL A41LJMP QQQVV35:CJNE A,#02H,VV36 MOV 70H,#143 LCALL A7MOV 71H,#88LCALL A8MOV 92H,#144 LCALL A40MOV 91H,#145 LCALL A41LJMP QQQVV36:CJNE A,#07H,VV37 MOV 70H,#146 LCALL A7MOV 71H,#147 LCALL A8MOV 92H,#67LCALL A40MOV 91H,#68LCALL A41LJMP QQQVV37:CJNE A,#11H,VV38 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#23LCALL A40MOV 91H,#148 LCALL A41LJMP QQQVV38:CJNE A,#30H,SS10 MOV 70H,#149 LCALL A7MOV 71H,#150 LCALL A8MOV 92H,#24LCALL A40MOV 91H,#25LCALL A41LJMP QQQSS10:LCALL HAHA LJMP QQQYOU5:LJMP ZZ6ZZ5:CJNE A,#08H,YOU5 MOV A,48HCJNE A,#01H,VV39 MOV 70H,#37LCALL A7MOV 71H,#38LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV39:CJNE A,#08H,VV40 MOV 70H,#153 LCALL A7MOV 71H,#153 LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV40:CJNE A,#15H,SS5 MOV 70H,#146 LCALL A7MOV 71H,#147 LCALL A8MOV 92H,#154 LCALL A40MOV 91H,#155 LCALL A41LJMP QQQSS5:LCALL HAHA LJMP QQQYOU6:LJMP ZZ7ZZ6:CJNE A,#09H,YOU6 MOV A,48HCJNE A,#10H,VV41 MOV 70H,#39LCALL A7MOV 71H,#40LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV41:CJNE A,#08H,VV42LCALL A7MOV 71H,#57LCALL A8MOV 92H,#109 LCALL A40MOV 91H,#110 LCALL A41LJMP QQQVV42:CJNE A,#16H,VV43 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#111 LCALL A40MOV 91H,#112 LCALL A41LJMP QQQVV43:CJNE A,#20H,VV44 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#63LCALL A40MOV 91H,#113 LCALL A41LJMP QQQVV44:CJNE A,#27H,VV45 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#114 LCALL A40MOV 91H,#115 LCALL A41LJMP QQQVV45:CJNE A,#28H,vv75 MOV 70H,#116 LCALL A7MOV 71H,#117 LCALL A8LCALL A40MOV 91H,#90LCALL A41LJMP QQQVV75:CJNE A,#18H,ss6 LCALL A42LCALL A43LCALL A44LCALL A45MOV 92H,#205 LCALL A40MOV 91H,#199 LCALL A41LJMP QQQSS6:LCALL HAHA LJMP QQQYOU7:LJMP ZZ8ZZ7:CJNE A,#10H,YOU7 MOV A,48HCJNE A,#01H,VV46 MOV 70H,#41LCALL A7MOV 71H,#42LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV46:CJNE A,#04H,VV47 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#31LCALL A40MOV 91H,#118 LCALL A41LJMP QQQVV47:CJNE A,#06H,VV48 MOV 70H,#156 LCALL A7MOV 71H,#23MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV48:CJNE A,#08H,VV49 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#157 LCALL A40MOV 91H,#158 LCALL A41LJMP QQQVV49:CJNE A,#09H,VV50 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#159 LCALL A40MOV 91H,#160 LCALL A41LJMP QQQVV50:CJNE A,#10H,VV51 MOV 70H,#161 LCALL A7MOV 71H,#162 LCALL A8MOV 92H,#163 LCALL A40MOV 91H,#164 LCALL A41LJMP QQQVV51:CJNE A,#13H,VV52 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#165 LCALL A40MOV 91H,#166LJMP QQQVV52:CJNE A,#14H,VV53 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#167 LCALL A40MOV 91H,#168 LCALL A41LJMP QQQVV53:CJNE A,#15H,VV54 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#110 LCALL A40MOV 91H,#23LCALL A41LJMP QQQVV54:CJNE A,#16H,VV55 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#169 LCALL A40MOV 91H,#170 LCALL A41LJMP QQQVV55:CJNE A,#17H,VV56 MOV 70H,#73LCALL A7MOV 71H,#171 LCALL A8MOV 92H,#172 LCALL A40MOV 91H,#173 LCALL A41LJMP QQQVV56:CJNE A,#22H,VV57 MOV 70H,#174LCALL A7MOV 71H,#175 LCALL A8MOV 92H,#176 LCALL A40MOV 91H,#177 LCALL A41LJMP QQQVV57:CJNE A,#24H,VV58 MOV 70H,#178 LCALL A7MOV 71H,#179 LCALL A8MOV 92H,#41LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV58:CJNE A,#31H,SS7 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#180 LCALL A40MOV 91H,#181 LCALL A41LJMP QQQSS7:LCALL HAHA LJMP QQQYOU8:LJMP ZZ9ZZ8:CJNE A,#11H,YOU8 MOV A,48HCJNE A,#27H,VV59 MOV 70H,#43LCALL A7MOV 71H,#44LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV59:CJNE A,#08H,VV60LCALL A7MOV 71H,#41LCALL A8MOV 92H,#144 LCALL A40MOV 91H,#145 LCALL A41LJMP QQQVV60:CJNE A,#09H,VV61 MOV 70H,#73LCALL A7MOV 71H,#83LCALL A8MOV 92H,#87LCALL A40MOV 91H,#62LCALL A41LJMP QQQVV61:CJNE A,#10H,VV62 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#32LCALL A40MOV 91H,#8LCALL A41LJMP QQQVV62:CJNE A,#14H,VV63 MOV 70H,#183 LCALL A7MOV 71H,#184 LCALL A8MOV 92H,#86LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV63:CJNE A,#17H,VV64 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8LCALL A40MOV 91H,#90LCALL A41LJMP QQQVV64:CJNE A,#20H,SS8 MOV 70H,#185 LCALL A7MOV 71H,#186 LCALL A8MOV 92H,#8LCALL A40MOV 91H,#210 LCALL A41LJMP QQQSS8:LCALL HAHA LJMP QQQYOU9:LJMP SS9ZZ9:CJNE A,#12H,YOU9 MOV A,48HCJNE A,#25H,VV65 MOV 70H,#45LCALL A7MOV 71H,#46LCALL A8MOV 92H,#210 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV65:CJNE A,#01H,VV66 MOV 70H,#191 LCALL A7MOV 71H,#192 LCALL A8MOV 92H,#86LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV66:CJNE A,#03H,VV67 MOV 70H,#122 LCALL A7MOV 71H,#193MOV 92H,#23LCALL A40MOV 91H,#210 LCALL A41LJMP QQQVV67:CJNE A,#08H,VV68 MOV 70H,#131 LCALL A7MOV 71H,#132 LCALL A8MOV 92H,#194 LCALL A40MOV 91H,#157 LCALL A41LJMP QQQVV68:CJNE A,#09H,VV69 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#196 LCALL A40MOV 91H,#91LCALL A41LJMP QQQVV69:CJNE A,#10H,VV70 MOV 70H,#53LCALL A7MOV 71H,#54LCALL A8MOV 92H,#23LCALL A40MOV 91H,#197 LCALL A41LJMP QQQVV70:CJNE A,#12H,VV71 MOV 70H,#198 LCALL A7MOV 71H,#87LCALL A8MOV 92H,#205 LCALL A40MOV 91H,#199LJMP QQQVV71:CJNE A,#13H,VV72 MOV 70H,#200 LCALL A7MOV 71H,#201 LCALL A8MOV 92H,#202 LCALL A40MOV 91H,#203 LCALL A41LJMP QQQVV72:CJNE A,#20H,VV73 MOV 70H,#104 LCALL A7MOV 71H,#105 LCALL A8MOV 92H,#106 LCALL A40MOV 91H,#107 LCALL A41LJMP QQQVV73:CJNE A,#21H,VV74 MOV 70H,#41LCALL A7MOV 71H,#57LCALL A8MOV 92H,#108 LCALL A40MOV 91H,#91LCALL A41LJMP QQQVV74:CJNE A,#24H,ss9 MOV 70H,#151 LCALL A7MOV 71H,#87LCALL A8MOV 92H,#152 LCALL A40MOV 91H,#210 LCALL A41LJMP QQQri1:ljmp lp1ss9:LCALL HAHA;******************************************节日设置结束QQQ: DJNZ R3,SS100 ;未到1 S继续循环LCALL GET_TEMPER ;每过1s从DS18B20读取一次温度mov R3,#4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;整点闹铃1分钟同时在最左上角显示铃铛符号,合上闹铃开关可以提前关掉闹铃MOV A,46HCJNE A,#0,SS100LCALL NAOLCALL NAOLCALL NAOLCALL NAOLCALL NAOmov column3,#0mov pagef3,#0mov codes,#206 ;开闹铃符号lcall writeleft2SS100:MOV A,45HCJNE A,#59H,RI1mov column3,#0mov pagef3,#0mov codes,#210 ;关闹铃符号lcall writeleft2LJMP lp1;************************主程序结束,子程序开始HAHA:MOV 70H,#151LCALL A7MOV 71H,#52LCALL A8MOV 92H,#210LCALL A40MOV 91H,#210LCALL A41RETNIU:MOV A,51HSWAP AADD A,50HMOV 45H,Amov a,53hswap aadd a,52hmov 46h,amov a,55hadd a,54hmov 47h,amov a,57hswap aadd a,56hmov 48h,amov a,59hswap aadd a,58hmov 49h,amov a,5dhswap aadd a,5chmov 4bh,amov 4ah,5ahRET;********************************************中断0开始xx0:PUSH ACCclr tr0MOV A,93HCJNE A,#0,ZD0000 ;秒低位inc 50hLCALL A13mov A,50HCJNE A,#10,KK0MOV 50H,#0kk0:POP ACCRETIZD0000:CJNE A,#1,ZD001 ;秒高位inc 51hlcall a14MOV A,51HCJNE A,#10,KK1MOV 51H,#0kk1:POP ACCRETIZD001:CJNE A,#2,ZD002 ;分低位INC 52Hlcall a15MOV A,52HCJNE A,#10,KK3MOV 52H,#0kk3:POP ACCZD002:CJNE A,#3,ZD003 ;分高位INC 53Hlcall a16MOV A,53HCJNE A,#10,KK4MOV 53H,#0inc 52hkk4:POP ACCRETIzd003:CJNE A,#4,ZD004 ;时低位INC 54Hlcall a17MOV A,54HCJNE A,#10,KK5MOV 54H,#0kk5:POP ACCRETIZD004:CJNE A,#5,ZD005 ;时高位INC 55Hlcall a18MOV A,55HCJNE A,#9,KK6MOV 55H,#0kk6:POP ACCRETIZD005:CJNE A,#6,ZD006 ;星期INC 5aHlcall a19MOV A,5aHCJNE A,#7,KK7MOV 5aH,#0kk7:POP ACCRETIZD006:CJNE A,#7,ZD007 ;日低位INC 56Hlcall a20MOV A,56HCJNE A,#10,KK8MOV 56H,#0kk8:POP ACCRETIZD007:CJNE A,#8,ZD008 ;日高位INC 57Hlcall a21MOV A,57HCJNE A,#10,KK9MOV 57H,#0kk9:POP ACCRETIZD008:CJNE A,#9,ZD009 ;月低位INC 58Hlcall a22MOV A,58HCJNE A,#10,KK10MOV 58H,#0kk10:POP ACCRETIZD009:CJNE A,#10,ZD0010 ;月高位INC 59Hlcall a23MOV A,59HCJNE A,#10,KK11MOV 59H,#0kk11:POP ACCRETIZD0010:CJNE A,#11,ZD0011 ;年低位INC 5cHlcall a24MOV A,5cHCJNE A,#10,KK12MOV 5cH,#0kk12:POP ACCRETIZD0011:INC 5dHlcall a25 ;年高位MOV A,5dHCJNE A,#10,KK13MOV 5dH,#0kk13:POP ACCRETI;******************************************************中断1开始XX1:PUSH ACCINC 93HMOV A,02HCJNE A,#13,ZD10MOV 93H,#0ZD10:pop accreti;温度显示子程序------------------------------------------------------------------------------- INIT_1820: SETB P3.7CLR P3.7MOV R1,#3TSR1: MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P3.7MOV R0,#25HTSR2: JNB P3.7,TSR3DJNZ R0,TSR2LJMP TSR4TSR3: SETB FLAG1LJMP TSR5TSR4: CLR FLAG1LJMP TSR7TSR5: MOV R0,#117TSR6: DJNZ R0,TSR6TSR7: SETB P3.7RETGET_TEMPER: SETB P3.7LCALL INIT_1820JB FLAG1,TSS2RETTSS2: MOV A,#0CCHLCALL WRITE_1820MOV A,#44HLCALL WRITE_1820LCALL DISPLAY1LCALL INIT_1820MOV A,#0CCHLCALL WRITE_1820MOV A,#0BEHLCALL WRITE_1820LCALL READ_18200RETWRITE_1820: MOV R2,#8CLR CWR1: CLR P3.7MOV R3,#6DJNZ R3,$RRC AMOV P3.7,CDJNZ R3,$SETB P3.7NOPDJNZ R2,WR1SETB P3.7RETREAD_18200: MOV R5,#2 MOV R1,#41hRE00: MOV R2,#8RE01: CLR CSETB P3.7CLR P3.7SETB P3.7MOV R3,#7RE10: DJNZ R3,RE10MOV C,P3.7MOV R3,#23RE20: DJNZ R3,RE20RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R5,RE00RETDISPLAY1:MOV A,40HJB ACC.7,ZF1mov column4,#16mov pagef4,#4mov codes,#250lcall writeright2ljmp zhijieZF1:mov column4,#16mov pagef4,#4mov codes,#16 ;;;;;;;;- lcall writeright2mov a,40hcpl amov dph,amov a,41hcpl amov dpl,ainc dptrmov 40h,dphzhijie:MOV A,40HSWAP AANL A,#0F0HMOV 40H,AMOV A,41HSWAP AANL A,#0FHADD A,40HMOV 41H,AMOV B,#10DIV ABMOV b_bit,AMOV a_bit,Bmov column2,#32mov pagef2,#4mov codes,b_bit ;;;;;;;;;十位lcall writerightmov column2,#40mov pagef2,#4mov codes,a_bit ;;;;;;;个位lcall writerightRET;--------------------------------------------------------------------------------------------------- ;数码显示子程序DISPLAY:;*******************************************;显示秒MOV A,SECONDANL A,#0FHMOV 50H,ALCALL A13MOV A,SECONDSWAP AANL A,#07HMOV 51H,ALCALL A14;*******************************************;显示分MOV A,MINUTEANL A,#0FHMOV 52H,ALCALL A15MOV A,MINUTESWAP AANL A,#07HMOV 53H,ALCALL A16;******************************************* ;显示小时MOV A,HOURANL A,#0FHMOV 54H,ALCALL A17MOV A,HOURSWAP AANL A,#03HMOV 55H,ALCALL A18;显示星期MOV A,WEEKMOV 5AH,ALCALL A19;显示日MOV A,DAYANL A,#0FHMOV 56H,ALCALL A20MOV A,DAYSWAP AANL A,#03HMOV 57H,ALCALL A21;显示月MOV A,MONTHANL A,#0FHMOV 58H,ALCALL A22MOV A,MONTHSWAP AANL A,#03HMOV 59H,ALCALL A23;显示年MOV A,YEARLANL A,#0FHMOV 5CH,ALCALL A24MOV A,YEARLSWAP AANL A,#0FHMOV 5DH,ALCALL A25RET;--------------------------------------------------------------------------------------------------- ;设置DS1302初始时间,并启动计时SETDS1302:CLR T_RSTnopCLR T_CLKnopSETB T_RSTnopMOV B,#8EH ;写控制命令字LCALL INPUTBYTEMOV B,#00H ;写保护关闭LCALL INPUTBYTESETB T_CLKnopCLR T_RSTMOV R0,#SECOND ;内存中的时间首地址MOV R1,#80H ;DS1302中的时间首地址MOV R7,#7 ;字节数SETLOOP:CLR T_RSTnopCLR T_CLKnopSETB T_RSTnopMOV B,R1 ;写命令字LCALL INPUTBYTEMOV A,@R0 ;设置时间MOV B,ALCALL INPUTBYTEINC R0INC R1INC R1SETB T_CLKnopCLR T_RSTnopDJNZ R7,SETLOOPCLR T_RSTnopCLR T_CLKnopSETB T_RSTnopMOV B,#8EHLCALL INPUTBYTEMOV B,#80H ;开写保护LCALL INPUTBYTESETB T_CLKnopCLR T_RSTnopRET;---------------------------------------------------------------------------------------------------;从DS1302读取时间GET1302:MOV R0,#SECONDMOV R1,#81H ;DS1302中读时间的首地址MOV R7,#7GETLOOP:CLR T_RSTnopCLR T_CLKnopSETB T_RSTnopMOV B,R1LCALL INPUTBYTE ;写命令字LCALL OUTPUTBYTE ;读时间MOV @R0,A ;将从DS1302中读取的时间从内存中保存INC R0 ;修改地址指针INC R1INC R1SETB T_CLKnopCLR T_RSTnopDJNZ R7,GETLOOPRET;---------------------------------------------------------------------------------------------------;向DS1302写一个字节MOV R4,#8INPUTLOOP:MOV A,BRRC AMOV B,AMOV T_IO,CSETB T_CLKNOP;NOP;NOPCLR T_CLKDJNZ R4,INPUTLOOPRET;--------------------------------------------------------------------------------------------------- ;从DS1302读一个字节OUTPUTBYTE:clr aclr cMOV R4,#8OUTPUTLOOP:NOPMOV C,T_IORRC ASETB T_CLKNOPCLR T_CLKDJNZ R4,OUTPUTLOOPRETwriteleft2: ; 左半屏写入16*16汉字子程序mov dptr,#table2push column3mov cpage3,#2mov ccolumn3,#0mov a,pagef3anl a,#07horl a,#0b8hmov com,alcall prm0mov a,column3anl a,#3fhorl a,#40hmov com,alcall prm0mov b,#32mul abadd a,dplmov dpl,amov a,baddc a,dphmov dph,alp3:mov a,#00hmovc a,@a+dptrmov dat,alcall prm1inc ccolumn3mov a,ccolumn3inc dptrcjne a,#16,lp3dec cpage3inc pagef3mov a,cpage3jz over3mov a,pagef3anl a,#07horl a,#0b8hmov com,alcall prm0pop column3mov a,column3anl a,#3fhorl a,#40hmov com,alcall prm0mov ccolumn3,#0ljmp lp3over3:retwriteright2: ; 右半屏写入16*16汉字子程序mov dptr,#table2push column4mov cpage4,#2mov ccolumn4,#0mov a,pagef4anl a,#07horl a,#0b8hmov com,alcall prr0anl a,#3fhorl a,#40hmov com,alcall prr0mov a,codesmov b,#32mul abadd a,dplmov dpl,amov a,baddc a,dphmov dph,alp4:mov a,#00hmovc a,@a+dptrmov dat,alcall prr1inc ccolumn4mov a,ccolumn4inc dptrcjne a,#16,lp4dec cpage4inc pagef4mov a,cpage4jz over4mov a,pagef4anl a,#07horl a,#0b8hmov com,alcall prr0pop column4mov a,column4anl a,#3fhorl a,#40hmov com,alcall prr0mov ccolumn4,#0ljmp lp4over4:retwriteleft: ; 左半屏写入8*16数字子程序mov dptr,#table1push columnmov cpage,#2mov ccolumn,#0anl a,#07horl a,#0b8hmov com,alcall prm0mov a,columnanl a,#3fhorl a,#40hmov com,alcall prm0mov a,codesmov b,#16mul abadd a,dplmov dpl,amov a,baddc a,dphmov dph,alOOp1:mov a,#00h movc a,@a+dptr mov dat,alcall prm1inc ccolumnmov a,ccolumn inc dptrcjne a,#8,lOOp1 dec cpageinc pagefmov a,cpagejz over1mov a,pagefanl a,#07horl a,#0b8hmov com,alcall prm0pop columnmov a,columnanl a,#3fhorl a,#40hmov com,alcall prm0mov ccolumn,#0 ljmp lOOp1over1:retwriteright: ; 右半屏写入8*16数字子程序mov dptr,#table1push column2mov cpage2,#2mov ccolumn2,#0mov a,pagef2anl a,#07horl a,#0b8hmov com,alcall prr0mov a,column2anl a,#3fhorl a,#40hmov com,alcall prr0mov a,codesmov b,#16mul abadd a,dplmov dpl,amov a,baddc a,dphmov dph,alOOp2:mov a,#00hmovc a,@a+dptrmov dat,alcall prr1inc ccolumn2mov a,ccolumn2inc dptrcjne a,#8,lOOp2dec cpage2inc pagef2mov a,cpage2jz over2mov a,pagef2anl a,#07horl a,#0b8hmov com,alcall prr0pop column2mov a,column2anl a,#3fhorl a,#40hmov com,alcall prr0mov ccolumn2,#0ljmp lOOp2over2:retPRM0:CLR CSA ;写指令代码子程序(左) SETB CSBCLR rsSETB rwPRM01:MOV P0,#0FFHSETB EMOV A,P0CLR EJB ACC.7,PRM01CLR rwMOV P0,COMSETB ECLR ERETPRM1:CLR CSA ;写显示数据子程序(左) SETB CSBCLR rsSETB rwPRM11:MOV P0,#0FFHSETB EMOV A,P0CLR EJB ACC.7,PRM11SETB rsCLR rwMOV P0,DATSETB ECLR ERETPRR0:CLR CSB ;写指令代码子程序(右) SETB CSACLR rsSETB rwPRR01:MOV P0,#0FFHSETB EMOV A,P0CLR EJB ACC.7,PRR01CLR rwMOV P0,COMSETB ECLR ERETPRR1:CLR CSB ;写显示数据子程序(右)SETB CSACLR rsSETB rwPRR11:MOV P0,#0FFHSETB EMOV A,P0CLR EJB ACC.7,PRR11SETB rsCLR rwMOV P0,DATSETB ECLR ERETINT:MOV COM,#0C0H ;初始化子程序,设置显示起始行为第一行LCALL PRM0LCALL PRR0MOV COM,#3FH ;开显示设置LCALL PRM0LCALL PRR0RETCLEAR:MOV R4,#00H ;清屏子程序CLEAR1:MOV A,R4ORL A,#0B8HMOV COM,ALCALL PRM0LCALL PRR0MOV COM,#40HLCALL PRM0LCALL PRR0MOV R3,#40HCLEAR2:MOV DAT,#00HLCALL PRM1LCALL PRR1DJNZ R3,CLEAR2INC R4CJNE R4,#08H,CLEAR1RET;***********************************************节日子程序A7:mov column3,#0mov pagef3,#4mov codes,70Hlcall writeleft2RETA8:mov column3,#16mov pagef3,#4mov codes,71Hlcall writeleft2RETA40:mov column3,#32mov pagef3,#4mov codes,92Hlcall writeleft2RETA41:mov column3,#48mov pagef3,#4mov codes,91Hlcall writeleft2RETA42:mov column,#0mov pagef,#4mov codes,#9 ;;;;;;;9lcall writeleftRETA43:mov column3,#8mov pagef3,#4mov codes,#207 ;;;;;.lcall writeleft2RETA44:mov column,#16mov pagef,#4mov codes,#1 ;;;;;;;1lcall writeleftRETA45:mov column,#24mov pagef,#4mov codes,#8 ;;;;;8lcall writeleftRET;********************************************************** A13:mov column2,#56。
如何调整计算机系统时间和日期

如何调整计算机系统时间和日期计算机系统时间和日期的准确性对于许多应用来说非常重要,例如日程安排、时间戳、文件归档等等。
当计算机系统时间和日期不准确时,可能会导致各种问题。
因此,了解如何调整计算机系统时间和日期是非常有用的。
下面将介绍调整计算机系统时间和日期的方法。
一、调整时间和日期的步骤1. 打开“日期和时间”设置:在Windows系统中,点击任务栏上的时间显示,选择“调整日期和时间”。
在Mac系统中,点击菜单栏上的时间显示,选择“打开日期和时间偏好设置”。
2. 调整时间:在“日期和时间”设置界面,可以看到当前的时间和日期。
要调整时间,点击“更改日期和时间”。
在Windows系统中,会出现一个弹窗,可以手动调整时间和日期。
在Mac系统中,在日历窗口中点击“日期和时间”,可以手动调整时间和日期。
3. 调整时区:有时候需要调整时区,以确保计算机系统的时间和日期与当前所在地的时间一致。
在“日期和时间”设置界面,可以找到“时区”选项。
点击“更改时区”,选择正确的时区。
4. 自动同步时间:为了确保计算机系统时间的准确性,可以开启自动同步时间的功能。
在“日期和时间”设置界面的底部,可以找到“自动设置时间”(Windows)或“设置日期和时间自动设置”(Mac)选项。
开启后,系统会自动从互联网同步时间。
二、调整时间和日期的注意事项1. 管理员权限:调整计算机系统时间和日期通常需要管理员权限。
确保以管理员身份登录操作系统,否则可能无法对时间和日期进行修改。
2. 公共计算机:在公共场所使用计算机时,一般无法修改时间和日期设置。
这是为了防止滥用和保护系统的安全。
如果需要修改时间和日期,请咨询相关的管理员或技术支持人员。
3. 时间同步服务器:计算机系统通常会使用网络上的时间同步服务器来同步时间。
如果系统的时间出现较大误差,可以尝试手动选择合适的时间同步服务器。
4. 夏令时调整:在夏令时生效和结束时,需要调整系统时间以符合当地的时间规则。
电子万年历的设计与仿真

摘要单片机技术发展迅速,由于他的微小、易用、多功能在智能仪器、家用电器、电子通信、工业控制等方面应用广泛。
单片机是集CPU ,RAM ,ROM,定时,计数和多种接口于一体的微控制器,它体积小、成本低、功能强,而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次毕业设计通过对它的学习、应用从而达到学习、设计、开发软、硬的能力。
电子万年历主要采用AT89S52单片机作为主控核心,由DS1302时钟芯片提供时钟、LED动态扫描显示屏显示。
AT89S52单片机功耗小、电压可选用2.0~6V电压供电;DS1302时钟芯片是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时;数字显示是采用的LCD液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息。
关键词:万年历;AT89S52单片机;1602液晶显示屏;DS1302时钟芯片;温度。
ABSTRACTSingle chip microcomputer development is rapid, because of his tiny, is easy to use,and multi-function in intelligent instrument, home appliances, electronic communication, industry control, wide application. SCM is set for the CPU, RAM, ROM, time, count and a variety of interface in one of the micro controller. Its small size, low cost, the function is strong, and 51 series microcontroller is the most typical of single chip microcomputer and the most representative of a kind. The graduation design through to its study, application, so as to study, design, and develop the ability of soft and hard.The electronic calendar mainly USES the AT89S52 SCM as the master its core, and the DS1302 clock chip provide clock, LED dynamic scanning display shows. AT89S52 SCM power consumption is small, voltage can choose 2.0 ~ 6 V voltage power supply; DS1302 clock chip is the United States out Juan DALLAS has fine current charge function of low power consumption real time clock chip, it can be to year, month, day, week, when, minutes and seconds for timing; Digital display is USES LED LCD screen to display, can also shows that year, month, day, week, when, minutes and seconds and temperature and other information.KEY WORDS Calendar;AT89S52 SCM;1602 LCD; DS1302 clock chip;temperature目录摘要 ............................................................................................................................ 错误!未定义书签。
用74ls192设计万年历

万年历论文要求:显示秒、分钟、小时、星期、月日、年功能,能校正时间,整点报时、闹钟以及秒表功能。
思路:用74ls192构成100进制、60进制、24进制、28-31进制、12进制、10000进制计数器,实现万年历。
时分秒计数:由24进制、60进制、60进制、100进制计数器构成,和秒表共用一个时钟信号。
D 、C 、B 、A 是调时信号的控制端,当D 、C 、B 、A 为低电平时,计数调时秒冲可进行加计数。
时的进位作为下一级计数器的时钟信号。
VCCABCD调时脉冲CLKGNDCOAH2BH2CH DHIO14IO15IO16IO17AM2BM2CM2DM2IO22IO23IO24IO25IO26IO27IO28IO29IO30IO31IO32IO33U23874LS192D A 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O12C L R14G N D8V C C16U24074LS192D A 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O12C L R14G N D8V C C16U24174LS192D A 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O12C L R14G N D8V C C16U242A 74LS08DU24374LS192D A 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O12C L R14G N D8V C C16U24474LS192DA 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O12C L R14G N D8V C C16U24674LS192D A 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O12C L R14G N D8V C C16U247A74LS08D U248A 74425NU249A 74425NU250A 74LS08D U251A74LS08DU252A 74425NU253A 74LS08D U254A 74425NU255A 74LS04DU256A 74LS32NU257A 74LS32NU258A 74LS32NU259A 74LS32NU260A74LS04DU261A 74LS04DU28874LS192D A 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O12C L R14G N D8V C C16U28974LS192DA 15B 1C 10D9U P 5Q A 3Q B 2Q C 6Q D7D O W N 4~L O A D 11~B O 13~C O 12C L R14G N D8V C C16second月日计数: 由一个12进制计数器和30(31,28,29)进制计数器构成。
如何设置计算机的日期和时间

如何设置计算机的日期和时间在使用计算机的过程中,正确设置日期和时间是非常重要的,它不仅影响到计算机的系统运行,还会涉及到许多日常应用,如文件管理、日程安排等。
本文将为您介绍如何正确设置计算机的日期和时间。
一、Windows系统设置日期和时间在Windows操作系统中,设置日期和时间非常简单,只需按照以下步骤操作即可:1. 首先,点击右下角的时间显示区域,弹出时间和日期的设置窗口。
2. 在时间和日期的设置窗口中,点击“更改日期和时间设置”。
3. 弹出的窗口中会显示当前的日期和时间,点击“更改日期和时间”。
4. 在新窗口的日历中选择正确的日期,并使用下方的滑块设置准确的时间。
5. 设置完毕后,点击“确定”保存更改。
二、macOS系统设置日期和时间与Windows系统类似,macOS系统也提供了简单的设置日期和时间的方法。
操作步骤如下:1. 点击屏幕右上角日期和时间显示栏,弹出日期和时间的设置窗口。
2. 在日期和时间的设置窗口中,点击“打开日期和时间偏好设置”。
3. 弹出的窗口中会显示当前日期和时间,勾选“自动设置日期和时间”以确保系统使用网络时间来自动设置日期和时间。
4. 如果需要手动设置日期和时间,取消勾选“自动设置日期和时间”,然后点击“日期和时间”下方的锁形图标,输入管理员密码以进行更改。
5. 在新窗口中,选择正确的日期和时间,并点击右下角的锁形图标以保存更改。
三、Linux系统设置日期和时间对于Linux系统,不同的发行版可能略有差异,但大致的设置步骤如下:1. 打开终端窗口,输入以下命令以进入日期和时间设置界面:```bashsudo timedatectl set-time 'YYYY-MM-DD HH:MM:SS'```其中,YYYY代表年份,MM代表月份,DD代表日期,HH代表小时,MM代表分钟,SS代表秒钟。
根据实际需要修改这些数值,然后执行命令。
2. 如果您希望系统时间与网络时间同步,可以使用以下命令:```bashsudo timedatectl set-ntp true```这将启用网络时间协议(NTP)同步。
基于51单片机GPS自动校时的万年历设计方案

3 硬件设计
HARDWARE DESIGN
3.1 系统概述
本系统由51单片机、DS1302时钟芯片、1062液晶显示器、DS18B20温度测量、键盘、蜂鸣器 系统等部分构成。软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、定时设置、 定时闹钟、温度显示。原理框图如下:
3.2 系统框图
蜂鸣器设置:蜂鸣器报警时,设置响100毫秒,停100毫秒,循环响应,产生滴滴的声音。
液晶显示的设置:写入指令码write_com(0x38),设置功能16*2显示,5*7点阵,8位数据接口显 示/开关及光标设置8)写入指令码write_com(0x0c),设置开显示,不显示光标,光标不闪烁。 16)写入指令码write_com(0x06),设置当读或写一个字符后地址指针加一,且光标加一。当写 一个字符,整屏显示不移动。显示清屏,写入指令码write_com(0x01)。
写入指令码函数write_com()写指令过程 :输入:rs=0,D0-D7=指令码,E=高脉冲写入数据 函数 write_date() 写指令过程: 输入:rs=1,D0-D7=数据,E=高脉冲写入指令和数据时rw 端已经接地。数据指针设置 指令码80H+地址码(0-27H)显示第一行的字符指令码80H+地址码 (40H-67H)显示的第二行字符
本时钟还具有环保、走时无噪音、低功耗等非实时时钟不具有的功能。该实时时钟不但可以作 为家用,而且更可以在公共场合使用,如车站、码头、商场等场所。
2 总体方案
GENERAL PLANNING
本方案所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容
包括以下几个方面: (1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功 耗、抗断电的器件。 (2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。
万年历时钟

基于单片机的万年历设计摘要随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。
为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时间、日期、星期和温度功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
该电子万年历主要采用AT89C55WD单片机作为主控核心,由DS1302时钟芯片提供时钟、LED动态扫描显示屏显示。
AT89C55WD单片机是由Atmel 公司推出的,功耗小,电压可选用4~6V电压供电;DS1302时钟芯片是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小;数字显示是采用的LED液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息。
此外,该电子万年历还具有时间校准等功能。
关键词时钟电路;时钟芯片DS1302;LCD1602液晶显示器;单片机AT89C55WD.The Design of Calendar Based on SCMABSTRACTWith the society, science and technology, mankind learned that time, from the view of the sun, to the present electronic clock pendulum clock, continuous research and innovation. Observation time in the same time, be able to understand other human beings is closely related to information, such as temperature, week, date and so on, the birth of the electronic calendar, and it set the time, date, week and temperature-in-one, with easy to read, intuitive display functional diversity, and many other advantages of simple circuit with the electronic instrumentation of the development trend of the. market prospects are broad.The main use of the electronic calendar AT89C55WD single-chip microcomputer as the main core, provided by the DS1302 clock chip clock, DS18B20 the temperature chip acquisition transition temperature, LCD1602 display shows the dynamic scan. AT89C55WD single-chip microcomputer is introduced by Atmel Corporation, a small power consumption, voltage can be selected 4 ~ 6V power supply voltage; DS1302 clock chip is introduced DALLAS fine with trickle charge function of current low-power real-time clock chip, which can of the year, month, day, week, hour, minute, second for time, also has multiple functions, such as a leap year compensation, and long life of the DS1302, a small error; DS18B20 temperature chip is a digital temperature sensor with a measurement accuracy high, a simple circuit to connect the characteristics of such sensors only need a data cable for data transmission; digital LED display is used to display LCD screen, can display year, month, day, week, hour, minute, second and temperature, etc. information. In addition, the electronic calendar is also a time-calibrationfunctions.KEY WORDS: clock circuit; clock chip DS1302;LCD1602 screen; single-chipAT89C55WD;目录摘要 (I)ABSTRACT (II)前言 (1)第1章设计要求与方案论证 (2)§1.1功能要求 (2)§1.2 系统基本方案选择和论证 (2)§1.2.1 显示模块选择方案和论证 (2)§1.2.2 单片机的选择 (2)§1.2.3 键盘模块的选择 (3)§1.2.4 时钟芯片的选择方案和论证 (3)§1.3 电路设计最终方案决定 (4)第2章系统硬件电路的设计 (5)§2.1 闪电存储型器件AT89C55WD (5)§2.1.1 AT89C55WD具有下列主要性能 (5)§2.1.2 AT89C55WD的引脚及功能 (5)§2.1.3单片机主控制模块原理图 (7)§2.2 DS1302时钟电 (8)§2.2.1 DS1302芯片介绍 (8)§2.2.2 DS1302的性能特性 (9)§2.2.3 DS1302数据操作原理 (9)§2.2.4 DS1302的应用 (12)§2.3 DS18B20 数字温度传感器 (13)§2.3.1 DS18B20的主要特性 (13)§2.3.2 DS18B20的外形和内部结构 (13)§2.3.3 DS18B20工作原理 (14)§2.3.4 DS18B20的应用电路 (15)§2.4 LCD1602液晶显示器 (16)§2.4.1 1602LCD的基本参数 (16)§2.4.2引脚功能说明 (17)§2.4.3 LCD1602的应用电路 (18)§2.5 键盘电路 (18)§2.6 闹铃电路 (18)第3章系统的软件设计 (20)§3.1系统的主序流程图 (20)§3.2 时间调整程序流程图 (21)§3.3 温度子程序流程图 (22)第4章调试结果 (23)结论 (25)参考文献 (26)致谢 (27)附录一电路原理图 (28)附录二源程序代码 (29)附录三元器件清单 (32)前言随着电子技术的发展,人类不断研究,不断创新纪录。
如何调整电脑时间日期

如何调整电脑时间日期在我们使用电脑的日常生活中,电脑时间和日期的准确性是至关重要的。
无论是在工作中还是在个人生活中,准确的时间和日期都能确保我们的计划和活动顺利进行。
然而,有时候我们可能需要调整电脑的时间和日期,可能是因为时区变化、夏令时调整或者其他原因。
本文将介绍如何调整电脑的时间和日期,以确保其准确性。
首先,我们需要找到电脑的时间和日期设置。
在大多数操作系统中,这个设置都可以在任务栏的右下角找到。
通常,你会看到一个小钟表图标,点击它可以打开时间和日期设置。
如果你找不到这个图标,可以尝试点击任务栏上的“通知中心”图标,然后在弹出的菜单中找到时间和日期设置。
一旦打开了时间和日期设置,你就可以看到当前的时间和日期。
如果你只需要微调时间或日期,你可以直接点击相应的数字进行修改。
然而,如果你需要更改时区或进行更复杂的调整,你可能需要点击“更改日期和时间设置”或类似的选项。
在打开的设置窗口中,你会看到各种选项,包括时间、日期、时区和夏令时。
让我们逐一来看一下这些选项。
首先是时间设置。
在这个选项中,你可以设置小时、分钟和秒钟。
你可以直接点击数字进行修改,或者使用上下箭头进行微调。
如果你想要同步电脑时间和网络时间,可以勾选“自动设置时间”。
接下来是日期设置。
在这个选项中,你可以设置年、月和日。
同样,你可以直接点击数字进行修改,或者使用上下箭头进行微调。
如果你想要同步电脑日期和网络日期,可以勾选“自动设置日期”。
然后是时区设置。
在这个选项中,你可以选择适合你所在地区的时区。
通常,你可以从下拉菜单中选择你所在的国家或地区,然后选择相应的时区。
如果你不确定应该选择哪个时区,可以在互联网上搜索你所在地区的时区信息。
最后是夏令时设置。
夏令时是一种调整时间的制度,旨在充分利用日光时间。
在夏令时期间,时间会向前调整一小时。
在这个选项中,你可以选择是否使用夏令时制度,并设置开始和结束的日期和时间。
如果你所在的地区不使用夏令时,可以选择“不使用夏令时”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数码万年历的调整方法
数码万年历是一种可以显示日期、星期、农历等信息的电子产品。
它具有自动调整日期的功能,一般来说不需要手动进行调整。
数码万年历的调整方法主要包括时间、日期和闹铃的调整。
下面将详细介绍数码万年历的调整方法。
一、时间调整
1.按下设定时间的按钮。
有些数码万年历会在屏幕上显示当前时间的选项,选择此选项后按下确定按钮。
2.按下小时或分钟调整的按钮。
这样可以将光标移动到需要调整的位置。
3.使用上下箭头按钮或按下加减按钮进行时间的调整。
根据数码万年历的设计不同,有些产品会使用箭头按钮进行调整,而有些产品则会使用加减按钮。
4.调整完成后按下确认按钮,保存修改后的时间。
二、日期调整
1.按下设定日期的按钮。
有些数码万年历会在屏幕上显示当前日期的选项,选择此选项后按下确定按钮。
2.按下年、月或日调整的按钮。
这样可以将光标移动到需要调整的位置。
3.使用上下箭头按钮或按下加减按钮进行日期的调整。
根据数码万年历的设计不同,有些产品会使用箭头按钮进行调整,而有些产品则会使用加减按钮。
4.调整完成后按下确认按钮,保存修改后的日期。
三、闹铃调整
1.按下设定闹铃的按钮。
有些数码万年历会在屏幕上显示当前闹铃的选项,选择此选项后按下确定按钮。
2.按下小时或分钟调整的按钮。
这样可以将光标移动到需要调整的位置。
3.使用上下箭头按钮或按下加减按钮进行闹铃时间的调整。
根据数码万年历的设计不同,有些产品会使用箭头按钮进行调整,而有些产品则会使用加减按钮。
4.调整完成后按下确认按钮,保存修改后的闹铃时间。
以上就是数码万年历的调整方法。
需要注意的是,不同品牌和型号的数码万年历可能存在一些差异,因此用户在进行调整时最好参考所配备的说明书。
此外,数
码万年历通常会使用电池供电,如果发现时间显示不准确,可能是电池电量不足,需要更换电池。
希望以上内容能够对您有所帮助!。