搜档网
当前位置:搜档网 › 日期时间显示系统

日期时间显示系统

日期时间显示系统
日期时间显示系统

郑州科技学院

《微机原理与接口技术》课程设计题目日期时间显示系统

目录

1课程设计的目的 (1)

2课程设计的任务与要求 (1)

3设计方案与论证 (1)

4设计原理及功能说明 (1)

4.1 程序流程图 (2)

4.2 系统工作原理 (3)

5硬件的制作与调试 (4)

5.1 方案所需软件与硬件条件 (5)

5.2 具体各部分功能实现 (5)

5.3实验结果 (8)

6总结 (9)

参考文献 (11)

附录 (11)

1课程设计的目的

用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的程序的目的。

(1)学习分支、中断、和逻辑表达。

(2)熟悉汇编语言程序的编译、链接过程。

2课程设计的任务与要求

设计一个显示日期或时间的汇编程序间且满足以下要求:

基本功能:运行可执行程序RQSZ.exe,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。

3设计方案与论证

根据键盘输入的相关内容,如:若输入D,则设计程序代码依次读取系统日期年、月、日,并转换成BCD码调用10号中断予以显示;若在键盘输入T,则设计程序代码依次读取系统时间时、分、秒,并转换成BCD码并调用10号中断予以显示;若输入大写字母Q,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。

4设计原理及功能说明

4.1 程序流程图

由课程设计任务要求可知,程序的大致过程是:先判断输入的字符是否为“D”、“T”、“Q”,否则回到初始状态等待重新输入。若为“D”,则调用日期读取程序,显示出日期并回到初始状态;若为“T”,则调用时间读取程序,显示出时间并回到初始状态;若为“Q”,则直接退出程序。

由此可以画出如下程序流程图:

4.2 系统工作原理说明

本次课程设计的程序编译和调试应该都是在DOS环境中进行的。程序的工作过程如前一节的流程图所示。

其中调用日期的子程序需要用到DOS中的2AH号功能,而调用系统时间的子程序需要用到DOS中的2CH号功能,最后退出程序的功能则需要用到I/O中断。

在调用子程序之前还用到了简单的判断程序,判断符合要求才调用子程序,否则退出。

在程序读取系统时间和日期时,由于读取的数据都是二进制数,所以要显示正常结果必须加上一个二进制转化为BCD码的程序。

5硬件的制作与调试

5.1 方案所需软件与硬件条件

所需软件条件:武汉大学开发的轻松汇编软件。轻松汇编是一个汇编语言的集成开发环境,主要面向汇编语言的初学者。它提供了一个在Windows界面下的汇编语言开发环境,具有了一般的集成开发环境所提供的功能。

所需硬件条件:一台PC机

5.2 具体各部分功能实现

程序调试

本次课设的程序调试所用到的软件是武汉大学开发的轻松汇编软件。调试步骤如下:

(1)打开轻松汇编软件,在右侧的程序编辑区输入自己写的汇编程序。然后点击保存按钮。

(2)再点击“运行”菜单栏中的“编译”按钮,出现如图4提示:出现提示说明编写的程序有错误和警告,按照提示将错误改正。

“Reserved word used as symbol:STACK”,说明STACK与系统默认标识符相同,改成STACK1即可。

(3)程序改正后,再一次点击“运行”菜单栏里的“生成”和“运行”,生成zhaohao.exe文件

(4)在光标后输入‘D’或‘T’,分别实现调用系统日期、时间功能。(5)若在光标后输入字符‘Q’,则会出现如下字符串并退出程序

INT 21H ;显示BUF2中的字符串

MOV AH,2AH

INT 21H ;利用DOS的2AH功能来调用系统日期MOV YEAR,CX

MOV MON,DH

MOV DAY,DL

MOV DI,OFFSET BUF

MOV AX,YEAR

MOV CX,4

CALL DIVNUM

CALL LISNUM

CALL DIS1

MOV AL,MON

MOV AH,0

MOV CL,2

CALL DIVNUM

CALL LISNUM

CALL DIS1

MOV AL,DAY

MOV AH,0

MOV CL,2

CALL DIVNUM

CALL LISNUM

CALL ENTER1

JMP START ;分别定义时分秒数据寄存器;对年进行二进制转换并存于寄存器中;输出寄存器中的数据;在年后加入分隔符‘-’,将年与月分开;对月进行二进制转换并存于寄存器中;输出寄存器中的数据;加入分隔符‘-’,将月与日隔开;调用显示字符子程序

5.3实验结果

双击RQSZ.exe,程序初始运行界面:

如果按错了键,会出现如下界面,没任何反应,也不显示任何信息:

如果输入正确如“D”将出现如下界面(每输入一次就显示一次系统日期):

如果输入正确如“T”将出现如下界面(每输入一次就显示一次系统时间):

如果输入“Q”,则退出以上界面。

6总结

1. 在完成课程设计过程中,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!

2. 通过这次课程设计,我们对各个函数以及语句有了进一步的了解,对各个语句的功能有了更深刻的认识和体会,平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识真正运用到了实践中去。在课程设计过程中,同组人员之间相互合作,共同研究使我更加坚信了团体的力量。在团体的共同协作和努力下,任何的难题都可以被解决!

