51单片机电子打铃系统

目录

具体实现功能

设计介绍

51单片机简介

资料内容

原理图和PCB(AD19)

程序(Keil5)

全部资料

资料获取


具体实现功能

由51单片机+DS1302时钟+蜂鸣器+按键及电源等构成

具体功能:

(1)LCD1602实时显示当前时间和设置的打铃时间;

(2)按键可手动设置26个打铃时间和当前时间,保存在单片机内部,掉电不丢失;

(3)打铃时间到,蜂鸣器报警。

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

原理图和PCB(AD19)

本系统原理图和PCB设计采用Altium Designer19,具体如图。

注1:请使用Altium Designer19直接打开资料中的工程文件(资料中已说明打开方式)!

注2:此设计需按照原理图制作实物,不可直接烧录到任何开发板中运行(需要修改程序)!

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

复制代码
////////////////
/*****************主函数********************/
void main()
{	
	//beep = 0;				    //开机蜂鸣器叫一声
	//delay_1ms(200);
	//P0 = P1 = P2 = P3 = 0xff;   //初始化IO口
	//init_time0();		 //初始化定时器
	//init_ds1302();		 //ds1302初始化
	init_1602();		 //lcd1602初始化
	init_1602_dis_csf(); //lcd1602初始化显示
	//init_eeprom();  //开始初始化保存的数据
	while(1)
	{
		key();			 //按键程序
		if(key_can < 10)
		{
			key_with();	
			if(menu_1 == 0)		//手动打铃
			{
				if(key_can == 4)		
					flag_beep_en = 1;		
			}
		}
		
		if(flag_200ms == 1)
		{	
			flag_200ms = 0;
			if(menu_1 == 0)
			{
				read_time();		  //读时间
				init_1602_ds1302();   //显示时钟
			}
		}
		menu_dis();	   //闹钟报警函数
		delay_1ms(1);
	}
}

程序运行结果如图:

注:请使用KEIL C51直接打开资料中的工程文件(资料中已说明打开方式)!

全部资料

全部资料包括原理图和PCB源文件(AD19)、程序(Keil5)、设计报告(仅供参考)、仿真视频、开发资料、仿真视频、单片机最小系统介绍等,全网最全!资料内容如下图所示!!

资料获取

https://docs.qq.com/doc/DT1pMbm9rSEptTU5C

相关推荐
iCxhust3 小时前
Keil µVision 调试指南---UART#1 模拟/调试窗口 完全使用教程
stm32·单片机·嵌入式硬件
iCxhust3 小时前
51单片机引脚 ALE EA PSEN的用途
单片机·嵌入式硬件·51单片机
碎像3 小时前
51单片机创建项目
单片机·嵌入式硬件·51单片机
木白CPP3 小时前
MCU 进程内存布局详解(.text, .rodata, .data, .bss, 堆, 栈)
单片机·嵌入式硬件
Lugas Luo3 小时前
车载录像存储性能模拟测试工具设计
linux·嵌入式硬件·测试工具
v132665623683 小时前
BK7258 wifi6音视频soc芯片应用分析
嵌入式硬件·物联网·音视频·iot·wifi6
風清掦3 小时前
【江科大STM32学习笔记-10】I2C通信协议 - 10.2 硬件 I2C 读写MPU6050
笔记·stm32·单片机·嵌入式硬件·学习
ALINX技术博客4 小时前
【黑金云课堂】FPGA技术教程Vitis开发:RTC中断讲解
单片机·嵌入式硬件·fpga开发
进击的小头4 小时前
第10篇:嵌入式芯片中断系统详解:NVIC与硬实时性优化设计
单片机·嵌入式硬件