关于cmd(20)

关于cmd(20),第1张

Net user 更新日期: 01/21/2005 参考:imgmicrosoft/library/gallery/templates/MNP2Common/images/l_corner 参考:imgmicrosoft/library/gallery/templates/MNP2Common/images/r_corner 相关连结 • Net 服务概观 • Net accounts • Net localgroup • Net group • 命令列参照 A-Z • 命令壳层概观 参考:imgmicrosoft/library/gallery/templates/MNP2Common/images/l_bcorner 参考:imgmicrosoft/library/gallery/templates/MNP2Common/images/r_bcorner Net user 新增或修改使用者帐户,或显示使用者帐户资讯。 Syntax user [UserName [Password | ] [Options]] [/domain] user [UserName {Password | } /add [Options] [/domain]] user [UserName [/delete] [/domain]] Parameters UserName 指定要新增、删除、修改或检视的使用者帐户名称。使用者帐户名称最多可以包括 20 个字元。 Password 指派或变更使用者帐户的密码。输入一个星号 () 以便产生密码提示。在密码提示中输入密码时,不会显示所输入的密码。 /domain 在电脑主网域的网域主控站上执行 *** 作。 Options 指定命令列选项。下表列出可使用的有效命令列选项。 命令列选项语法 描述 /active:{no | yes} 启用或停用使用者帐户。如果使用者帐户是非使用中,则该使用者无法存取电脑上的资源。预设值为 yes (即,使用中)。 /ment:"Text" 提供使用者帐户的描述性注解。注解最多可以有 48 个字元。请用引号括住文字。 /countrycode:NNN 使用作业系统的国家 (地区) 代码,为使用者 [说明] 及错误讯息执行所指定的语言档。值 0 代表预设的国家 (地区) 码。 /expires:{{MM/DD/YYYY | DD/MM/YYYY | mmm

dd

YYYY} | never} 如果指定 date,则会导致使用者帐户过期。到期日可以 [MM/DD/YYYY]、[DD/MM/YYYY] 或 [mmm

dd

YYYY] 格式显示,视国码 (地区码) 的不同而定。请注意,帐户会在到达指定的日期时就过期。若为月份值,可以使用数字,将其拼出,或使用 3 位字母缩写 (也就是,Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)。可以使用 2 位数字或 4 位数字来表示年份值。使用逗号或斜线隔开日期的各个部分。不要使用空格。如果省略 YYYY,则假定为下次出现该日期之时 (根据电脑日期和时间)。例如,如果输入值介于 1994 年 1 月 10 日及 1995 年 1 月 8 日之间,则下列输入的结果相同: jan

9 1/9/95 january

9

1995 1/9 /fullname:"Name" 指定使用者全名,而非使用者名称。请用引号括住名称。 /homedir:Path 设定使用者主目录的路径。必须要有路径。 /passwordchg:{yes | no} 指定使用者是否可变更自己的密码。预设值是 yes。 /passwordreq:{yes | no} 指定使用者帐户是否需有密码。预设值是 yes。 /profilepath:[Path] 设定使用者登入设定档的路径。此路径指向登录设定档。 /scriptpath:路径 设定使用者登入指令档的路径。Path 不能是绝对路径。Path 是相对于 %systemroot%\System32\Repl\Import\Scripts。 /times:{Day[-Day][

Day[-Day]]

Time[-Time][

Time[-Time]][;] | all} 指定使用者可使用电脑的次数。Time 受限要以 1 小时来增加。若为 Day 值,则可以拼出或使用缩写 (也就是,M、T、W、Th、F、Sa、Su)。可以使用 12 小时制或 24 小时制来表示小时。如果您使用 12 小时的符号,请使用 AM 及 PM,或是 AM 及 PM。all 的值表示使用者永远可以登入。空值 (空白) 表示使用者永远无法登入。以逗号隔开日及时间,并以分号隔开日及时间的单位 (例如,M

4AM-5PM;T

1PM-3PM)。指定时间时,请不要使用空格。 /userment:"Text" 指定系统管理员可以新增或变更帐户的「使用者注解」。请用引号括住文字。 /workstations:{ComputerName[

] | } 列出至多八个可让使用者登入网路的工作站。以逗号隔开清单中的多重项目。如果 /workstations 中不含清单,或清单为星号 (),则使用者可从任何电脑登入。 helpCommand 显示指定的 命令的说明。 Remarks • 若不使用参数, user 会显示电脑上的使用者帐户清单。亦可以键入 users。 • 使用 accounts /minpwlen,密码必须满足最小长度设定。密码最长可到 127 个字元。不过,如果您在拥有使用 Windows 95 或 Windows 98 之电脑的网路上,使用 Windows 2000 或 Windows XP,则请考虑使用不超过 14 个字元的密码。Windows 95 及 Windows 98 可支援至多 14 个字元的密码。如果您的密码较长,则您可能无法从那些电脑登入网路。 Examples 若要显示本机电脑的所有使用者帐户清单,请键入: user 若要检视使用者帐户 jimmyh 的相关资讯,请键入: user jimmyh 若要新增 Jay Jamison 的使用者帐户,及从星期一到星期五上午八点到下午五点 (时间指定中不能有空格) 的登入权利、强制密码 (jayj) 及使用者的全名,请键入: user jayj /add /passwordreq:yes /times:monday-friday