参考文献

1、《微型计算机原理与接口技术》中国矿业大学出版社李长青主编

2、《汇编语言程序设计》科学出版社卢中华等主编

3、《微型计算机汇编语言程序设计》电子科学技术出版社龙尚福主编

4、《微机原理与汇编语言实用教程》清华大学出版社王富荣主编

5、《微机原理与接口技术课程设计》中南大学出版社王南兰主编

6、《微机原理及应用》西南交通大学出版社晏寄夫主编

《32位微机原理与接口技术》化学工业出版社马兴录主7、

8、《微机原理与接口技术》电子科技大学出版社倪继烈主编

附录:STACK1 SEGMENT STACK

DW 200 DUP (?)

STACK1 ENDS

DATA SEGMENT

SPACE DB 1000 DUP (' ')

PATTERN DB 6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ')

DB 6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ') DB 6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ') DBUFFER DB 8 DUP (':'),12 DUP (' ')

DBUFFER1 DB 20 DUP (' ')

STR1 DB 0DH,0AH, 'PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK1 START: MOV AX,0001H ;设置显示方式为40*25彩色文本方式

INT 10H

MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV BP,OFFSET SPACE

MOV DX,0B00H

MOV CX,1000

MOV BX,0040H

MOV AX,1300H

INT 10H

MOV BP,OFFSET PATTERN ;显示矩形条

MOV DX,0B00H

MOV CX,120

MOV BX,004EH

MOV AX,1301H

INT 10H

LEA DX,STR1 ;显示提示信息MOV AH,9

INT 21H

MOV AH,1 ;从键盘输入单个字符

INT 21H

CMP AL,44H ;AL='D'?

JNE A

CALL DATE ;显示系统日期

A: CMP AL,54H ;AL='T'?

JNE B

CALL TIME ;显示系统时间

B: CMP AL,51H ;AL='Q'?

JNE START

MOV AH,4CH ;返回dos状态

INT 21H

DATE PROC NEAR ;显示日期子程序

dis:MOV AH,2AH ;取日期

INT 21H

MOV SI,0

MOV AX,CX

MOV BX,100

DIV BL

MOV BL,AH

CALL BCDASC1 ;日期数值转换成相应的ASCII码字符

MOV AL,BL

CALL BCDASC1

INC SI

MOV AL,DH

CALL BCDASC1

INC SI

MOV AL,DL

CALL BCDASC1

MOV BP,OFFSET DBUFFER1

MOV DX,0C0DH

MOV CX,20

MOV BX,004EH

MOV AX,1301H

INT 10H

MOV AH,02H ;设置光标位置

MOV DX,0300H

MOV BH,0

INT 10H

MOV BX,0018H

REPEA: MOV CX,0FFFFH ;延时

REPEAT:LOOP REPEAT

DEC BX

JNZ REPEA

MOV AH,01H ;读键盘缓冲区字符到AL寄存器

INT 16H

JE dis

JMP START

MOV AX,4C00H

INT 21H

RET

DATE ENDP

TIME PROC NEAR ;显示时间子程序

DISPLAY1:MOV SI,0

MOV BX,100

DIV BL

MOV AH,2CH ;取时间

INT 21H

MOV AL,CH

CALL BCDASC ;将时间数值转换成ASCII码字符

INC SI

MOV AL,CL

CALL BCDASC

INC SI

MOV AL,DH

CALL BCDASC

MOV BP,OFFSET DBUFFER

MOV DX,0C0DH

MOV CX,20

MOV BX,004EH

MOV AX,1301H

INT 10H

MOV AH,02H

MOV DX,0300H

MOV BH,0

INT 10H

MOV BX,0018H

RE: MOV CX,0FFFFH REA: LOOP REA DEC BX

JNZ RE

MOV AH,01H

INT 16H

JE DISPLAY1

JMP START

MOV AX,4C00H

INT 21H

RET

TIME ENDP

BCDASC PROC NEAR ;时间数值转换成ASCII码字符子程序

PUSH BX

CBW

MOV BL,10

DIV BL

ADD AL,'0'

MOV DBUFFER[SI],AL

INC SI

ADD AH,'0'

MOV DBUFFER[SI],AH

INC SI

POP BX

RET

BCDASC ENDP

BCDASC1 PROC NEAR ;日期数值转换成ASCII码字符子程序

PUSH BX

CBW

MOV BL,10

DIV BL

ADD AL,'0'

MOV DBUFFER1[SI],AL INC SI

ADD AH,'0'

MOV DBUFFER1[SI],AH INC SI

POP BX

RET

BCDASC1 ENDP CODE ENDS

END START

cursor equ 45H attrib equ 2fh code segment

linux 的系统时间和硬件时间查看修改

linux 的系统时间有时跟硬件时间是不同步的 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。 Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。 1、date 查看系统时间 # date 设置系统时间 # date --set “07/07/06 10:19" (月/日/年时:分:秒) 2、hwclock/clock 查看硬件时间 # hwclock --show 或者# clock --show 设置硬件时间 # hwclock --set --date="07/07/06 10:19" (月/日/年时:分:秒) 或者# clock --set --date="07/07/06 10:19" (月/日/年时:分:秒) 3、硬件时间和系统时间的同步 按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。 硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys 系统时钟和硬件时钟同步:# hwclock --systohc或者# clock --systohc

