用数码管及定时器实现简易时钟
使用一台机器+数字管创建简单的英寸手表。
#include
h2,h2,m2,m2,s1,s2,// show bits
k,s; 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; ,0x4f,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; ****** /学习****** /学习,****************************************** / < /
voidkeyscan(); ; ***主要功能****** / Learn ****** / Learn ****** / Learn ****** / Learn ****** /查找Leave,
{
while(tr1)
{
/<
键Cyyscan(); 当s = 1时,设置警报时间//(也通过调整时间,功能调整时间); 时间和安装同时,警报声音
//(一分钟后自动关闭,您可以手动将其关闭)。
再次切换,s = 0。
键can();
when(k)/*k是第二个表状态(0-“ 1-” 2-“ 0),通过外部中断0。
}
}
{< /
a = 0;
sec0 = 0; -5000) /256; {
minu = 0;>小时= 0; +p> minu = 0; ***/p>if(b == 20)
{
)
{
sec0 = 0;
minu0 ++;
{********************************************************************************************************************************************
voidkeyscan()
{
if(s == 1)
{
{
if(qingling == 0)
if(tiaofen == 0)
{
delay(10);
if(tiaofen == 0)
{
{m inu1 = 0; == 0)
{
hours1 ++;
时间1 = 0;
{
延迟(10);
if(Qingling == 0)
minu0 = 0;
{
延迟(10);
if(rayofen == 0) ;
if(minu0 == 60)
{
hours0 = 0;
(!显示功能**************/
voiddisplay(ucharhour,ucharminu,ucharsec)
{
m1 = minu/10; p2 = 0x40 ;; p0 = select [5];/p>p0 = 0xff;0 = [4];
延迟(5);态
/************************************************************************* ****
0; x-) 0; y-);
求一个51单片机定时闹钟程序。 要C语言。 能够调时间
让我为C语言发送芯片计算机时钟程序的C程序。
我希望能帮助您
/*程序函数:带时臂闹钟*/
/*--------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------*/
#include
#define uchar uchar unchar unsigned char
#define uint uint uint unsigned int
char data_7seg [10] = {0xc0,0xf9,0xb0.0x99,
0x92.0xf8.0x80.0x90,};/*0〜9数字管道代码*/
uchhar小时= 0,min = 0,sec = 0;/*时间,分钟,第二个单位*/
uchhar deda = 0;/*5ms计数单位*/
bit D_05S = 0;/*0.5秒徽标*/
uchhar set = 0;/*模式设置设置确定确定*/
uchhar m = 0; /*延迟? /
/*------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------- ------------------------------------------------------------------------------- ----------------------------------------------*/
//*计时器T0 5ms Intalization*/
void init_timer()
{
/*---------------------------------------------------------------------------------------------------------------------------------------------------------- ---
/*5ms时正时中断服务? 4800/256); ---------------------------------------------------------*/
/*时间,分钟,第二,第二个单元和时间单元转换*/
void conv()
{
if(deda <= 100)d_05s = 0;
else d_05s = 1; sec = 0;}
}
>/*--------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------- --------------------------------------------------------------------------------- ------------------------------------------------------------------------------ -------------------------------------------------------------------------- --------------------------------------------------------------------------------- -------------------------------------------------------------------------------- --------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------- ------------------------------------------------------------------------------ --------------------------------------------------------------------------------------- ------------------------------------------------------------------------------ - - - - - - - - - - - - - - 广告? 函数部分----------------------------------------*/
/*走时时间显示? 函数*/
void disp()
{
/*设置时间*/
void set_time()
其他p0_7 = 1; ); ; m <30;
其他p0_7 = 1; --------------------------------- ----------------------------------*/
/*走时时间程序? 函数*/
} /*延迟? ; i/*------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------*/
/*主函数*/
void main()
{
init_timer(); //
wob/
switch(set)/*通过根据设置键值扩展*/
{案例0:time();
if(flag!delay(100); sp;
}
制作51单片机小闹钟
很简单,但是没有人愿意帮你搞定200的程序。必需品 必需品,但也需要获得一些能量。
结论 最好购买开发板。
Core 如果你有C语言的基础 Core 就开始学习现场报警的现场观看,学习程序最多两天,加上调试焊接电路一天,还有4天。
不过我是在单片机关机完成后写了一个闹钟。
必需品 必需品 仅 4 天。
基本上你尝试一下就可以了。
反正我时间不多
如何使用51单片机定时器实现定时功能
1。
硬件-Timer和软件-Timer
51个单芯片-MikRomputer的计时器可以分为两类,即硬件 - timer -timer和软件 - 泰米特。
硬件计时器是为了实现硬件电路。
软件 - 二元组通过软件 - 电视识别计时器函数。
不同的计时器必须在使用时掌握他的工作方法,以使它们变得更有用。
2。
计时器的计时器
在51单芯片机中具有两种工作方法,它们是计时器和计时器比较。
其中,如果计时器到达指定的计数值,并且零计数设备在下一轮开始时,计时器的数量是指计时器中断。
计时器比较意味着,如果计数器的值等于计数计数期间的寄存器值,但不会删除零,则计时器会创建中断请求。
3。
计时器的工作模式
51单芯片微型计算机的计时器还具有多种工作模式,例如 B.计时器0 // 1的工作模式具有0模式,1-1-1模式,2模式,3模式; 掌握了这种工作模式的使用后,可以更灵活地将计时器应用于实际工程。
4。
在单个芯片微型计算机系统中使用
在实际技术中,通常使用单个芯片微型计算机系统中的计时器,例如: B.
1)时间测量:如果单个芯片微型计算机测量信号的时间长度,例如人体的红外,则可以由计时器实现。
2)警报:在电子周期开关中,计时器的工作模式,小时的警报功能,段和第二个时钟。
3)PWM波形产生:单个芯片微型计算机中的PWM波形形状可用于不同的场合,例如速度调节,亮度的照明和DC发动机的温度控制。
基于计时器和PWM的组合,可以实现波形的产生和调制。
简而言之,在单芯片微型计算机系统中使用51个单芯片 - 中二聚体是广泛的,这为我们的生活和工作带来了很大的便利和提高效率。