8am-5pm/fullname:"Jay Jamison" 若要使用 24 时制记号表示法来设定 johnsw 的登入时间 (上午八点到下午五点),请键入: user johnsw /time:M-F

08:00-17:00 若要使用 12 时制记号表示法来设定 johnsw 的登入时间 (上午八点到下午五点),请键入: user johnsw /time:M-F

8am-5pm 若要将 marysl 的登入时间指定为星期一上午四点到下午五点、星期二下午一点到下午三点、星期三到星期五的上午八点到下午五点,请键入: user marysl /time:M

4am-5pm;T

1pm-3pm;W-F

8:00-17:00

参考: microsoft/tech/prodtechnol/windowsserver2003/zh-cht/library/ServerHelp/abc4ee9f-7d72-4482-a03d-865268b85343mspxmfr=true

At

计划在指定时间和日期在计算机上运行命令和程序。at

命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用,则

at

命令将列出已计划的命令。

语法

at

[\\ComputerName]

[{[ID]

[/delete]

|

/delete

[/yes]}]

at

[[\\ComputerName]

Hours:Minutes

[/interactive]

[{/every:Date[,]|

/next:Date[,]}]Command]

参数

\\ComputerName

指定远程计算机。如果省略该参数,则

at

命令将计划本地计算机上的命令和程序。

ID

指定指派给已计划命令的识别码。

/delete

取消已计划的命令。如果省略了

ID,则计算机中所有已计划的命令将被取消。

/yes

当删除已计划的事件时,对来自系统的所有询问都进行肯定回答。

Hours:Minutes

指定命令运行的时间。将时间以

24

小时制式(即从

00:00

[午夜]

23:59)表示为

Hours:Minutes。

/interactive

对于在运行

Command

时登录的用户,允许

Command

与该用户的桌面进行交互。

/every:

在每个星期或月的指定日期(例如,每个星期四,或每月的第三天)运行

Command

命令。

Date

指定运行命令的日期。可以指定一周的某日或多日(即,键入

M、T、W、Th、F、S、Su)或一个月中的某日或多日(即,键入从

1

31

之间的数字)。用逗号分隔多个日期项。如果省略了

Date,则

at

命令将使用该月的当前日期。

/next:

在下一个指定日期(例如,下一个星期四)到来时运行

Command

命令。

Command

指定要运行的

Windows

命令、程序(即

exe

com

文件)或批处理程序(即

bat

cmd

文件)。当命令需要路径作为参数时,请使用绝对路径,也就是从驱动器号开始的整个路径。如果命令在远程计算机上,请指定服务器和共享名的通用命名协定

(UNC)

符号,而不是远程驱动器号。

/

在命令提示符下显示帮助。

/日历时钟

按K1,进入设置状态

按k2,停止闹钟声音

按k3,依次进入闹钟功能是否启用,闹钟时,分秒,年,月,日及时间时,分,秒的设置,

直到退出设置状态

按k4,调整是否起用闹钟和调节闹钟时,分,秒,年,月,日,时间的时,分,秒的数字

LCD第二排中间显示小喇叭,表示启用闹钟功能,无则禁止闹钟功能

(可在调整状态进行设置)

正常状态,LCD上排最前面显示自定义字符,LCD下排最前面闪动"XUELIN"

设置状态,LCD上排最前面显示"P",下排最前面在设置闹钟时间时显示"alarm:",

其它状态显示"time"

年代变化2000--2099,星期自动转换

程序中有自定义字符写入 /

//补充一下:1602液晶数据口接在单片机P0口,记得给分啊O(∩_∩)O~