A设置系统的日期和时间

A设置系统的日期和时间 A设置系统的日期和时间2011-05-15 13:42间,以下_D__是正确的。 A.计算机内的时间是每次开机时,由AUTOEXEC.BAT向计算机输入的 B.开机时因为有外接电源,系统时间行走;关机后,则结束运行 C.计算机内的时光是每次开机时,系统依据当时情形,快乐女声,自动向计算机输入的 D.因为主机内装有高能电池,关机后系统时钟仍能行走 102为了畸形施展Windows3.2中文版的功能,则至少须要_A__的硬盘空间。 A.10MB B.20MB C.40MB D.80MB 103有些菜单项被选中后,还会显示出一 个方框来要求操作者进一步输入信息,这样的菜单项的右边有_C__。 A.√ B.▲ C.… D.暗色显示 104Windows借助于屏幕上的图形,向使用者提供了一种_D__操作环境。 A.命令 B.窗口 C.图形 D.窗口式多任务

105关于Windows3.2的以下说法,正确的是_C_。 A.必须脱离DOS独立运行 B.可以脱离DOS独破运行 C.必须依附DOS3.1以上版本的支撑才干工作 D.只有有80386以上的CPU就可以运行 106对于DOS的启动,除冷启动,热启动(Ctrl+Alt+Del)外,有的计算机还可以采取_C__来启动。 A.CTRL+RESET B.SHIFT+RESET C.RESET D.ALT+RESET 107在Windows中,有两类窗口:应用程序窗口和文档窗口__B_。 A.两者由运行一个应用程序的方式不同所翻开的 B.前者由运行一个应用程序打开,后者是要求显示或输入一些信息而在前者中打开 C.程序管理器窗口就是文档窗口,而程序组窗口就是应用程序窗口 D.前者是位于屏幕最前方的标题栏颜色异乎寻常的窗口 108Windows中,当屏幕上有多个窗口时,_D__是活动窗口。 A.可以有多个窗口 B.有一个固定的窗口 C.没有被其它窗口盖住的窗口 D.有一个标题栏的颜色不同凡响的窗口 109_D__代表当前目录中所有第二、第三字符为KL的文件名。 A.*KL*.*

系统日期格式动态设置系统日期格式

系统日期格式:动态设置系统日期格式 疯狂代码 https://www.sodocs.net/doc/7e12187588.html,/ ?:http:/https://www.sodocs.net/doc/7e12187588.html,/Delphi/Article12138.html 动态设置系统日期格式 1 问题提出 在操作数据库表的时候,通常需要对表中的日期类型的数据做处理,对于系统来说存在多种 日期格式,数据库的日期字段也存在多种格式,当往数据库表中插入日期字段的时候必须两者的日期 格式匹配才能插入数据,在这种情况下,一般需要更改系统的日期格式,改成与数据库表中的日期字段 一致的格式(因为表的设计已经定好,对于日期的格式也已经唯一确定,所以一般情况下都是更改系统 的日期格式),那么就必须能够在程序中自动改变系统的日期格式,使其和表的日期格式匹配! 2 程序中修改日期格式的系统API的说明 主要需要使用下面的windows API BOOL SetLocaleInfo( LCID Locale,// locale identifier LCTYPE LCType,// type of information to set LPCTSTR lpLCData // pointer to information to set ); 本函数主要用于windows系统中设置系统的区域选项,主要包括时间,语言等选项的设置。 LCID:locale identifier (区域标志) 在系统中有两个默认值: LOCALE_SYSTEM_DEFAULT:系统默认的区域选项; LOCALE_USER_DEFAULT:当前用户的区域选项; 同时用户也可以通过 MAKELCID宏动态创建LCID; LCType:需要设定的系统信息类型; 主要包括下面的值: LOCALE_ICALENDARTYPELOCALE_SDATE LOCALE_ICURRDIGITS LOCALE_SDECIMAL LOCALE_ICURRENCY LOCALE_SGROUPING LOCALE_IDIGITS LOCALE_SLIST LOCALE_IFIRSTDAYOFWEEKLOCALE_SLONGDATE LOCALE_IFIRSTWEEKOFYEARLOCALE_SMONDECIMALSEP LOCALE_ILZERO LOCALE_SMONGROUPING LOCALE_IMEASURE LOCALE_SMONTHOUSANDSEP LOCALE_INEGCURR LOCALE_SNEGATIVESIGN LOCALE_INEGNUMBER LOCALE_SPOSITIVESIGN LOCALE_ITIME LOCALE_SSHORTDATE LOCALE_S1159 LOCALE_STHOUSAND

单片机LCD1602显示年月日时钟带星期和闹钟

长春工业大学 测控技术与仪器专业 单片机LCD1602显示年月日时钟带星期和闹钟,可识别闰年 下载文档即可完全复制 #include #define uchar unsigned char #define uint unsignedint

