数码万年历的调整方法
- 格式:doc
- 大小:10.94 KB
- 文档页数:3
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构成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)同步。
基于单片机的万年历设计摘要随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。
为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时间、日期、星期和温度功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
该电子万年历主要采用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)二、设计思路 (1)三、设计过程 (1)3.1、系统方案论证 (1)3.2、模块电路设计 (2)四、系统调试与结果 (10)五、主要元器件与设备 (10)六、课程设计体会与建议 (10)6.1、设计体会 (10)6.2、设计建议 (10)七、参考文献 (11)键盘可调时钟显示设计基于单片机的可调万年历一、设计目的1、熟悉集成电路的引脚安排。
2、掌握芯片的逻辑功能及使用方法。
3、了解电路板结构及其接线方法。
4、了解键盘可调时钟显示的组成及工作原理。
5、熟悉键盘可调时钟显示的设计与制作。
二、设计思路1、电子时钟主要由显示模块、校时模块和时钟运算模块三大部分组成。
2、其中校时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60 时,要自己清零并向分进1;分计算到60 时,要自己清零并向时进1;时计算到24时,要清零。
这样,才能循环记时。
三、设计过程3.1、系统方案论证设计一款电子时钟,用共阴极七段数码管显示时间;6 个数码管分别显示时、分、秒;可以利用四个键盘调整时间,小时键每次调整一小时,分钟用两个键调整十位和各位,秒钟键调整秒显示的十位;硬件电路的调试;写出详细的课设报告。
3.2、系统方案选择1 电子与信息工程系2009年10月1、键盘的设计考虑到时间误差的存在以及调整时间的方便性,采用独立式键盘。
提高CPU 的工作效率,采用中断工作方式四个键盘接于P1 口,用74ls21 与门接于外部中断0,实现了调整时间的快速性,当四个键盘有中断发生,首先判断四个键哪个按下,向CPU 发一个中断请求信号,然后调用相应的中断程序。
参考电路如下:键盘的工作过程可分为两步:第一步是CPU 首先检测键盘上是否有按键被按下,第二步是识别哪一个减按下。
检查键盘上有无键按下可采用查询工作方式、定时扫描工作方式和中断工作方式。
查询工作方式(例如用8155 扩展I/O 组成的行列式键盘):键盘上有无键按下是有列线送出全扫描字,然后读入行线状态来识别的。
绪论随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。
二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。
第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。
第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。
第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步……我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。
商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。
本设计为软件,硬件相结合的一组设计。
在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。
基本的要了解一些主要器件的基本功能和作用。
除了采用集成化的时钟芯片外,还有采用MCU的方案,利用AT89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。
AT89C51是由ATMEL公司推出的一种小型单片机。
95年出现在中国市场。
其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。
本文介绍了基于AT89C51单片机设计的电子万年历。
保密类别编号毕业论文基于单片机的电子万年历的设计与实现摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行.它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能.在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现.在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写.关键词:单片机万年历DS1302 STC89C52第1章绪论 (1)1。
1 课题研究的背景 (1)1。
2 国内外关于该论题的研究现状和发展趋势 (1)1。
3 本课题研究的目的 (1)第2章系统基本方案选择和论证 (1)2。
1 单片机芯片的选择 (1)2.2 显示模块选择方案和论证 (1)2.3 时钟芯片的选择方案和论证 (1)2。
4 温度传感器的选择方案与论证 (2)第3章系统的硬件设计与实现 (3)3.1电路设计框图 (3)3.2 主要单元电路的设计 (4)3.3 单片机中断系统 (5)3.4 温度采集模块设计 (8)3。
5显示模块的设计 (9)3.6系统的软件设计 (10)结论1。
硬件测试 (12)2.软件测试 (12)参考文献 (13)附录 (14)后记 (16)第1章绪论1.1 课题研究的背景随着微电子技术和超大规模集成电路技术的不断发展家用电子产品不但种类日益丰富而且变得更加经济实用。
数字万年历的制作数字显示万年历,它采用一枚专用软封装的时钟芯片,驱动15只红色共阳极数码管,可同时显示公历年、月、日、时、分、星期,以及农历月、日,还有秒点显示和整点报时、定时闹钟功能,使用220V市电供电,预留有备用电池座,外形尺寸为长21cm×宽×厚3cm,最厚处6cm,适合放置在办公桌面上使用,具有很好的实用性。
成品外观如图1所示。
图1图2原理简介电路原理图如图2所示,为了读图方便,连线稍作了简化。
从图中可以看出,IC1是一枚专用时钟芯片,Y1是32768Hz的晶振,为芯片提供时基频率信号,经过芯片内部处理后,输出各显示位的驱动信号,经过PNP(8550)型三极管做功率放大后驱动各数码管显示。
芯片采用了动态扫描的输出方式,由于人眼存在视觉暂留现象,且扫描速度比较快,因此看上去所有数码管都是在显示的。
这种方式可以有效减少芯片的输出引脚数量,简化了线路,降低了功耗。
在电源部分中,整流二极管VD1~VD4组成了桥式整流电路,将变压器输出的交流电转换为直流电,经C6滤波后,送至三端稳压块7805,输出5V直流稳压电源,为电路供电。
VD3和VD8组成互相隔离的供电电路,目的是在市电停电时,后备纽扣电池通过VD3,自动为芯片IC1提供后备电源,保证芯片计时数据不中断。
同时由于VD8、VD9的存在,后备电池将不再向数码管供电,以节约后备电池的耗电量。
由于芯片自身耗电较低,因此靠纽扣电池也可以维持芯片在很长时间里,内部计时不中断。
当市电恢复后,7805输出经过VD8、VD9分别向芯片和数码管供电,由于DV3的存在,且纽扣电池电压为3V,低于7805输出的5V,因此纽扣电池将自动停止供电,7805输出也不会对纽扣电池充电。
VT9是唯一一只NPN(8050)型三极管,用于驱动喇叭,做为整点报时和定闹发声。
LED10、LED14是用于秒点显示的发光二极管,LED11和LED12分别是整点报时显示和定闹显示的发光二极管,均为红色。
如何更改计算机上的日期和时间计算机上的日期和时间是我们日常工作和生活中非常重要的一部分。
准确的日期和时间设置不仅对我们的文件管理和时间管理有着重要的影响,还能确保我们在线上的交流和系统日志的准确记录。
因此,在使用计算机的过程中,了解如何正确地更改计算机上的日期和时间是非常重要的。
本文将介绍如何在不同操作系统下更改计算机上的日期和时间。
一、Windows系统下更改日期和时间在Windows操作系统中,更改日期和时间的方法因版本而异。
下面将分别介绍Windows 10和Windows 7两个版本的操作方法。
1. Windows 10操作系统:在Windows 10系统中,更改日期和时间的方式非常简便。
首先,点击右下角的系统时间显示区域,在弹出的菜单中选择"调整日期/时间"选项。
然后,在弹出窗口的"日期和时间"选项卡中,可以看到当前的日期和时间。
要更改日期,只需点击日期后面的下拉箭头,选择一个新的日期。
要更改时间,只需点击时间后面的下拉箭头,选择一个新的时间。
最后,点击窗口底部的"应用"按钮保存更改即可。
系统会自动根据更改后的日期和时间进行调整。
2. Windows 7操作系统:在Windows 7系统中,更改日期和时间稍有不同。
首先,点击右下角的系统时间显示区域,然后点击弹出的菜单中的"更改日期和时间设置"选项。
然后,在弹出的窗口中,点击"更改日期和时间"按钮。
接下来,弹出一个可以更改日期和时间的窗口。
在该窗口中,可以选择一个新的日期和时间。
最后,点击窗口底部的"确定"按钮保存更改。
二、Mac系统下更改日期和时间在Mac操作系统中,更改日期和时间也是非常简单的。
首先,点击右上角的日期和时间显示区域。
然后,在弹出的菜单中选择"打开日期和时间偏好设置"选项。
接下来,在弹出的窗口中,点击"日期和时间"选项卡。
万年历第一组:郑建锋、叶泽兵、王海林摘要本设计由STC89C52RC为控制芯片,DS1302为时钟芯片,74LS138译码,8个三极管9012输出低电平控制2个共阳4位数码管,5个按键等来实现万年历的基本功能,再由程序来实现用按键来调节万年历的年月日、时分秒的功能。
关键字:STC89C52RC、DS1302、74LS138一、方案论证与比较方案一:用STC89C51RC来作为控制芯片,NE555做为时钟芯片,74LS138译码,8个三极管9012输出低电平控制2个共阳4位数码管,5个按键等来实现万年历的基本功能。
方案二:用STC89C52RC来作为控制芯片,DS1302做为时钟芯片,74LS138译码,8个三极管9012输出低电平控制2个共阳4位数码管,5个按键等来实现万年历的基本功能。
STC89C52RC是由STC89C51RC改进而来,有STC89C51RC的所有功能,故选择STC89C52RC作为控制芯片。
DS1302作为时钟芯片具有计算2100年前的年月日、时分秒的能力,还有闰年的调整能力,而NE555适合作为定时器,不适合做时钟芯片,故选择DS1302作为时钟芯片。
所以选择方案二。
二、原理分析和说明信号从STC89C52RC的PO口经过10K的上拉电阻来控制数码管的显示和P2口控制74LS138译码,三极管9012产生低电平来控制共阳4位数码管。
P2口控制DS1302作为时钟芯片,用程序来实现数码管的年月日、时分秒显示和用程序来控制按键调节年月日、时分秒。
过反复比较与论证,最终确定的系统方框图如图1所示。
下图为程序系统方框图42、DS1302DS1302 是由DS1202 改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1 为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域下面将主要的性能指标作一综合实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力31 8 位暂存数据存储RAM串行I/O 口方式使得管脚数量最少宽范围工作电压2.0 5.5V工作电流2.0V 时,小于300nA读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配简单3 线接口与TTL 兼容Vcc=5V可选工业级温度范围-40 +85与DS1202 兼容在DS1202 基础上增加的特性对Vcc1 有可选的涓流充电能力双电源管用于主电源和备份电源供应备份电源管脚可由电池或大容量电容输入附加的7 字节暂存存储器五、调试1、检查电路是否能正常工作。
数字时钟调校操作规程一、概述数字时钟是现代家居生活中常见的一种时间显示设备,准确的时间对人们的日常生活有着重要的影响。
为了保证数字时钟的准确性和稳定性,正确地进行调校操作是必不可少的。
本文将详细介绍数字时钟的调校操作规程,以帮助用户正确、方便地进行数字时钟的调校。
二、设备准备在进行数字时钟调校操作前,需要做好以下设备准备工作:1. 数字时钟:确保数字时钟处于正常工作状态,电池电量充足。
2. 参考时间:准备一台精确的时间参考装置,例如手机、电视等。
3. 调校工具:根据数字时钟的具体型号,选择合适的调校工具,例如调校器、旋转钮等。
三、调校步骤根据不同的数字时钟型号,调校操作步骤可能会有所不同。
在进行数字时钟调校前,请先仔细阅读数字时钟的使用说明书,确保理解正确的操作方法。
下面是一般数字时钟的调校步骤示例:步骤一:打开数字时钟使用调校器或旋转钮将数字时钟的电源打开,确保数字时钟处于工作状态。
步骤二:调整时间模式根据数字时钟的使用说明书,选择正确的时间模式。
常见的时间模式有“12小时制”和“24小时制”,根据个人喜好和需求进行选择。
步骤三:设置参考时间将参考时间装置的时间调整为准确时间,并保持稳定。
可以通过互联网授时、电视节目等方式获取准确的时间。
步骤四:调整小时数根据数字时钟的使用说明书,通过调校器或旋转钮调整数字时钟的小时数。
逐步逼近参考时间的小时数,直到达到准确时间。
步骤五:调整分钟数根据数字时钟的使用说明书,通过调校器或旋转钮调整数字时钟的分钟数。
逐步逼近参考时间的分钟数,直到达到准确时间。
步骤六:调整秒数(可选)如果数字时钟具有秒针显示功能,可以根据需要进行秒数的调整。
根据数字时钟的使用说明书,通过调校器或旋转钮逐步逼近参考时间的秒数,直到达到准确时间。
步骤七:保存设置在完成小时数、分钟数和秒数的调整后,根据数字时钟的使用说明书,按下确认键进行设置的保存。
确保数字时钟在设置保存后依然处于正常工作状态。
数码万年历的调整方法
数码万年历是一种可以显示日期、星期、农历等信息的电子产品。
它具有自动调整日期的功能,一般来说不需要手动进行调整。
数码万年历的调整方法主要包括时间、日期和闹铃的调整。
下面将详细介绍数码万年历的调整方法。
一、时间调整
1.按下设定时间的按钮。
有些数码万年历会在屏幕上显示当前时间的选项,选择此选项后按下确定按钮。
2.按下小时或分钟调整的按钮。
这样可以将光标移动到需要调整的位置。
3.使用上下箭头按钮或按下加减按钮进行时间的调整。
根据数码万年历的设计不同,有些产品会使用箭头按钮进行调整,而有些产品则会使用加减按钮。
4.调整完成后按下确认按钮,保存修改后的时间。
二、日期调整
1.按下设定日期的按钮。
有些数码万年历会在屏幕上显示当前日期的选项,选择此选项后按下确定按钮。
2.按下年、月或日调整的按钮。
这样可以将光标移动到需要调整的位置。
3.使用上下箭头按钮或按下加减按钮进行日期的调整。
根据数码万年历的设计不同,有些产品会使用箭头按钮进行调整,而有些产品则会使用加减按钮。
4.调整完成后按下确认按钮,保存修改后的日期。
三、闹铃调整
1.按下设定闹铃的按钮。
有些数码万年历会在屏幕上显示当前闹铃的选项,选择此选项后按下确定按钮。
2.按下小时或分钟调整的按钮。
这样可以将光标移动到需要调整的位置。
3.使用上下箭头按钮或按下加减按钮进行闹铃时间的调整。
根据数码万年历的设计不同,有些产品会使用箭头按钮进行调整,而有些产品则会使用加减按钮。
4.调整完成后按下确认按钮,保存修改后的闹铃时间。
以上就是数码万年历的调整方法。
需要注意的是,不同品牌和型号的数码万年历可能存在一些差异,因此用户在进行调整时最好参考所配备的说明书。
此外,数
码万年历通常会使用电池供电,如果发现时间显示不准确,可能是电池电量不足,需要更换电池。
希望以上内容能够对您有所帮助!。