//记得给分啊O(∩_∩)O~

//记得给分啊O(∩_∩)O~

//程序开始:

#include

#include

unsigned char code dis_week[]={"SUN,MON,TUE,WED,THU,FRI,SAT"};

unsigned char code para_month[13]={0,0,3,3,6,1,4,6,2,5,0,3,5}; //星期月参变数

unsigned char data dis_buf1[16]; //lcd上排显示缓冲区

unsigned char data dis_buf2[16]; //lcd下排显示缓冲区

unsigned char data year,month,date,week;//年、月、日、星期

unsigned char data armhour,armmin,armsec;//闹钟时、分、秒

unsigned char data hour,min,sec,sec100; //时、分、秒、百分之一秒

unsigned char data flag,vkey,skey;//设置状态计数标志、按键先前值、按键当前值

bit alarm; //标识是否启用闹钟,1--启用,0--关闭

sbit rs = P2^0; //LCD数据/命令选择端(H/L)

sbit rw = P2^1; //LCD读/写选择端(H/L)

sbit ep = P2^2; //LCD使能控制

sbit PRE = P1^6; //调整键(k3)

sbit SET = P1^7; //调整键(k4)

sbit SPK = P3^7;

void delayms(unsigned char ms); //延时程序

bit lcd_busy(); //测试LCD忙碌状态程序

void lcd_wcmd(char cmd); //写入指令到LCD程序

void lcd_wdat(char dat); //写入数据到LCD程序

void lcd_pos(char pos); //LCD数据指针位置程序

void lcd_init(); //LCD初始化设定程序

void pro_timedate(); //时间日期处理程序

void pro_display(); //显示处理程序

void pro_key(); //按键处理程序

void time_alarm(); //定时报警功能(闹钟)

unsigned char scan_key(); //按键扫描程序

unsigned char week_proc(); //星期自动计算与显示函数

bit leap_year(); //判断是否为闰年

void lcd_sef_chr(); //LCD自定义字符程序

void update_disbuf(unsigned char t1,unsigned char t2[],unsigned char dis_h,unsigned char dis_m,unsigned char dis_s);

//更新显示缓冲区函数

// 延时程序

void delay(unsigned char ms)

{ while(ms--)

{ unsigned char i;

for(i = 0; i< 250; i++)

{

_nop_(); //执行一条_nop_()指令为一个机器周期

_nop_();

_nop_();

_nop_();

}

}

}

//测试LCD忙碌状态

bit lcd_busy()

{

bit result;

rs = 0;

rw = 1;

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

result =(bit)(P0&0x80); //LCD的D0--D7中,D7=1为忙碌,D7=0为空闲

ep = 0;

return result;

}

//写入指令到LCD

void lcd_wcmd(char cmd)

{

while(lcd_busy()); //当lcd_busy为1时,再次检测LCD忙碌状态,lcd-busy为0时,开始写指令

rs = 0;

rw = 0;

ep = 0;

_nop_();

_nop_();

P0 = cmd;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 0;

}

//写入数据到LCD

void lcd_wdat(char dat)

{

while(lcd_busy()); //当lcd_busy为1时,再次检测LCD忙碌状态,lcd-busy为0时,开始写数据

rs = 1;

rw = 0;

ep = 0;

P0 = dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 0;

}

//LCD数据指针位置程序

void lcd_pos(char pos)

{

lcd_wcmd(pos|0x80); //数据指针=80+地址码(00H~27H,40H~67H)

}

//设定二个自定义字符,(注意:LCD1602中自定义字符的地址为0x00--0x07,即可定义8个字符)

//这里我们设定把一个自定义字符放在0x00位置(000),另一个放在0x01位子(001)

void lcd_sef_chr()