sbitlcdrs = P0^7; //液晶引脚定义 sbitled_cs = P0^6; sbitlcden = P0^5; sbit boom = P3^6; sbit key1 = P3^5; sbit key2 = P3^4; sbit key3 = P3^3; sbitkeyE = P3^2; uchar num,key1num,key2num,count,hour,min,sec,day,mon,year,shi,fen,miao ,week; char ye1,ye2; uchar code cg_1602[]={ 0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02, 0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00, 0x0f,0x09,0x09,0x0f,0x09,0x09,0x0f,0x00, 0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,};//"年月日" /*延时函数*/ void delay(uintxms) { uinti,j; for(i=xms;i>0;i--)

for(j=114;j>0;j--); } /*1602液晶*/ void write_com(uchar com)//写命令{ lcdrs=0; lcden=0; P2=com; delay(5); lcden=1; delay(5); lcden=0; } void write_data(uchar date)//写数据{ lcdrs=1; lcden=0; P2=date; delay(5); lcden=1; delay(5); lcden=0;

Windows XP中 如何更改时间和日期设置

Windows XP中如何更改时间和日期设置Windows XP中- 更改时间和日期设置 与Windows XP加载到桌面的右下角看,你会看到显示的时间。 用鼠标双击的时间。这将打开的日期和时间属性框。 沿上方你会看到三个标签。单击“日期和时间”选项卡。 上的日期和时间“选项卡上,你会看到changin月的选项(见盘旋例如)今年,在我们的例子是2010年,每天在日记风格。 您可以使用鼠标来改变这些设置。单击您想要从日记格式的日期,使用下拉框选择月份和今年的权利小了上下箭头。

您还会注意到,在右边的时钟。下面的时钟是一个数字的时间。这是你改变的时候。 你改变的时候,双击小时或分钟数。这两个数字将被突出显示为蓝色,这表明他们已经准备好要改变。 键入新的号码,或按一下键盘上的向上和向下箭头到右边的数字时间调整的数字。 点击“时区”选项卡。 这说明目前的时区设置和图片一个平坦的世界,你会看到一个下拉框。下面这是一个要求自动调整夏令时时钟“的勾选框。https://www.sodocs.net/doc/7e12187588.html,

要更改时区,单击下拉框,将可用的时区列表。通过点击一次鼠标,从列表中选择你的国家。 你选择的国家现在应该选择的时区。 如果这是你要调整按“确定”按钮,关闭日期和时间特性的影响中。

点击最后一个选项卡“Internet时间”。 “Internet时间”选项卡可以让你在互联网上的时钟同步的时钟。你会看到一个复选框“自动与Internet时间服务器同步。这是默认情况下打勾。 你可以点击“立即更新”按钮,您的计算机时间同步。 一旦你已经按“确定”按钮,关闭的日期和时间属性框。

时间管理系统时间设置办法

最新卓越管理方案您可自由编辑

DVR 系统时钟设置方法 当DVR不能启动出现以下画面的时候需要重新设置系统时钟,操作步骤如下: 1.DVR与PC的连接使用串口交叉线。(注意:串口交叉线是2-3 ,3-2 ,5-5脚相连接) 2.硬件连接: 将PC后面板上的串口和DVR后面板上的RS-232相连; 3.设置时间前请记下机箱外壳标签上的ETHERNET ADD(MAC地址),比如(00:00:F0:54:44:18) 4.运行电脑系统中的“超级终端”软件,进行连接设置。如下图: RS-232 串口 SHR-4080 背板PC 背板 NETWORK NETWORK

任意输入一个名称和任意选择一个图标,按“确定”键。 国家、区号、电话号码不用设置,在“连接时使用”选择“COM 1或COM 2”(根据实际的连接情况进行选择)

设置COM口属性: 1)每秒位数(波特率):115200 2)数据位、机偶校验、停止位的参数不用修改 3)数据流控制选择“无” 点击’确定’键,进入到等待连接状态。 然后拔掉DVR的电源,等1分钟后再重新接上电源,超级终端会出现以下画面:

5.超级终端会自动进入到时间设置,请按提示输入“年、月、日、时、分、秒”。如下图:

6.接着进入到DVR网络地址设置,可以选择“1.Auto”或“2.Manual” 6.出现以下画面的时候根据你设置的DVR的型号选择,如下图你设置的是SHR-4081P则选择1,是SHR-4160则按其它键后回车或直接回车。如果“HOST Name”只有一个型号选择时只需要直接回车便可。

linux+系统时间设置方法

Linux 系统时间设置 #include #include #include #include #include unsigned char SetTime(uint8 *timess) { struct timeval *settvv=malloc( sizeof( struct timeval ) ); time_t curdate; struct tm *tdate=malloc( sizeof( struct tm ) ); unsigned char f=0; tdate->tm_year=timess[0]+2000-1900; //年 tdate->tm_mon=timess[1]-1; // 月 tdate->tm_mday=timess[2]; // 日 tdate->tm_wday=timess[6]; // 星期 tdate->tm_hour=timess[3]; // 小时 tdate->tm_min=timess[4]; // 分钟 tdate->tm_sec=timess[5]; // 秒钟 curdate=mktime(tdate); settvv->tv_sec=curdate; settvv->tv_usec=0; if( settimeofday ( settvv, (struct timezone *)0 )<0 ) { printf("settime error:%s\n\a",strerror(errno)); f=1; } system("hwclock –systohc");//系统时钟和硬件时钟同步:(让系统的时间同步到硬件时钟) free(tdate); free(settvv); return f; }

