精华内容
下载资源
问答
  • 用汇编程序编写一个程序,将系统日期和时间显示屏幕右上角。
  • 自定义日期控件,随需要设置是否显示日。
  • 日历日期 这是输入日期并在屏幕显示日历的软件的源代码。 该软件可从以下位置下载: : 该软件由Hafiz Muhammad Umer创建。您可以通过与我联系。 也请在和关注我
  • 天气日记应用 天气日记应用程序,它使用邮政编码和用户输入的用户感觉来在屏幕显示日期和温度
  • 设计题目: 系统日期时间显示屏幕右上角 班 级: *************** 学 号: ******* 姓 名: ***** 指导教师: ****** 

     

    文本框: 汇编语言课程设计jijijijijijijiji计         

     

     

     

     

     

     

     

     

     

     

    设计题目: 系统日期时间显示在屏幕右上角

        级:   ***************  

        号:    *******            

        名:     *****            

    指导教师:    ******              

     

                                  

    00九年十二月25

     

     

    前言

    走进了21世纪,汇编在还很多的场合下都是很重要的一门编程语言,也是高级语言和低级语言的介段的一门语言,汇编语言是最接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最接近本质的语言 。汇编语言操作直接面向硬件,所以,我们在使用汇编语言的时候,我们能够感知计算机的运行过程和原理,从而能够对计算 机硬件和应用程序之间的联系和交互形成一个清晰的认识。这也是最能够锻炼编程者编程思维逻辑的,只有这样,学习者才能 形成一个软、硬兼备的编程知识体系,这是任何高级语言都无法给予的!相对于繁复的高级语言,汇编语言指令集合更简约, 指令操作更直接,从汇编开始学习更符合循序渐进的学习原理, 汇编的操作由于跟硬件紧密相关,所以,很多硬件设施的嵌入式编程使用的都是使用的汇编语言,因为汇编语言更直接 ,更有效率!我们现在的数码产品很多,而这些数码产品赖以生存的芯片,主板等,都包含了嵌入式程序,而这些程序中,汇编语言的使用是相当重要的。

    本次课程设计为显示日期时间,我们必须要了解汇编的一些循环指令,因为日期时间是以不断变化,而且到那种场合下都能显示正确的日期和时间我们不能把虚伪的造出来,在真正确编程的基础下才能显示我们所要的日期时间,还有把显示的系统日期和时间要显示在屏幕的右上角,这又是要用到汇编来设计屏幕的坐标,我们必须把屏幕上横列坐标的正确显示位置要抓好,这样才能把我们的实验更精确,更进一步的提高编程能力和培养我们的思维能力。

    目录

     

    一、实验目的 …………………………………………………3

     

    二、程序设计思路及框图………………………………3

     

    三、程序调试……………………………………………5

     

    四、运行过程及截图……………………………………8

     

    五、源程序清单…………………………………………9

     

    六、心得体会……………………………………………12

     

    七、参考资料……………………………………………14

     

     

     

     

     

     

     

    一、实验目的

    1、熟练掌握汇编语言程序的设计、调试方法。

    2、掌握系统日期时间的调用。

    3、对于了解计算机系统的组成结构与工作原理、体验底层编程的经验、更深入地学习程序设计方法很有意义,会更加通透地理解例如数据结构、计算机组成原理、操作系统等课程中所学的知识。

    4、也为学习计算机接口、单片机及其他计算机控制类课程打下坚实的基础。

    5、以面向应用、深入浅出、重视实践、方便教学为。宗旨,顺应人们实践-理论-实践的认识规律。

     

    二、设计思路及框图

    1、初始化显存的偏移地址;

    2、取当前系统日期:功能号为2AH,返回值送入CX,DX寄存器中;年存入CX,月存入DH,日存入DL

    3、取当前系统时间:功能号为2CH,返回值送入CX,DX寄存器中;时存入CX, 分存入DH,秒存入DL

    4、每读取完年 月  日 时 分 秒 的每一个字段时就调用一个相应的标号;

    5、若日期,时间调用完后,要退出系统,则只能按Qq退出。

     

    6、按Qq退出系统,按其他键不起用。

    7、框图(流程图)如下:

     

     

    初始化显存偏移地址

    读取日期

    读取时间

    显示相关符号

    Al=10hQ键的扫描码)

    返回系统

    开始

     

     

     

     

     

     

     

     

     


     

     

    结束

     

     

     

     

     

     

     

     


    三、程序调试

    1运行环境(软、硬件环境)                            

    硬件:8086以上CPU,内存256M以上。

    软件:WINDOWS操作系统,MASMLINK汇编编译链接软件。

    WIN-MASM

    2、调试中遇到的问题

    1)、汇编程序要求标点符号为半角方式,否则编译失败。可在输入:,时切换到半角方式,或者在大写状态输入标点符号,这是容易犯而不易发现的错误。

    2)、要求用字寄存器的指令使用了字节寄存器.PUSH,POP指令的操作数寄存器必须是字寄存器。

    3)、存器重复调用

    如主程序中设定了R45,表示主程序循环执行5次,而其中的一个延时子程序又用到R4,使R4的值发生紊乱,造成程序无法正常执行。月日和时间显示格式不对

    4)、无退出提示。          

              Qq退出

    3、问题解决方案

    (AX)/(BL)之后,即执行DIV BL,其商送(AL),余数送(AH),如6月存放与(DH)中,除以(BL)之后,商为0,余数为6。分别存放在ALAH之中,加上3030H之后,AX中的内容为3630H。由于定义TIMEDIS为字节型,故存放时30H存放在低字节,36H存放在高位字节,显示时,‘0’字符在第一个显示,‘6’字符在第二个显示,才会显示‘06’。所以,SI指针应指向第一个‘0’,即第一个字节空间。同理,显示日和时间的时候也需要注意出现这种情况。

    由连接程序产生的执行文件可在DOS操作系统中运行。DOS操作系统在装入执行文件之前,先在存储器用户存储区的第一个地址开始,建立一个256字节的程序段前缀PSP,然后将执行文件调入内存。
       序段前缀PSP可看作执行文件的一个特殊段,当执行文件程序装入后,段寄存器DS的值为该特殊段的段地址,根据偏移量其各个地址的内容如下:
          00H--01H  装INT 20H的软中断指令。
          02H--03H  内存容量,以16字节为单位。
     04H--08H  FAR JMP,转移到DOS的功能调用入口。
          09H--0CH  程序结束地址。
          0DH--10H  CTRLBREAK退出地址。
          11H--14H  错误出口地址。
          5CH--6BH  文件控制块1--FCB1
          6CH--7BH  文件控制块2--FCB2
          80H--FFH  命令行缓冲区和磁盘数据传输区
      当执行文件装入内存后,执行文件放在PSP段之后。此时按源程序的次序分别为堆栈段、数据段、附加段及代码段等逻辑段。我们可通过DEBUG程序将此执行文件调入并进行观察。在DEBUG程序调入P21.EXE文件之后,检查各寄存器的内容如下:
      AX=0000 BX=0000 CX=024B DX=0000 SP=0200 BP=0000 SI=0000 DI=0000
      DS=1150 ES=1150 SS=1160 CS=1182 IP=0000 NV UP EI PL NZ NA PO NC
      从上述寄存器的内容中可以发现:
      1、源程序中对程序的起始地址进行了定位,CS寄存器指向该地址所在的段,此时IP指向该单元。如源程序中未对程序的起始地址进行定位,起始地址定于程序段前缀的首地址,即CS寄存器指向程序段前缀PSPIP寄存器指向0000H
      2、时SS寄存器指向堆栈段,SP为该堆栈的长度,即指向堆栈段的末地址加1的单元。
      3SES寄存器指向程序段前缀PSP
      从程序段前缀PSP的第一个单元开始的100H个单元为程序段前缀PSP,其后为堆栈段、数据段、附加段及代码段。DSESPSP)定位于1150HSS定位于1160H,由于在例1-12中堆栈段长度为200H,实际数据段和附加段的地址为1180H1181H,而代码段的地址为1182 H     

    指令ASSUME将段寄存器的名字与逻辑段的名字联系起来,即告诉汇编程序在以下的程序中,程序段、堆栈段、数据段、附加段寄存器应和哪一个逻辑段相联系。但ASSUME指令仅仅将段寄存器的名字与逻辑段的名字联系起来,并未将这些逻辑段的实际地址赋予段寄存器。因此,在ASSUME指令之后,必须用MOV指令对段寄存器进行赋值。

      在程序中设置堆栈段是为了在使用PUSHPOPCALL指令以及中断程序时,能对堆栈进行操作。如程序中因无需堆栈操作而不设堆栈段时,或漏设堆段时,宏汇编程序就不知道堆栈段使用哪个逻辑段,由于这种情况不影响机器码的产生,在汇编时不产生错误,而在连接时将发出警告。如果我们对具有此类错误的执行文件不予理采而加以运行时,并不一定会影响程序的正常运行。  此时如程序不进行堆栈操作,则对程序的运行不会产生影响。但如程序需进行堆栈操作,由于SP指针减1,变为FFFFH,而SS段地址指向等于数据段的段地址,因此堆栈操作极有可能在数据段或代码段进行。为安全起见,堆栈段的设置是必须的。

    四、运行过程截图

    1)双击WIN-MASM,打开WIN-MASM

    2)在界面中输入调试成功的代码,如下图所示,

    3)在程序调试完成后先保存(Ctrl+S,然后编译连接并运行(F9)可以把程序运行如果编译没有任何错误

                                   图(1

    4)、编译成成功后回出现用户提示信息(恭喜,

     

     

    图(2

     

    五、源程序清单

    源程序代码为:

    assume   cs:code  

      code   segment  

      start:  

            mov   bx,0b800h  

            mov   es,bx  

            mov   di,160*0+1*124       ;初始化显存的偏移地址,  

            push   di                                             ;此处为第12行第30列。  

            mov   al,10       ;为了有规律可循,初始al的值为10(十进制)  

        rdate:     ;读取日期  

             dec   al                                                  

             cmp   al,7  

             jb   rtime         ;当读完‘日’后,就跳至标号rtime  

             call   show  

             add   di,6  

             jmp   short   rdate  

          rtime:     ;读取时间  

             sub   al,2                                  

             cmp   al,0feh          ;为无符号数相减  

             je   sign           ;当读完‘秒’后,就跳至标号sign  

             call   show  

             add   di,6  

             jmp   short   rtime  

          sign:       ;显示相关符号  

            pop   di  

            add   di,4           ;定位第一个'/'符号在显存的偏移地址  

            mov   byte   ptr   es:[di],'/'  

            add   di,6  

            mov   byte   ptr   es:[di],'/'  

            add   di,12            ;跳过日期与时间之间的空格  

            mov   byte   ptr   es:[di],':'  

            add   di,6  

            mov   byte   ptr   es:[di],':'  

          in   al,60h  

      cmp   al,10h ;Q键的扫描码  

      je   quit                   ;按下qQ则退出  

      jmp   start               ;否则继续读取时间(循环读取达到动态显示的作用)  

         quit:  mov   ax,4c00h  

              int   21h  

      show:   push   ax  

              push   cx  

              ;push   bx  

              out   70h,al  

              in   al,71h  

                 mov   ah,al  

              mov   cl,4  

              shr   ah,cl  

             and   al,00001111b  

             add   ah,30h  

             add   al,30h  

            ;mov   bx,0b800h  

             ;mov   es,bx  

              mov   byte   ptr   es:[di],ah  

              mov   byte   ptr   es:[di+2],al  

             ;pop   bx  

              pop   cx  

              pop   ax  

          ret  

          code   ends  

      end   start

     

    六、设计总结

    本次课程设计为《系统日期时间显示在屏幕右上角》,我们要了解汇编的基本用法及功能,而且在我们必须要了解汇编的一些循环指令,因为日期时间是以不断变化,只能用循环语句来控制,而且到哪种场合下运行程序都能显示正确的日期和时间我们不能把虚伪的造出来,还有在把显示的系统日期和时间要显示在屏幕的右上角,我们还要把调坐标和显示日期和时间时日期与时间的之间的符号等
    经过这次课程设计,我收获的很多,以前我不知道对有些指令和代码的用法和表示的含义,但这次我在课程设计中我们互相讨论,互相学习,坚持不懈的自己动手试几次,就能把一些自己想得到目标也并不是很难,但我对汇编的一些指令和代码的疑问也更多了现在一般都用在硬件层,对硬件直接控制,其他的都用高级的语言编写了,因为汇编写程序容易出错,而且太过于复杂和代码有点长了,虽然引入了其他的有类似其它语言的一些代码,但是相比高级语言可以解决的问题都不用汇编了。好像现在的计算机已经增加了对还是的语言支持了,就是开集的引导程序已经不用汇编了。 

         在本次课程设计中我收获的很多,我不管以后要不要学汇编的编程,但我对汇编的兴趣和学汇编的好处是常常存在的,我就把以后的生或中像本次实验那样学到的东西要灵活地用得到,在各种不同的场合中用我们所学过的不同的知识来解决不同的问题

     

     

     

     

     

     

     

     

     

    六、参考文献

       1、汇编语言程序设计(第二版)

    2、雷印胜 秦然 贾萍编著的《汇编语言程序设计》第二版

    大连理工大学出版社。

    3、潘弘喆 曲维新编著的《汇编语言程序设计习题解答》

       大连理工大学出版社。

    4、参考网站:

    http://hi.baidu.com/xun1573/blog/category/%BB%E3%B1%E0%D3%EF%D1%D4

     

     

    展开全文
  • Ubuntu 16.04 LTS设置屏幕分辨率显示Unknown display 解决 [日期:2017-11-09] 来源:Linux社区 作者:caizhiren [字体:大 中 小] 新装完Ubuntu 16.04 LTS 通过System settings-...

    Ubuntu 16.04 LTS设置屏幕分辨率显示Unknown display 解决

    [日期:2017-11-09]来源:Linux社区  作者:caizhiren[字体:  ]

    新装完Ubuntu 16.04 LTS 通过System settings-->Displays 设置屏幕分辨率 显示“Unknown display”,选择后无反应,并且屏幕大小不会改变,无法通过设置改变屏幕分辨率

    经过搜索,发现可以使用xrandr命令调节分辨率,如下:

    带*号的为当前分辨率,

     

    改变分辨率用,xrandr -s  1360x768_60.02(此方法为临时更该)

     

     永久修改如下:

    先用cvt 1360 768 获取当前的Modeline信息,然后新建文件/etc/X11/xorg.conf,内容如下,重启即可生效
    Section "Monitor"
    Identifier "Configured Monitor"
    Modeline "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +
    vsync
    Option "PreferredMode" "1360x768_60.00"
    EndSection
    Section "Screen"
    Identifier "Default Screen"
    Monitor "Configured Monitor"
    Device "Configured Video Device"
    EndSection
    Section "Device"
    Identifier "Configured Video Device"
    EndSection

     

    更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

    本文永久更新链接地址http://www.linuxidc.com/Linux/2017-11/148439.htm

    展开全文
  • 一、输入一个年份,输出是在屏幕显示该年的日历。假定输入的年份在1940-2040年之间 (1)输入年,输出该年的日历。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是...

    一、输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间
    (1)输入年,输出该年的日历。
    (2)输入年月,输出该月的日历。
    (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。

    二、原理
    此程序通过函数的调用实现了程序的运行,程序中运用了很多循环结构,来实现日期的显示,还运用了选择结构,通过选择判断闰年、星期几,输出相应的信息,还运用了指针,配合switch等语句显示日期是星期几。

    三、 需求分析1.目前的计算机日历程序,比较典型的是Windows各版本中的日历程序以及基于该程序所开发的各种:应用程序中的日历程序。然而,这些程序都是千遍一律的局限于-一个很短的时间内。但是,很多情况下,特别是在众多的科学领域中,一个时间跨度较大的程序是有参考价值的。C++程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本就弥补了这一领域的空白。2.万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日期的显示上给人以直观的表达效果,在日期的查询上方便简洁,还有就是在某些节日的提醒.上都给我们带来极大的方便,是一种比较实用的小工具给人的需求性很大,学生在做此万年历课程设计的同时,能够认识到C++编程给人带来的便捷,也能够清楚万年历表编程的出入。对培养学生的创新能力和动手能力具有很大的作用。

    四、 总体思路
    想要实现输出某年的日历,必须知道一个常识,那就是公元一年一月一日是星期一,这是一个重要的切入点。如果知道了这一点,那问题就迎刃而解了。首先,我们可以先把公元一年一月一日到这年一月一日之前的总天数计算出来,这用for语句比较容易实现,不过要注意到平年与闰年的区别。有了总天数,然后再除以7,余数为几,那么这年的一月一日就是星期几,如此依次排出一月的日历。再把一月的天数加上总天数得到的结果除以7,就可以知道二月一日是星期几,写出二月的日历。如此便可写出一到十二月的日历。至于输入年月,输出该月的日历,思路相同。至于判断是否为公历节日,用一个if语句便可实现。

    (1)函数:
    1.Isleapyear函数判断该年是否为闰年,判断一-年是否为闰年需要符合下面二者之一:
    1.能被4整除,但不能被100整除。2.能被400整除。满足上述条件时,返回值为1,否则返回值为0。2.Alldays函数判断公元一月一号到公元某年某月的总天数,利用for循坏,求出该月前几月的天数和,加上输入日期的天数,就得到了公元一月一号到公元某年某月的总天数。
    3.Days函数判断公元一月一号到公元前某年某月的总天数,利用for循坏,求出该月前几个月的天数和,再加上输入日期的天数,就得到了公元一月一号到公元前某年某月的总天数。
    4.Outputtoscreen函数判断某年某月某日的編号,在l与j=0;j<1+1;j++的情况下,根据K=1;k<=dayofmonth[isleapyear(year)][month-1];k++,”%4d”,k,(i+k+1)%70得到与“日 一二三四五六"相对应的天数,并输出到屏幕。
    5.Outputtofile函数判断某年某月某日的編号,在l6与j=0;j<1+1;j++的情况下,根据k=l;k<=dayofmonth[isleapyear (year)][month-1];k++, “%4d”,k ,(i+k+1)%70 得到与“日 一 二 三 四 五 六”相对应天数,并输出到文本
    .6.Onemonth函数输入年分,月份,通过allday和day函数再由outputtoscreen函数得出结果,从而形成每七个数字一换行的效果,即形成月历。
    7.Oneyear函数输入年份,通过allday和day函数再由outputtoscreen函数得出結果,定义変量month,赋初值为1,利用for循环,循环十二次,输出各个月的月历,从而显现出该年的毎一天,达到年历的效果。
    8.Oneday函数输入年份,月份,日期,通过allday和day函数再由outputtoscreen函数得出结果,从而得到某天是周几。
    9.ThedayafterN函数输入一个日期,再输入要经过的天数,通过allday和day函数,再由while语句得出査询的年月日星期。
    10.Mainmenu函数输入要选择的服务项:
    1.査询某年中的某个月;
    2.査询某年;
    3.査询某天是周几;
    4.査询一段吋间日期;
    5.査询两个日期间共有多少天;
    6.输入一个日期,和一个整数n,査询n天以后的日期;
    0: 退出。
    再利用switch语句:
    case l:onemonth();
    break;
    case 2:oneyear();
    break;
    case 3:oneday();
    break;
    case 4:somemonth();
    break;
    case 5:countof2date();
    break;
    case 6:thedayafterN();
    break;
    case 0:{Sign=1;break;}
    链接到指定函数,运行所使用程序,得出结果。
    (2)功能实现核心代码头文件#include <stdio.h>定义变量int monthdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};int leapyearmonthdays[12]={31,29,31,30,31,30,31,31,30,31,30,31};int year=2011;int month=4;int day=22;int isweekday(int y,int m,int d)定义函数检测输入年份是否为闰年int isleapyear(int y){if (y%4000 || y%100!=0 && y%40)return 1; return 0;} void print_month(int y,int m){int i=0;int startday=isweekday(y,m,1);printf("\n%4d/%02d\n",y,m);printf("*****************************\n");检测该天是星期几int isweekday(int y,int m,int d){int weekday;if(m<3) { m+=12; y–;}return weekday=(2+2m+3(m+1)/5+y+y/4-y/100+y/400)%7;}计算输入日期距今的天数if(isleapyear(year) && month<=2)temp++; if(isleapyear(y) && m>2 ||(m2 && d29))temp++; for(i=month+1;i<=12;i++){days+=monthdays[i-1];} for(i=1;i<m;i++){days+=monthdays[i-1];}days+=(y-year-1)*365;}if(!(yeary && monthm)){days+=monthdays[month-1]-d
    y+d;}else{days+=d-day;}days+=temp; printf("\n今天距%d/%d/%d还有%d天\n",y,m,d,days); return days;}主函数void main(){int temp;int y,m,d;char ch;do{printf(“请输入要查询的方式(1.查询年历\n 2.查询月历3.计算日期\n 4.设置当前日期(%d/%d/%d)):”,year,month,day);scanf("%d",&temp);switch(temp){case 1:printf(“请输入年份(ep:2011):”);scanf("%d",&y);print_year(y);break;case 2:printf(“请输入年月(ep:2011/4):”);scanf("%d/%d",&y,&m);print_month(y,m);break;case 3:printf(“请输入日期(ep:2011/4/22):”);scanf("%d/%d/%d",&y,&m,&d);counterdays(y,m,d);break;case 4:printf(“请输入当天日期(ep:2011/4/22):”);scanf("%d/%d/%d",&y,&m,&d);setday(y,m,d);break;default:break;}printf("\n\n是否继续?(Y键继续,任意键退出)");getchar();scanf("%c",&ch);}while(ch==‘y’ || ch==‘Y’);}

    程序源代码:
    #include <stdio.h>  int monthdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};int leapyearmonthdays[12]={31,29,31,30,31,30,31,31,30,31,30,31};int year=2019;int month=6;int day=20; int isweekday(int y,int m,int d){int weekday;if(m<3) { m+=12; y–;}return weekday=(2+2m+3(m+1)/5+y+y/4-y/100+y/400)%7;} int isleapyear(int y){if (y%4000 || y%100!=0 && y%40) return 1; return 0;} void print_month(int y,int m){int i=0;int startday=isweekday(y,m,1);printf("\n%4d/%02d\n",y,m);printf(“\n");for(i=0;i<startday;i++){printf(" “);}if(isleapyear(y)){for(i=1;i<=leapyearmonthdays[m-1];i++){printf(”%3d “,i); if((startday+i)%70)printf("\n");}}else{for(i=1;i<=monthdays[m-1];i++){printf("%3d ",i); if((startday+i)%70)printf(”\n");}}printf("\n\n”);} void print_year(int y){int i;for(i=1;i<=12;i++){print_month(y,i);}} int counterdays(int y,int m,int d){int temp=0;int days=0;int i;for(i=year+1;i<y;i++){if(isleapyear(i))temp++;} if(y-year>=1){if(isleapyear(year) && month<=2)temp++; if(isleapyear(y) && m>2 ||(m2 && d29))temp++; for(i=month+1;i<=12;i++){days+=monthdays[i-1];} for(i=1;i<m;i++){days+=monthdays[i-1];}days+=(y-year-1)*365;}if(!(yeary && monthm)){days+=monthdays[month-1]-day+d;}else{days+=d-day;}days+=temp; printf("\n今天距%d/%d/%d还有%d天\n",y,m,d,days); return days;}  void setday(int y,int m,int d){year=y;month=m;day=d;} void main(){int temp;int y,m,d;char ch;do{printf(“请输入要查询的方式(1.查询年历2.查询月历3.计算日期4.设置当前日期(%d/%d/%d)):”,year,month,day);scanf("%d",&temp);switch(temp){case 1:printf(“请输入年份(ep:2019):”);scanf("%d",&y);print_year(y);break;case 2:printf(“请输入年月(ep:2019/6):”);scanf("%d/%d",&y,&m);print_month(y,m);break;case 3:printf(“请输入日期(ep:2019/6/20):”);scanf("%d/%d/%d",&y,&m,&d);counterdays(y,m,d);break;case 4:printf(“请输入当天日期(ep:2019/6/20):”);scanf("%d/%d/%d",&y,&m,&d);setday(y,m,d);break;default:break;}printf("\n\n是否继续?(Y键继续,任意键退出)");getchar();scanf("%c",&ch);}while(ch==‘y’ || ch==‘Y’);}
    总体设计流程图

    展开全文
  • 迪文的DGUS屏-如何在屏幕显示时间

    千次阅读 2015-12-21 22:49:05
    迪文的DGUS屏-如何在屏幕显示时间

    迪文的DGUS屏幕支持2中时钟的显示:表盘式样,文本显示式样

    一般采用文本类型的显示较为多一些,使用有2点注意事项:

    1. 必须指定字库,也就是要拷贝字库到SD卡的根目录下的DWIN_SET里面去,不然不能显示实时时钟值。
    2. 根据使用的字库,设置文本时钟所采用的字库的方向下标。具体参考迪文DGUS屏v4.9开发手册。
    展开全文
  • 汇编显示日期及时间

    2018-12-07 23:07:32
    采用AH=2CH及AH=2AH 显示时间23:34:25 显示日期2018/1/1 8086汇编
  •  //在当前日期之前的时间,字体显示为浅灰色  if (dayInt )  {  nameLabel.textColor = [UIColor lightGrayColor];  }  //当前日期,字体显示为红色  else if(dayInt == _todayDayInt)  { ...
  • 显示日期格式有多种,例如: ...修改计算机的日期、时间默认显示格式,win 7 下的方法:在屏幕右下角显示日期时间的地方点鼠标右键,菜单中选择“调整日期和时间”->更改日期和时间->更改日历设置,打开自定义
  • 文章目录资产主数据的屏幕格式配置屏幕格式分配到资产分类AS01创建资产,设置“不活动日期屏幕格式 资产主数据的屏幕格式配置 资产主数据的屏幕格式用于定义资产主数据时,各TAB下字段的状态(必输,可选,隐藏)...
  • 实现了屏幕上增加水印的功能,自动获取系统登录账号信息,电脑名,当前时间,并生成45度角倾斜水印,满屏水印,可支持多屏幕使用,可以通过服务启动获取登陆用户信息...有些公司为了防止显示屏拍照,截图用了这个东西。
  • 下面这个 shell脚本是用来等到n天之前的时间的。 可以用在你想得到从现在往前一段时间间隔的开始与结束时间变量,并应用到脚本中。 ...这里『1』表示,我想得到一天前的时间日期 CUR_DATE=$(date +
  • 该应用程序在主屏幕显示一年中的当前日期。用户还可以在状态栏中启用显示一年中的当前日期。在主屏幕上点击带有一年中当前日期的文本会将此值复制到剪贴板。 该应用程序支持具有两种大小的主屏幕小部件:1x1和2x2...
  • LCD1602 电子时钟(时间日期温度显示)

    千次阅读 多人点赞 2019-10-16 15:37:35
    写在前面 这个工程大致综合了前端时间学习到的大多数内容,... 功能为:时间显示、日期显示、星期显示、温度显示及调节  代码如下: #include <reg52.h> #include <intrins.h> typedef unsigned char u...
  • Qt中利用定时器QTimer准实时显示当前日期和时间 Qt中,QDate类对应日期,QTime类对应时间。这两种类可以获取当前时间,但需要一个定时器来准实时显示当前日期和时间。 下面说明方法: 1. 在工程中声明一个全局...
  • 用xvidtune调节屏幕显示位置

    千次阅读 2006-11-07 18:49:00
    作者: hew 发布日期: 2005-12-19 查看数: 597 出自: http://www.linuxsky.net本文适用对象: 使用X图形界面并且显示器不是数字接口的人本文适用软件版本:任何一种XFree86或者Xorg本文作者及版权:Copyleft under ...
  • 2、从键盘输入一个日期屏幕上回答是星期几; 3、从键盘输入两个日期,计算这两个日期之间含有多少天。 import java.time.LocalDate; import java.util.Calendar; import java.util.Scanner; public class Test023 ...
  • 6、这是将串口2接收到的数据显示在oled上 7、oled上显示时间日期 //这是判断时间是否更新,若更新则刷新 if(t!=calendar.sec) { t=calendar.sec; OLED_ShowString(65, 0, "-"); OLED_ShowString(90, 0,...
  • Android显示时间和日期的控件的使用总结 相关类的认识 Picker(DatePicker、TimerPicker、NumberPicker)
  • 两种实现动态输入日期和时间的功能 DatepickerDialog和TimePickerDialog两种实现输入日期和时间的对话框 OnDateChangedListener()和OnTimeChangedListener() 当用户更改了DatePicker里的年、月、日时,将...
  • 如今不少人在查看自己手机上的时间时,都不用拿起后按电源键亮屏看时间,之后再按电源键息屏,而是使用了"息屏显示"功能,让手机在息屏状态下也能看到时间日期。 其实这个功能还是非常方便的,只不过只有在使用...
  • 树莓派驱动ssd1306 oeld屏幕显示温度,ip地址,日期,用dht11检测温度,oled屏幕是ssd1306芯片
  • 1. 介绍: 左边一般用在备忘录,日记,右边一般用在闹钟。 左边是放在屏幕里,与屏幕融为一体,右边是一个小的对话框,确定...5.使用Calendar来显示当前日期: 新建一个布局页面main: <LinearLayout xmlns:androi
  • 屏幕 Dynpro

    千次阅读 2017-02-11 09:42:15
    对话屏幕Dynpro(SE51) 屏幕元素 屏幕属性 l 屏幕序号(Screen number)。四个数字组成的序列号,用于在程序中确定屏幕,该序号在同一个ABAP程序内部是唯一的。 l 屏幕类型(Screen type)。ABAP中的...
  • 软件行业达成一致: 禁止在桌面提供时间日期显示,提高系统实时能力. 台机,笔记本, WINDOWS ,linux, ubutu ,andriod, ..希望 都一致抵制这个不优秀的设计. 个人看时间,有手表怀表墙挂表,不是必需.看电脑桌面. 这个...
  • 刚开始学习java,请求帮助! 希望能从CSDN中获得一些知识

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,240
精华内容 38,896
关键字:

屏幕日期显示如何恢复