
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;//年、月、日、星期 什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)