日期时间显示程序_廖海洋

信息科学与技术学院 程序设计基础课程设计报告 题目名称:日期时间显示程序 学生姓名:廖海洋 学号: 2014508010 专业班级: 14计科1班 指导教师:郭理 2015年 6 月 17 日

目录 1 课程设计题目与要求 (3) 1.1设计题目 (3) 1.2设计要求 (3) 2 总体设计 (4) 2.1 总体功能框架 (4) 2.2 数据结构概要设计 (5) 3 详细设计 (6) 3.1数据结构详细设计 (6) 3.2系统功能详细设计 (8) 4 运行结果 (17) 5 课程设计总结 (20) 5.1 编程中的问题及解决方法 (20) 5.2 小结 (20) 5.3 心得体会 (20) 5.4 程序设计方法 (21) 参考文献 (21) 附:源代码 (22)

1 课程设计题目与要求 1.1设计题目 C++题目11:日期时间显示程序: 编一应用程序,输入年、月、日、时、分、秒,在屏幕上模拟显示一电子计时器,不断输出下一秒的时间和日期,以及格林威治的日期和时间。 注意,当对日期增加1天后,会涉及所谓的"进位"问题:首先算出本"日"所在的月份具有的天数N,若加1之后的"日"数值超过所在的月份具有的天数N时,"进位"到月,而月份若超过12时还要"进位"到年。 1.2设计要求 (1)定义一个时间结构体类型time,能提供时、分、秒组成的时间,并提供时间增加的方法(按秒)。 (2)定义一个日期结构体类型Date,记录年、月、日,并提供日期增加的方法(按天)。 (3)定义个日期时间结构体类型DateTime,除具有年、月、日、时、分、秒外,还增加国名和与格林威治时间的差。 思考:可对该类增加你所考虑到的其他功能,如,对日期进行输入,计算二日期的间隔天数,计算某日期为星期几,打印对象当前数据的y年m月的月历,一次增加若干天,对两个日期进行其他比较运算等。

显示时间日期

课程设计说明书 课程设计题目 显示系统日期时间的程序开发 1.课程设计的目的和内容 内容:要求完成一个显示系统当前日期和时间的程序,即通过按下键盘上某个按键就可以显示系统的日期和时间或者终止程序。(比如:在出现的提示信息后输入小写字母“d”,显示系统当前日期;输入小写字母“t”,显示系统当前时间;输入小写字母“q”,结束程序。) 此程序涉及到对DOS和BIOS的常用功能的调用,要求学生掌握使用汇编语言对I/O中断的使用。 目的:(1)使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。 (2)培养学生综合运用所学知识独立完成汇编程序课题的能力。 (3)培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 (4)提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。 (5)培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 (6)对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。 2.开发环境: (1)软件环境:DOS系统。 (2)硬件环境:普通PC机。 3.功能分析 (1)总体设计功能

工作原理:在DOS环境下完成,先利用BIOS功能调用中显示器驱动程序的00H类型调用,设置显示器的显示模式为80*25彩色。 在屏幕中央显示提示信息(提示用户输入“d”或“t”或“q”)。 然后对用户输入的字母进行判断,利用分支程序分别调用不同的子程序。两个子程序的功能分别是显示当前日期(用2AH的DOS功能调用来取日期),显示当前时间(用2CH的DOS功能调用来取时间)。 必须用到的DOS功能调用: 取当前系统日期:功能号为2AH,返回值送入CX,DX寄存器中。 取当前系统时间:功能号为2CH,返回值送入CX,DX寄存器中。 1.部分程序设计及功能 (1)文本显示 在显示彩色文本时,属性字节能够选择前景(显示的字节)和背景的颜色;每个字符可以选择16种颜色中的一种,背景有8种颜色可以选择;在程序代码中,

Qt设置系统时间

Qt设置系统时间 大家都知道Qt中有QDateTime等有关时间与日期的类,类中包含很多成员函数,可以很方便的实现有关时间与日期的操作,比如:想要获得系统当前的时间与日期,可以调用currentDateTime();但是Qt并没有提供设置系统时间的方法,这样我们只能自己来区分平台,调用平台相关的API,这篇文章实现在Windows下的设置。 常用的与时间有关的Win32 API有两个:GetSystemTime(); 与SetSystemTime(); 下面是函数原型: Windows上实现: VOID GetSystemTime(LPSYSTEMTIME lpSystemTime); BOOL SetSystemTime( const SYSTEMTIME *lpSystemTime ); 我们查一下MSDN 看看LPSYSTEMTIME 与 SYSTEMTIME 是什么东东: typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; } SYSTEMTIME, *PSYSTEMTIME; 从中我们知道SYSTEMTIME 为结构体类型,LPSYSTEMTIME为结构体指针,传递给两个函数的参数都必须是指针或引用类型,下面看一个Qt的调用实例: 1#include 2#include 3#include 4#include 5#include 6#include 7using namespace std;

