单片机时钟程序一语句看不懂

单片机时钟程序一语句看不懂,第1张

1602内部是ASCII码的,睁兆所以要在液晶上显示对应数字的话,要转成对应的ASCII才行。数字0的ASCII是0X30,数字1是0X31……按这袜早枣样下去。

所以,要显示0-9这十个数字,就加个0X30好了,比如5,ASCII码是0X35,那么5+0X30=0X35。明白了嘛?

或者你可以写成write_date(‘0’+shi)

这里的'0'加了引号,就代表是ASCII码了,效果和加0X30是一样的。

另外,你想要显示字母,比如A,那么可以写成write_date(‘A’+shi)

当SHI为0时,就是显示A了,当SHI为1时,就显示B了。字母的ASCII也是告拆递增的,你不想去查数字或者字母的ASCII时,你就直接加引号就行了。

//这是新建了一个public类,名称为Time

public class Time{

//其中有三个变量,表示时分秒

private int hour

private int minute

private int second

//此处即为空参数的构造函数,即当声明这个类的对象时,怎样初始化这个对象里面的值

//每个对象都表示个时间

//这顷衡个构造函数调用了这个类里面的有三个参数的构造函数。

public Time(){

this(0,0,0)

}

//此处为一个参数的构造函数

public Time(int h){

this(h,0,0)

}

//此处为二个参数的构造函数

public Time(int h,int m){

this(h,m,0)

}

//此处为三个参数的构造函数,即前面的构造函数调用了这个构造函数来初始化对象的时间值

public Time(int h,int m,int s){

setTime(h,m,s)

}

//此处是构造函数,参数为这个类的对象:

//即郑乱用一个已经表示一个时间的Time对象来创建一个和它一样的时间对象

public Time(Time time){

this(time.getHour(),time.getMinute(),time.getSecond())

}

//设置时间值

public void setTime(int h,int m,int s){

setHour(h)

setMinute(m)

setSecond(s)

}

//设置时

public void setHour(int h){

hour=((h>=0&&h<24)?h:0)

}

//设置分

public void setMinute(int m){

minute=((m>=0&&m<60)?m:0)

}

//设置秒

public void setSecong(int s){

second=((s>=0&&s<60)?s:0)

}

//获得这个时间对象的时

public int getHour(){

return hour

}

//获得分

public int getMinute(){

return minute

}

//获得秒

public int getSecond(){

return second

}

//格式化时间成为串

public String toUniversalString(){

return String.format("%d:%02d:%02d",getHour(),getMinute(),getSecond())

}

//格式化这个时间成为串

public String toString(){

return String.format("%d:%02d:%02d%s",((getHour()==0||getHour()==12)?12:getHour()%12),getMinute(),getSecond(),(getHour()<12?"AM":"PM"))

}

}

构造方法:通过这个程序可以看出,一个时间对象表示一个时间,有时分秒,那么创建对象要给它表示个时间,构造函数就是初始化有关的 *** 作。

比如我创建一个对象Time time0=new Time(8,20,20)那么time0就表示8:20:20。

构造函数通常的格式是:public + 类名称(参数列表){},记住,它没有返回值。

重载:可以看到里面不只一个构造函数,这就是重载。你可能并不一定要确切的时分秒或其它,这样就可以调用不同的构造函数。喊乎档

比如:Time time1=new Time(time0)这也创建了对象,此对象表示的时间和time0是一样的。

重载的意思是一个函数,参数列表的不同可以实现不同的功能。

42是16进制数字,换算成10进制就是66,。输入时钟是66M,用计数器计数,掘森计到66,CLK_1M翻转一次,然后计数器清零陆樱,再过66个时钟周期再翻转一次,循环得到的CLK_1M就是早散丛1MHz,。


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

原文地址: http://outofmemory.cn/yw/12479536.html

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

发表评论

登录后才能评论

评论列表(0条)

保存