C51实现时钟12MHz
2022-02-21 来源:eefocus
/*****************************************************
*任务要求
*1、时钟12MHz,使用定时器T1的方式1定时20mS;
*2、对20mS计数50次产生1S;
*3、做一个时分秒的电子钟。
*
*作者:刘子琰
*时间:2020年3月28日10:13:41
******************************************************/
#include < reg51.h >
#include typedef unsigned char u8; u8 hour=0,minute=0,second=0; void Display(u8 H,u8 M,u8 S); /********************************************************* 主函数 **********************************************************/ void main() { TMOD=0x10; //定时/计数器1工作于方式1 TH1=(65536-20000)/256; TL1=(65536-20000)%256; //20ms定时常数 EA=1; //开总中断 ET1=1; //允许定时/计数器1中断 TR1=1; //启动定时/计数器1中断 while(1){ Display(hour,minute,second); } } /********************************************************* 作用:定时器1中断服务函数 形参:无 返回值:无 **********************************************************/ void Time1(void) interrupt 3 // using 0 { static u8 Timer_Count=0; TH1=(65536-20000)/256; TL1=(65536-20000)%256; //20ms定时常数 Timer_Count++; if(Timer_Count>=20){ Timer_Count=0; second++; if(second>=60){ second=0; minute++; if(minute>=60){ minute=0; hour++; if(hour>=24){ hour=0; } } } } } /********************************************************* 作用:时钟显示模块(这里只是一个说明,到时候自己可以写一个数码管) 形参:u8 hour,u8 minute,u8 second 返回值:无 **********************************************************/ void Display(u8 H,u8 M,u8 S){ return ; }
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策