电脑的系统时间不准确解决方法

电脑的系统时间不准确,分两种情况: 1、偶尔不准确:如果偶尔出现计时不准确,可以随时修正,双击桌面右下角任务栏的时间,在弹出的日期和日间属性选项框内,单击INTERNET时间,勾选“自动与INTERNET时间服务器同步”,单击“自动更新”。如果点击“立即更新”后,时间并没有更新成功,那很可能是时间服务没有开启,这是,就必须去打开系统的时间服务。打开方法,换主板电子,然后启动rpc相关的服务,启动Windows Time,然后同步。 启动服务的方法:右键点击我的电脑,选择管理,在左侧点服务和应用程序下的服务,在右侧启动Windows Time 和Remote Procedure Call (RPC)、Remote Procedure Call (RPC) Locator,最好把DCOM Server Process Launcher、Application Management一起启动,逐个双击。进入各自属性窗口后,在“常规”下,将启动类型设置为“自动”。然后按“应用”。设置完启动类型后,再来设置服务状态,按下面的“确定”按钮启动此项服务。当这两项都设置好了后,就可以按“确定”退出窗口。 或者在开始菜单点“运行”,输入“cmd”,打开命令提示符,然后输入“time”,回车,显示当前时间后,按照格式输入新的时间即可;同样的可以输入“date”可以修改新的日期; 2、经常不准确:又有三种情况 (1)主板电池失效:则需要更换主板电池,型号一般为2032,电脑商店甚至一般电器商店均有售。按下电池座旁边的弹簧扣,即可取下纽扣电池,更换电池后,再手工校时或按前述方法操作。 判断电池没电方法如下:首先将电脑不对的时间设置回来,然后重启电脑,在重启的过程中一直按Delete就可以进入bios设置,选择“StandardCOMSFeatures”,可以看到系统时间,如果是不正确的,然后通过方向键选定时间选项并进行设置,然后按F10保存退出即可。这里可以有两种判断,如果bios里的时间不正确,那么是电池原因。如果时间正确,再保存退出启动电脑后是不正确的,那就是被篡改了,篡改解决方法下面有介绍。 (2)电脑系统时间被恶意软件修改:也就是我们常说的病毒,方法是先用杀毒软件对自己的电脑进行全盘查杀,再考虑自己是否在近期安装有一些不正常的程序软件,如果有软件不是很需要,那么卸载吧。 防恶意修改的方法可以是在组策略中禁用时间修改,修改方式比较麻烦,开始→运行→输入“gpedit.msc”打开组策略。进入组策略后依次打开计算机配置→windows设置→安全设置→本地策略→用户权利指派,然后找到"更改系统时间",双击"更改系统时间",打开属性对话框,点击"添加用户或组",把你的系统用户名添加进去→确定→重启电脑。经过这样设置以后,我们就在windows中已经无法更改系统时间了。 或者我们可以使用360时间保护器进行设置,下载安装完成后打开时间保护器,点击安装时间防改保护,这样系统时间就不能修改了,你自己也不能修改,你需要在系统时间保护器中允许修改后才能修改。 (3)主板时间晶振损坏:换了电池时间显示也不准确,则是晶振损坏,那就需要修理主板或更换主板。

HTML显示时间日期

Linux系统时间设置手册

Linux系统时间设置手册

目录 目录 (2) 1引言 (3) 1.1目的 (3) 1.2对象 (3) 2修订历史 (3) 3参考资料 (3) 4术语与缩写 (3) 4.1术语 (3) 4.2缩写 (4) 5时间和时区 (4) 6如何设置Linux Time Zone (5) 7Real Time Clock(RTC) and System Clock (6)

1 引言 1.1 目的 本手册的编写目的是对配置Linux系统时间的相关步骤进行总结。 1.2 对象 本文档主要供下列人员使用: 实施人员――使用Linux系统 2 修订历史 3 参考资料 [1]. 4 术语与缩写 4.1 术语

4.2 缩写 5 时间和时区 如果有人问你说现在几点? 你看了看表回答他说晚上8点了. 这样回答看上去没有什么问题,但是如果问你的这个人在欧洲的话那么你的回答就会让他很疑惑,因为他那里还太阳当空呢. 这里就有产生了一个如何定义时间的问题. 因为在地球环绕太阳旋转的24个小时中,世界各地日出日落的时间是不一样的.所以我们才有划分时区(timezone) 的必要,也就是把全球划分成24个不同的时区. 所以我们可以把时间的定义理解为一个时间的值加上所在地的时区(注意这个所在地可以精确到城市) 地理课上我们都学过格林威治时间(GMT), 它也就是0时区时间. 但是我们在计算机中经常看到的是UTC. 它是Coordinated Universal Time的简写. 虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC 那么假如现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式: 20:00 CST 12:00 UTC 这里的CST是Chinese Standard Time,也就是我们通常所说的北京时间了. 因为中国处在UTC+8时区,依次类推那么也就是12:00 UTC了. 为什么要说这些呢? 第一,不管通过任何渠道我们想要同步系统的时间,通常提供方只会给出UTC+0的时间值而不会提供时区(因为它不知道你在哪里).所以当我们设置系统时间的时候,设置好时区是首先要做的工作