{ //第一个自定义字符

lcd_wcmd(0x40); //"01 000 000" 第1行地址 (D7D6为地址设定命令形式 D5D4D3为字符存放位置(0--7),D2D1D0为字符行地址(0--7))

lcd_wdat(0x1f); //"XXX 11111" 第1行数据(D7D6D5为XXX,表示为任意数(一般用000),D4D3D2D1D0为字符行数据(1-点亮,0-熄灭)

lcd_wcmd(0x41); //"01 000 001" 第2行地址

lcd_wdat(0x11); //"XXX 10001" 第2行数据

lcd_wcmd(0x42); //"01 000 010" 第3行地址

lcd_wdat(0x15); //"XXX 10101" 第3行数据

lcd_wcmd(0x43); //"01 000 011" 第4行地址

lcd_wdat(0x11); //"XXX 10001" 第4行数据

lcd_wcmd(0x44); //"01 000 100" 第5行地址

lcd_wdat(0x1f); //"XXX 11111" 第5行数据

lcd_wcmd(0x45); //"01 000 101" 第6行地址

lcd_wdat(0); //"XXX 01010" 第6行数据

lcd_wcmd(0x46); //"01 000 110" 第7行地址

lcd_wdat(0x1f); //"XXX 11111" 第7行数据

lcd_wcmd(0x47); //"01 000 111" 第8行地址

lcd_wdat(0x00); //"XXX 00000" 第8行数据

//第二个自定义字符

lcd_wcmd(0x48); //"01 001 000" 第1行地址

lcd_wdat(0x01); //"XXX 00001" 第1行数据

lcd_wcmd(0x49); //"01 001 001" 第2行地址

lcd_wdat(0x1b); //"XXX 11011" 第2行数据

lcd_wcmd(0x4a); //"01 001 010" 第3行地址

lcd_wdat(0x1d); //"XXX 11101" 第3行数据

lcd_wcmd(0x4b); //"01 001 011" 第4行地址

lcd_wdat(0x19); //"XXX 11001" 第4行数据

lcd_wcmd(0x4c); //"01 001 100" 第5行地址

lcd_wdat(0x1d); //"XXX 11101" 第5行数据

lcd_wcmd(0x4d); //"01 001 101" 第6行地址

lcd_wdat(0x1b); //"XXX 11011" 第6行数据

lcd_wcmd(0x4e); //"01 001 110" 第7行地址

lcd_wdat(0x01); //"XXX 00001" 第7行数据

lcd_wcmd(0x4f); //"01 001 111" 第8行地址

lcd_wdat(0x00); //"XXX 00000" 第8行数据

}

//LCD初始化设定

void lcd_init()

{

lcd_wcmd(0x38); //设置LCD为16X2显示,5X7点阵,八位数据借口

delay(1);

lcd_wcmd(0x0c); //LCD开显示及光标设置(光标不闪烁,不显示"-")

delay(1);

lcd_wcmd(0x06); //LCD显示光标移动设置(光标地址指针加1,整屏显示不移动)

delay(1);

lcd_wcmd(0x01); //清除LCD的显示内容

delay(1);

}

//闰年的计算

bit leap_year()

{

bit leap;

if((year%4==0&&year%100!=0)||year%400==0)//闰年的条件

leap=1;

else

leap=0;

return leap;

}

//星期的自动运算和处理

unsigned char week_proc()

{ unsigned char num_leap;

unsigned char c;

num_leap=year/4-year/100+year/400;//自00年起到year所经历的闰年数

if( leap_year()&& month<=2 ) //既是闰年且是1月和2月

c=5;

else

c=6;

week=(year+para_month[month]+date+num_leap+c)%7;//计算对应的星期

return week;

}

//更新显示缓冲区

void update_disbuf(unsigned char t1,unsigned char t2[],unsigned char dis_h,unsigned char dis_m,unsigned char dis_s)

{ dis_buf1[0]=t1; //

dis_buf1[1]=0x20; //空格

dis_buf1[2]=50; //'2'

dis_buf1[3]=48; //'0'

dis_buf1[4]=year/10+48;

dis_buf1[5]=year%10+48;

dis_buf1[6]=0x2d;

dis_buf1[7]=month/10+48;

dis_buf1[8]=month%10+48;

dis_buf1[9]=0x2d; //'-'

dis_buf1[10]=date/10+48;

dis_buf1[11]=date%10+48;

dis_buf1[12]=0x20;

dis_buf1[13]=dis_week[4week];

dis_buf1[14]=dis_week[4week+1];

dis_buf1[15]=dis_week[4week+2];

dis_buf2[0]=t2[0];

dis_buf2[1]=t2[1];

dis_buf2[2]=t2[2];

dis_buf2[3]=t2[3];

dis_buf2[4]=t2[4];

dis_buf2[5]=t2[5];

dis_buf2[6]=0x20; //空格

if (alarm)

dis_buf2[7]=0x01; //alarm=1,显示闹钟启用标致(第二个自定义字符)

else

dis_buf2[7]=0x20; //alarm=0,不显示闹钟启用标致

dis_buf2[8]=dis_h/10+48;

dis_buf2[9]=dis_h%10+48;

dis_buf2[10]=0x3a; //':'

dis_buf2[11]=dis_m/10+48;

dis_buf2[12]=dis_m%10+48;

dis_buf2[13]=0x3a;

dis_buf2[14]=dis_s/10+48;

dis_buf2[15]=dis_s%10+48;

}

//时间和日期处理程序

void pro_timedate()

{

sec++;

if(sec > 59)

{sec = 0;

min++;

if(min>59)

{min=0;

hour++;

if(hour>23)

{hour=0;

date++;

if (month==1||month==3||month==5||month==7||month==8||month==10||month==12)

if (date>31) {date=1;month++;} //大月31天

if (month==4||month==6||month==9||month==11)

if (date>30) {date=1;month++;} //小月30天

if (month==2)

{if( leap_year()) //闰年的条件

{if (date>29) {date=1;month++;}} //闰年2月为29天

else

{if (date>28) {date=1;month++;}} //平年2月为28天

}

if (month>12) {month=1;year++;}

if (year>99) year="0";

}

}

}

week_proc();

if (sec==armsec && min==armmin && hour==armhour)

{if (alarm)

TR1=1; //闹钟启用时,报警时间到,启动Timer1

}

}

//显示处理程序

void pro_display()

{ unsigned char i;

lcd_pos(0x00);

for (i=0;i<=15;i++)

{lcd_wdat(dis_buf1[i]);}

lcd_pos(0x40);

for (i=0;i<=15;i++)

{lcd_wdat(dis_buf2[i]);}

}

//Timer0中断处理程序,秒的产生

void timer0() interrupt 1

{

TH0=0xdc; //Timer0置10ms定时初值dc00H(2^16=65536D,dc00H=56320D)

TL0=0x00; //定时时间=(65536-56320)(1/110592)12=10ms (f0=110592Mhz)

sec100++;

if(sec100 >= 100) //1秒时间 (10010ms=1000ms=1s)

{sec100 = 0;

pro_timedate();//调用时间和日期处理程序

}

if (sec&0x01) //"XUELIN"闪一秒,停一秒

update_disbuf(0x00," ",hour,min,sec); //0x00表示显示00位置的自定义字符

else

update_disbuf(0x00,"XUELIN",hour,min,sec);

pro_display(); //调用显示处理函数

}

//按键扫描程序

unsigned char scan_key()

{

skey=0x00; //给变量vkey置初值

skey|=PRE; //读取PRE键的状态

skey=skey<<1; //将PRE键的状态存于skey的B1位

skey|=SET; //读取SET键的状态,并存于skey的B0位

return skey; //返回skey的键值(即PRE,SET的状态)

}

//外部中断INT0中断处理程序

void int0() interrupt 0

{

TR0=0; //禁止Timer0

IE=0; //禁止中断

lcd_wcmd(0x0e); //显示光标"_",整个光标不闪烁

alarm=1;

update_disbuf(0x50,"alarm:",armhour,armmin,armsec); //更新显示数据,0x50表示要显示"P"

pro_display(); //调用显示处理程序

lcd_pos(0x47); //使光标位于第一个调整项下

flag=0;

vkey=0x03;

while(flag^0)

{skey = scan_key(); //扫描按键状态

if (skey^vkey) //若skey与vkey相同,跳出循环,相异执行循环体

{ delay(10); //去按键抖动

skey = scan_key(); //转回扫描按键状态

if (skey^vkey) //若skey与vkey相同,跳出循环,相异执行循环体

{ vkey=skey; //将skey的值付给vkey

if (skey==0x01) //PRE键按下

{ flag++; //调整标志位加1

switch (flag) //将光标置于相应调整位置

{

case 1: lcd_pos(0x49);break; //光标置小时报警设置位置

case 2: lcd_pos(0x4c);break; //光标置分钟报警设置位置

case 3: lcd_pos(0x4f);break; //光标置秒时报警设置位置

case 4: update_disbuf(0x50,"time: ",hour,min,sec);

pro_display();

lcd_pos(0x05);break; //光标置年调整位置

case 5: lcd_pos(0x08);break; //光标置月调整位置

case 6: lcd_pos(0x0b);break; //光标置日调整位置

case 7: lcd_pos(0x49);break; //光标置时调整位置

case 8: lcd_pos(0x4c);break; //光标置分调整位置

case 9: lcd_pos(0x4f);break; //光标置秒调整位置

default:break;

}

}

if (skey==0x02) //SET键按下

{ pro_key(); //转设置按键处理程序

}

}

}

}

lcd_wcmd(0x0c); //设置LCD开显示及光标不闪烁,不显示"-"

lcd_wcmd(0x01); //清除LCD的显示内容

IE=0x8f; //CPU开中断,INT0,INT1,开中断

TR0=1; //Timer0启动

}