单片机C语言电子钟显示年月日星期及时间(带注释)

#include #define uchar unsigned char #define uint unsigned int uchar code table[]=" 2011-12-30 SAT"; uchar code table1[]=" 23:59:55 "; uchar code week1[][3]={"MON","TUE","WEN","THU","FRI","SAT","SUN"}; /*uchar code week2[]="TUE"; uchar code week3[]="WEN"; uchar code week4[]="THU"; uchar code week5[]="FRI"; uchar code week6[]="SAT"; uchar code week7[]="SUN"; */ uchar count,shi,fen,miao,dnum,year,month,day,week,a=5; sbit rs=P2^0; //数据命令 sbit rw=P2^1; //读写 sbit en=P2^2; //使能 sbit d1=P3^1; //独立键盘 sbit d2=P3^2; sbit d3=P3^3; sbit d4=P3^4; void delay(uchar z) //延时 { uint x,y; for(x=110;x>0;x--) for(y=z;z>0;z--); } void write_com(uchar com) //写指令 { rs=0; rw=0; en=0; P0=com; delay(5); en=1; delay(5); en=0; } void write_date(uchar date) //写数据 {

电子钟可闹铃、设置日期和时间

/***************************lns主程序snl***************************/ #include //包含头文件 #include //包含头文件 /***************************数据类型定义***************************/ #define uchar unsigned char //数据类型定义 /*************************定义变量并初始化*************************/ uchar n=31; //定义月份天数变量并初始化 uchar ms=0; //定义毫秒变量并初始化 uchar h1=0,m1=0,s1=0; //定义计时时、分、秒变量并初始化uchar h2=0,m2=1,s2=1; //定义定时时、分、秒变量并初始化uchar year=7,month=9,day=8; //定义年、月、日变量并初始化 uchar wday=6; //定义星期变量并初始化 uchar *h=&h1,*m=&m1,*s=&s1; //定义显视位变量并初始化 uchar *p; //定义调节指针 uchar k1=0,k2=0,k3=0,k4=0,k5=0; //定义控制变量并初始化 uchar counter=0; //定义铃声节拍变量并初始化 uchar count=0; //定义铃声音符变量并初始化 sbit sound=P1^0; //定义铃声输出位 uchar a[8]={1,2,3,4,5,6,7}; //定义显视输出位数组并初始化 uchar code tt[12]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x40,0x00 }; //数码管显视代码 uchar code array[]={ 0x18, 0x30, 0x1C, 0x10, 0x20, 0x40, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x18, 0x40, 0x1C, 0x20, 0x20, 0x20, 0x1C, 0x20, 0x18, 0x20, 0x20, 0x80, 0xFF, 0x00, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0xFF, 0x00, 0x20, 0x20, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x20, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0x20, 0x30, 0x1C, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x15, 0x1F, 0x05, 0x20, 0x10, 0x1C, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40,

日期时间显示系统

郑州科技学院 《微机原理与接口技术》课程设计题目日期时间显示系统

目录 1课程设计的目的 (1) 2课程设计的任务与要求 (1) 3设计方案与论证 (1) 4设计原理及功能说明 (1) 4.1 程序流程图 (2) 4.2 系统工作原理 (3) 5硬件的制作与调试 (4) 5.1 方案所需软件与硬件条件 (5) 5.2 具体各部分功能实现 (5) 5.3实验结果 (8) 6总结 (9) 参考文献 (11) 附录 (11)

1课程设计的目的 用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的程序的目的。 (1)学习分支、中断、和逻辑表达。 (2)熟悉汇编语言程序的编译、链接过程。 2课程设计的任务与要求 设计一个显示日期或时间的汇编程序间且满足以下要求: 基本功能:运行可执行程序RQSZ.exe,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。 3设计方案与论证 根据键盘输入的相关内容,如:若输入D,则设计程序代码依次读取系统日期年、月、日,并转换成BCD码调用10号中断予以显示;若在键盘输入T,则设计程序代码依次读取系统时间时、分、秒,并转换成BCD码并调用10号中断予以显示;若输入大写字母Q,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。 4设计原理及功能说明 4.1 程序流程图 由课程设计任务要求可知,程序的大致过程是:先判断输入的字符是否为“D”、“T”、“Q”,否则回到初始状态等待重新输入。若为“D”,则调用日期读取程序,显示出日期并回到初始状态;若为“T”,则调用时间读取程序,显示出时间并回到初始状态;若为“Q”,则直接退出程序。 由此可以画出如下程序流程图:

MySQL的datetime设置当前时间为默认值

由于MySQL目前字段的默认值不支持函数,所以以 create_time datetime default now() 的形式设置默认值是不可能的。 代替的方案是使用TIMESTAMP类型代替DATETIME类型。 CURRENT_TIMESTAMP :当我更新这条记录的时候,这条记录的这个字段不会改变。 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP :当我更新这条记录的时候,这条记录的这个字段将会改变。即时间变为了更新时候的时间。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为 如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)如果有多个TIMESTAMP列,只有第一个自动更新。 TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。 如果有多个TIMESTAMP列,只有第一个自动更新。 自动更新第一个TIMESTAMP列在下列任何条件下发生: 1.列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。 2.列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注 意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被 更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。) 3.你明确地设定TIMESTAMP列为NULL. 4.除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为 NULL,或NOW()。 另外在5.0以上版本中也可以使用trigger来实现此功能。 create table test_time ( id int(11), create_time datetime

s7-300plc系统时间的应用技巧

S7-300 PLC系统时间的应用技巧 孙淑惠,黄东强(秦皇岛燕大汽车附件厂,066004) 摘要:针对西门子S7-300系列PLC CPU系统时间在使用方面具有一定的难度,尤其在与TP170A触摸屏连机时,存在系统时间参数读取不正常,系统时间无法设置,系统时间无法正确实时显示等诸多问题,本文以在触摸屏上实现设置和读取CPU系统时间为例,介绍了S7-300PLC系统时间的使用技巧及其高级应用。 关键词:S7-300;触摸屏;系统时间 中图分类号:TM571.6+1 文献标识码:B 文章编号: 1004-0420(2008)05-0019-03 Application skills of system time in S7-300 PLC SUN Shu hui, HUANG Dong qiang (Qinghuangdao Yanda Automotive Components CO., Ltd, 066004) Abstract:Aim at the system time of Siemens S7300 series PLC CPU, it is has some difficulty in using the system time, especially when the TP170A touch screen machines links to PLC, Includes the system time parameters cannot read normally; the system time cannot be set; the system time cannot be displayed correctly, and so on. This paper introduces how to set and read the system time on the touch screen, and some advanced application skills for S7300 PLC as an example. Key words:S7-300; HMI; system time 0引言 西门子S7-300 PLC是模块化微型PLC系统,完全满足中、小规模的性能要求,以其简单的导轨安装,使得硬件维护相当方便。另外,人机界面(HMI)服务已经集成在S7-300操作系统Step7内,用户只需在人机界面(HMI)中输入数据,S7-300就会自动地按用户指定的刷新速度传送与处理这些数据。在工业生产中,时间是最为常用的参数,如设定工作的起始时间、结束时间;统计完成各生产

汇编显示计算机时间和日期(上午或下午、星期几)

微机原理与接口技术编程作业 学院:xxxx学院班级:xxxxxxxxxx学号:xxxxxxxxxx姓名:xxx 【题目要求】 根据当前计算机的时间和日期,显示上午(AM)或下午(PM),并显示星期几。【设计思路】 通过使用软中断指令“INT 21H”进行系统功能调用,获取系统时间和日期。当AH=2AH时,可获取系统日期,有 CX=year(1980~2099) DH = month (1~12) DL = day (1~31) AL = day of the week (0~6, 0=Sunday, 1=Monday, etc.) 当AH=2CH时,可获取系统时间,有 CH=hours(0~23) CL = minutes (0~59) DH = seconds (0~59) DL = hundredths of seconds (0~99) 将对应的寄存器内容取出,二进制转换为ASCII码,再输出即可获知当前系统时间与日期。 其中,当小时(hours)值小于等于12时为上午(AM),大于12时为下午(PM),大于12时显示的小时数值与12进行作差操作。星期几可由AH=2AH时系统功能调用所得的AL数值对应得到,选取相符的字符串进行显示即可。 【源码】 .MODEL SMALL .DA TA WEEK DB 'Sunday$','Monday$','Tuesday$','Wednesday$','Thursday$','Friday$','Saturday$' .CODE START: MOV AX,@DA TA MOV DS,AX HOUR: MOV AH,2CH ; To get system time INT 21H MOV AL,CH ; Hour is in CH MOV CH,1 CMP AL,12 ; To determine AM or PM JLE NEXT SUB AL,12 MOV CH,2 NEXT:AAM MOV BX,AX CALL DISP

汇编语言课程设计 显示系统当前时间与日期

华北科技学院 课程设计说明书 课程名称:汇编语言 班级: 姓名: _ _ 学号:__ 设计题目:显示系统当前时间与日期 _ 设计时间: 2009-06-21至2009-07-02 指导教师: _ _ _ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:____________

一、课程设计目的 进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。 二、课程设计要求 1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。 2.遵循模块化、结构化的程序设计方法。 3.要求程序必须正确。 4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。 5.要求程序结构合理,语句使用得当。 6.适当追求编程技巧和程序运行效率。 三、课程设计题目: 题目:显示系统当前时间与日期 要求设计界面提示信息为:“Please input DATE(D) OR TIME(T)OR QUIT(Q):”,从键盘键入“D”,可显示系统日期。从键盘输入“T”,可显示系统时间。从键盘输入“Q”,退出程序。利用DOS的系统功能调用的2AH和2CH功能调用,读取系统日期和时间。将日期和时间转换为相应的ASCII码字符,显示在屏幕上。 四、课题分析 这个题目是显示系统当前时间与日期,这就需要用DOS的2A号功能---取系统日期和2C号功能---取系统时间,以及BIOS的06号功能---清屏或上卷,02号功能---制光标位置。此题目主要是将时间,日期转换为相应的ASCII码,并显示出来。 五、流程图:

相关主题