//主程序,初始化及初值设定

void main()

{

lcd_init(); //初始化LCD

lcd_sef_chr(); //写入自定义字符号

hour=0;min=0;sec=0; //开机时的时,分,秒显示

armhour=0;armmin=0;armsec=0; //开机时的时,分,秒报警初值

year= 5; month="1";date=1; //开机时的年,月,日,星期显示

week_proc();

alarm=1; //初始开机,启用闹钟

IE = 0x8f; //CPU开中断,INT0,INT1,Timer0,Timer1开中断

IP = 0x04; //设置INT0为中断最高优先级

IT0=0;IT1=0; //外部INT0,INT1设置为电平触发方式(注意,触发不要选边沿方式,易误动)

TMOD = 0x11; //Timer0,Timer1工作于模式1, 16位定时方式

TH0 = 0xdc;TL0 = 0x00; //Timer0置10ms定时初值

TH1 = 0xff;TL1 = 0x00; //Timer1置初值

TR0 = 1; //Timer0启动

TR1 = 0;

while(1);

}

//设置按键处理程序

void pro_key()

{

switch (flag)

{

case 0:alarm=!alarm; //启用或关闭闹钟(alarm=1:启用,alarm=0:关闭)

update_disbuf(0x50,"alarm:",armhour,armmin,armsec); //更新显示数据

pro_display(); //调用显示处理

lcd_pos(0x47);break; //光标回到原调整位置

case 1:armhour++;

if (armhour>23) armhour="0";

update_disbuf(0x50,"alarm:",armhour,armmin,armsec); //更新显示数据

pro_display(); //调用显示处理

lcd_pos(0x49);break; //光标回到原调整位置

case 2:armmin++;

if (armmin>59) armmin="0";

update_disbuf(0x50,"alarm:",armhour,armmin,armsec);

pro_display();

lcd_pos(0x4c);break;

case 3:armsec++;

if (armsec>59) armsec="0";

update_disbuf(0x50,"alarm:",armhour,armmin,armsec);

pro_display();

lcd_pos(0x4f);break;

case 4:year++;

if (year> 99) year= 0;

week_proc(); //星期自动运算

update_disbuf(0x50,"time: ",hour,min,sec);

pro_display();

lcd_pos(0x05);break;

case 5:month++;

if (month>12) month="1";

week_proc(); //星期自动运算

update_disbuf(0x50,"time: ",hour,min,sec);

pro_display();

lcd_pos(0x08);break;

case 6:date++;

if (month==1||month==3||month==5||month==7||month==8||month==10||month==12)

if (date>31) date="1"; //大月31天

if (month==4||month==6||month==9||month==11)

if (date>30) date="1"; //小月30天

if (month==2)

{if(leap_year()) //闰年的条件

{if (date>29) date="1";} //闰年2月为29天

else

{if (date>28) date="1";}} //平年2月为28天

week_proc(); //星期自动运算

update_disbuf(0x50,"time: ",hour,min,sec);

pro_display();

lcd_pos(0x0b);break;

case 7:hour++;

if (hour>23) hour="0";

update_disbuf(0x50,"time: ",hour,min,sec);

pro_display();

lcd_pos(0x49);break;

case 8:min++;

if (min>59) min="0";

update_disbuf(0x50,"time: ",hour,min,sec);

pro_display();

lcd_pos(0x4c);break;

case 9:sec++;

if (sec>59) sec="0";

update_disbuf(0x50,"time: ",hour,min,sec);

pro_display();

lcd_pos(0x4f);break;

default: break ;

}

}

//Timer1中断处理程序,产生报警的声音

void timer1() interrupt 3

{

TH1=0xff;

TL1=0x00;

SPK=~SPK;

}

//外部中断INT1中断处理程序,停止报警声音

void int1() interrupt 2

{

if(TR1)

TR1=0;

}

//程序结束

以上就是关于关于cmd(20)全部的内容,包括:关于cmd(20)、CMD命令的at用法、unsigned char data year,month,date,week;//年、月、日、星期 什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9311650.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存