单片机设计电子打铃器

合集下载

单片机电子闹钟程序亲自编写-可用

单片机电子闹钟程序亲自编写-可用

单片机电子闹钟程序(亲自编写-可用)————————————————————————————————作者:————————————————————————————————日期:学校电子钟,有闹钟功能,按键可调时间,可调打铃时间,打铃时间长短显示,每个模块有功能注释。

其中正常时间显示和闹钟时间显示可用一个开关来调整。

芯片选择STC89C52程序:#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//定义显示段码uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};uchar codebbtime[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar clock[]={0,0,0,0};uchar clock1[]={12,30,0};uchar weikong[6];uchar bbduration=4;uchar lingtime=9;//学校打铃时间组uchar shangwu1[]={8,30};uchar shangwu2[]={10,0};uchar shangwu3[]={10,20};uchar shangwu4[]={11,50};uchar xiawu1[]={13,30};uchar xiawu2[]={15,00};uchar xiawu3[]={15,15};uchar xiawu4[]={16,45};//按键定义sbit mode=P1^7;sbit sec_clr=P1^0;sbit min_set_add=P1^3;sbit min_set_sub=P1^4;sbit hour_set_add=P1^1;sbit hour_set_sub=P1^2;sbit bb_set_add=P1^5;sbit bb_set_sub=P1^6;sbit speaker=P2^6;//延时函数void delay(unsigned int t){while(t--);//时钟进位函数void clockjinwei(){clock[0]++;if(clock[0]==20){clock[1]++;clock[0]=0;if(clock[1]==60){clock[2]++;clock[1]=0;if(clock[2]==60){clock[3]++;clock[2]=0;if(clock[3]==24)clock[3]=0;}}}}//定时器0中断服务函数void timer0(void) interrupt 1 using 1 {TMOD=0x01;TH0=0x3c;TL0=0xb0;clockjinwei();}//时钟分位显示函数void fenwei(){weikong[0]=clock[3]/10;weikong[1]=clock[3]%10;weikong[2]=clock[2]/10;weikong[3]=clock[2]%10;weikong[4]=clock[1]/10;weikong[5]=clock[1]%10;}//闹钟分位显示函数void naofen(){weikong[0]=clock1[0]/10;weikong[1]=clock1[0]%10;weikong[2]=clock1[1]/10;weikong[3]=clock1[1]%10;weikong[4]=clock1[2]/10;weikong[5]=clock1[2]%10; }//闹钟定时显示函数void naozhongdisplay(){uchar z,s;uchar x=0x01;naofen();for(z=0;z<6;z++){P2=0;P0=table[weikong[z]];P2=x;x=_crol_(x,1);for(s=0;s<255;s++);}}//时钟显示函数void display(){uchar i,j;uchar x=0x01;fenwei();for(i=0;i<6;i++){P2=0;P0=table[weikong[i]];P2=x;x=_crol_(x,1);for(j=0;j<255;j++);}}//总显示函数void zhongxian(){if(mode==1)delay(100);if(mode==1)display();if(mode==0)delay(100);if(mode==0)naozhongdisplay();}//按键处理程序void key_set(){zhongxian();P1=0xff;if(min_set_add==0){delay(100);if(min_set_add==0){if(mode==1){clock[2]++;if(clock[2]==60){clock[2]=0;}while(min_set_add==0)zhongxian();}}if(mode==0){clock1[1]++;if(clock1[1]==60){clock1[1]=0;}while(min_set_add==0)zhongxian();}}//if(min_set_sub==0){delay(100);if(min_set_sub==0){if(mode==1){clock[2]--;if(clock[2]==0)clock[2]=59;}while(min_set_sub==0)zhongxian();if(mode==0){clock1[1]--;if(clock1[1]==0)clock1[1]=59;}while(min_set_sub==0)zhongxian();}}//if(hour_set_add==0){delay(100);if(hour_set_add==0){if(mode==1){clock[3]++;if(clock[3]==24){clock[3]=0;}while(hour_set_add==0)zhongxian();}if(mode==0){clock1[0]++;if(clock1[0]==24){clock1[0]=0;}while(hour_set_add==0)zhongxian();}}}//if(hour_set_sub==0){delay(100);if(hour_set_sub==0){if(mode==1){clock[3]--;if(clock[3]==0)clock[3]=23;}while(hour_set_sub==0)zhongxian();if(mode==0){clock1[0]--;if(clock1[0]==0)clock1[0]=23;}while(hour_set_sub==0)zhongxian();}}//if(sec_clr==0){delay(100);if(sec_clr==0){clock[1]=0;}while(sec_clr==0)zhongxian();}}//闹钟响铃函数void bb(){if(clock[1]<=bbduration){speaker=1;delay(100);speaker=0;}else speaker=0;}//打铃函数void daling(){if(clock[1]<=lingtime){speaker=1;delay(100);speaker=0;}else speaker=0;}//时间比较函数void bijiao(){if(clock[3]==shangwu1[0]){if(clock[2]==shangwu1[1])daling();}if(clock[3]==shangwu2[0]){if(clock[2]==shangwu2[1])daling();}if(clock[3]==shangwu3[0]){if(clock[2]==shangwu3[1])daling();}if(clock[3]==shangwu4[0]){if(clock[2]==shangwu4[1])daling();}if(clock[3]==xiawu1[0]){if(clock[2]==xiawu1[1])daling();}if(clock[3]==xiawu2[0]){if(clock[2]==xiawu2[1])daling();}if(clock[3]==xiawu3[0]){if(clock[2]==xiawu3[1])daling();}if(clock[3]==xiawu4[0]){if(clock[2]==xiawu4[1])daling();}}//闹钟比较void naobijiao(){if(clock[3]==clock1[0]){if(clock[2]==clock1[1]||clock[2]==clock1[1]+1||clock[2]==clock1[1]+2) bb();}}//响铃时长显示函数void bbtimeshow(){P3=bbtime[bbduration];if(bbduration>15)bbduration=0;}//响铃按键处理函数void bbtime_set(){bbtimeshow();if(bb_set_add==0){delay(100);if(bb_set_add==0)bbduration++;while(bb_set_add==0)bbtimeshow();}if(bb_set_sub==0){delay(100);if(bb_set_sub==0)bbduration--;while(bb_set_sub==0)bbtimeshow();}}//主程序void main(){EA=1;ET0=1;TR0=1;while(1){key_set();bijiao();bbtime_set();naobijiao();}}电路图:分四部分显示:如果在学习这个程序过程中有什么问题,可以发邮件到询问。

基于单片机的定时打铃设计资料

基于单片机的定时打铃设计资料

本科毕业设计(论文)题目基于单片机的时控打铃设计专业班级学号学生姓名指导教师设计所在单位基于单片机的时控打铃设计摘要:随着家用电器的越来越普及和人们生活节奏的加快,人们对电器的依赖性进一步提高,对电器的定时需求也进一步增大。

定时开关打铃可用于工厂、学校等需要定时打铃的场合。

定时开关打铃的使用能够做到节能、安全、方便等。

本文介绍了一种基于STC89C52RC单片机的定时开关打铃设计方案。

本文首先介绍定时开关打铃设计要实现的功能,接着阐述系统电路的设计及原理说明,包括设计方案选择、关键元器件介绍、电路设计说明(包括电源电路、键盘、单片机控制电路、液晶1602显示、蜂鸣器工作电路)软件设计流程以及系统的测试。

最后总结了定时开关打铃设计完成的任务,分析系统的不足并提出了系统的应用展望。

关键词:STC89C52RC;定时打铃;1602液晶;键盘Design of Control Outlet Based on SCMAbstract: with the increasing popularity of household appliances and people life rhythm speeding up, people for the dependence of the electrical appliances to further improve, demand for electric timing also increases further. Time switch ringing the bell can be used in factories, schools and so on need to regular the occasion of ringing the bell. Time switch the use of ringing the bell can achieve energy saving, safety, convenience, etc. This paper introduces a kind of based on STC89C52RC single-chip microcomputer timer switch design of ringing the bell.This paper introduces the time switch design in order to realize the function of ringing the bell, and then expounds design and principle of the circuit system, including design scheme selection, key components, circuit design specificSTCion (including power circuit, keyboard, 1602 single chip microcomputer control circuit, liquid crystal display, relay circuit) software design process, and system test. Finally summarizes the time switch ringing the bell design task, the shortcoming of the system and put forward the applicSTCion prospect of the system. Key words:STC89C52RC,Timer switch,LCD 1602,Keyboard目录第一章绪论 (1)1.1 选题的目的与意义 (1)第二章系统设计方案 (2)2.1 系统结构与功能 (2)2.2 方案框图 (2)2.2.1 方案1 (2)2.2.2 方案2 (2)2.3 开关的选择 (3)2.4 显示方式选择 (4)2.5 时钟的实现及单片机的选择 (4)2.6 按键控制部分的实现 (4)第三章主要元器件原理及其应用 (6)3.1 单片机STC89C52简介 (6)3.1.1 主要特性 (6)3.1.2 引脚功能说明 (7)3.2 1602工业字符型液晶简介 (9)3.2.1 主要特性 (9)3.3 蜂鸣器介绍 (10)3.3.1 蜂鸣器的继电特性 (10)3.3.2 蜂鸣器工作原理及特性 (10)3.3.3 蜂鸣器主要产品技术参数 (11)3.3.4 蜂鸣器的选用 (12)第四章硬件电路的设计 (13)4.1 单片机最小系统 (13)4.2 液晶显示 (14)4.3 蜂鸣器驱动电路 (15)4.4 键盘电路 (15)第五章系统软件设计 (17)5.1 开发环境 (17)5.2 各模块程序设计 (17)5.2.1 主程序流程图 (17)5.2.2 DS1302计时程序的编写 (18)5.2.3 LCD1602显示电路程序编写 (20)5.2.4 按键电路程序编写 (21)第六章系统制作及调试 (22)6.1 硬件制作 (22)6.2 硬件电路调试 (22)6.2.1 独立元件的检测 (22)6.2.2 单片机最小系统的调试 (22)6.2.3 显示模块的调试 (23)6.2.4 键盘模块的调试 (23)6.2.5 蜂鸣器电路的调试 (23)6.3 软件调试 (23)6.3.1 显示模块调试 (23)6.3.2 时钟模块调试 (23)6.3.3 键盘模块调试 (23)6.3.4 人机界面模块调试 (23)结束语 (24)致谢 (25)参考文献 (26)附录一系统原理图 (27)附录二程序清单 (28)第一章绪论1.1 选题的目的与意义电铃广泛应用于学校、机关及工矿企事业单位,可实现作息时间的固定周期打铃,提示人们工作、学习或是休息。

基于51单片机的自动打铃机设计

基于51单片机的自动打铃机设计

单片机系统课程设计课程设计名称:自动打铃器设计专业班级:XXXX学生姓名:XXXX学号:XXXXXXXX指导教师:XXX课程设计地点:XXXX课程设计时间:XXXXXXXXXX单片机系统课程设计任务书学生姓名专业班级自动化学号题目自动打铃器设计课题性质工程设计课题来源老师拟定指导老师XXX主要内容(参数)基于89c51单片机可以实现以下功能:1、根据自己需要设计打铃时间,到定时时间自动打铃。

2、8位LED动态显示,实现表24小时制计时和显示功能。

3、能设置当前时间4、可以随时更改打铃时间任务要求(进度)1、查阅有关资料,熟悉设计任务要求,确定设计方案,大概需要1——2天。

2、按照确定的方案设计单元电路,画出单元电路图,元件及元件参数的选择有依据,大概需要1——2天的时间3、软件设计及编写程序,大概需要1——2天的时间。

4、实验室调试,需要1——2天。

5、撰写课程设计报告。

要求内容完整、图表清晰、文理流畅、格式规范、方案合理设计正确。

主要参考资料[1]张迎新.单片机原理、应用及接口技术[M].北京:国防工业出版社,2004[2]李光飞.单片机课程设计实例[M].北京:北京航天航空大学出版社,2004[3]周润景,袁伟婷,景晓松.Proteus在MCS-51系统中的应用[M].北京:电子工业出版社,2006[4] 邓兴成.单片机原理与实践指导.北京:机械工业出版社,2010[5] 阎石.数字电子技术基础.北京:高等教育出版社,2009审查意见系(教研室)主任签字:年月日目录1概述 (5)1.1研究背景 (5)1.2设计思想及基本功能 (5)2总体设计 (5)2.1模块设计 (5)2.2程序流程图 (5)3硬件单元设计 (6)3.1电路设计总原理图 (7)3.2各模块电路设计 (7)3.2.1键盘扫描模块 (7)3.2.2时钟与复位模块 (8)3.2.3显示模块 (8)3.2.4响铃模块 (9)4软件设计 (9)4.1键盘扫描程序 (9)4.2主程序 (10)4.3显示程序 (13)4.4响铃程序 (14)5 总结 (17)6参考文献 (17)7附录 (18)1 概述1.1研究背景现代社会的发展越来越快,人们的时间观念也越来越强。

基于单片机无线控制的多功能打铃仪设计

基于单片机无线控制的多功能打铃仪设计

表2 G P S 接收测试
l 旦 坚 I 里l
不 同动作 。

8 : 0 o 1 0 : 0 0 1 2 : 0 0 1 6 : 0 0 1 8 : 0 0 2 0 : 0 0 2 4 : O 0
巡检控制包为3 个字节 ,0 B :命令字 , 不同的命 令代 表
( 6 ) 传感 器巡 检包 ( 子机接 收 )
! l !
l 里 I 兰 呈 I



巡检控制包为2 个字节 , O B : 命令字 , 不 同的命令代表 不 同动作 ;1 B :I D 号 ,存放子机2 的I D 地址 ; 2 B : 传感器 型
号 ;3 B : 传感器动作
2 ol 3. 07
进行打铃时 间比较
进行打铃时 间比较

间是 为l 2 点
切换为0 0 信道并发射检 测信号,对子机进行检 测, 等待子机应答


时间是否为 打铃时间

切换为o 0 信道并发射 打铃信号
J r Y
L—]
子机指示灯保持长亮I ຫໍສະໝຸດ l 子机指示灯灭 I m m I m I
2 . 4 报警功 能
如果 有报 警 按键 按下 去 , 则 停 下子 机工 作 ,子机 切

换 到C H 3 信 道 向主机发送 报警信 号 ,并 打铃 ,直到警 报解 1 0 B( H) I l B I 2 B l 3 B I 4 B l 5 B 除 。如果外 接有无 线传 感器 ,子机通 过C H 5 信 道巡检 各传 打铃控制包为6 个字节 , : 命令字 ,不 同的命令代表

l! 旦l

基于单片机的自动打铃器设计

基于单片机的自动打铃器设计

基于单片机的自动打铃器设计随着社会的发展和科学技术的进步,大部分单位对于时间有严格的管理制度,能够实现在预定时间进行打铃的设备也成为必需品。

本文单片机AT89C51为核心,加入了键盘输入,时间显示等模块,可以满足日常使用所需的功能。

标签:AT89C51;自动打铃器;时间;显示为了方便人们的生活和工作,自动打铃器广泛于学校、工厂、企业等有比较固定作息时间的单位。

尤其是学校,要按时打铃,以指挥师生员工上课、下课等统一行动。

现在我们可以利用单片机设计自动打铃器,在预定的时间打铃。

这项设计涉及到单片机的定时器、中断、键盘输入、LCD数码和字符显示、I2C总线、单总线、开关量输出等内容。

1 总体设计总体设计,其中最主要的就是原理设计。

根据设计要求和现有的技术条件,在满足功能、性能等用户需求的基础上,初步提出可选技术路线,并对各方案进行必要的分析,充分听取方方面面的意见,选择一种实施方案。

本项目的实施方案如下:选用机型:AT89C51(可以使用简化版AT89C2051)。

这是美国ATMEL公司生产的与INTEL公司的MCS-51系列全兼容的单片机产品,指令兼容,引脚兼容,可以直接代换。

其优点是片内程序存储器是电擦写的,使用方便,耗电少,价格低。

时间显示:16位×2行的液晶显示模块1602,显示内容比较多。

并行口连接。

键盘输入:4个独立式按键,分别是对表、定时、临时打铃和上、下、左、右调整键打铃输出:经二级晶体管放大驱动12V直流继电器,控制220V电源通、断电铃。

系统扩展:不需要扩展RAM、ROM、和其它I/O接口,只需要通过I2C总线扩展一片24LC16B,用于保存打铃时间,以保证掉电不丢失,免得重新设置之麻烦。

电源部分:220V交流电经降压、整流、滤波、稳压,提供+12V和+5V两种直流电源,再加可充电电池作备用电源,停电时保持时钟和作息时间表。

交流供电时给电池充电。

现在,专用的日历时钟芯片很多,性能也很好,尤其是精度可以很高,省电,使用方便。

申千林单片机课程设计教学楼打铃器1

申千林单片机课程设计教学楼打铃器1

湖南商学院《单片机课程设计》报告题目教学用数字打铃器姓名: 申千林学号:专业: 电子信息工程班级:指导教师: 肖老师职称: 教授计算机与电子工程2012年9月目录1 概述 (1)1.1设计要求 (1)2 设计方案.................................... 错误!未定义书签。

3 硬件电路设计 (2)3.1晶振模块 (2)3.2电源电路................................ 错误!未定义书签。

3.3复位模块 (3)3.4键盘扫描模块 (3)3.5显示模块 (3)3.6响铃模块 (4)3.7主要元器件 (4)4 测试与仿真 (4)5 程序设计 (6)6 收获与总结 (11)参考文献 (11)附录一电路原理图 (12)《专业实习》报告评审表姓名申千林学院计算机与电子工程学号专业班级题目教学用数字打铃器评审意见评审成绩指导教师签名职称评审时间年月日课程设计(实习)作品验收表题目教学用数字打铃器参与人员姓名申千林班级学号设计任务与要求:(1)设计一个自动打铃器,满足要求有:能任意设置十个打铃时间,时间到时自动打铃,系统包括复位,显示,打铃和按键模块。

(2)设计单片机打铃器硬件电路,绘制出电路原理图。

(3)编程实现打铃器的各项功能。

作品完成情况:实现计时和显示功能,能在设计的十个定点时间打铃,当数码管显示时间与程序内定时间相吻合就打铃,且每次打铃均为十次滴声长度。

验收情况:验收教师签名:___________年月日注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。

2. “验收情况”栏由验收小组按实际验收的情况如实填写。

教学用数字打铃器1 概述1.1 设计要求通过学习和借鉴单片机最小系统的基本设计方法,设计单片机打铃器应用系统。

(1)设计一个自动打铃器,满足要求有:能任意设置十个打铃时间,时间到时自动打铃,系统包括复位,显示,打铃和按键模块。

【设计】参考基于单片机的打铃器硬件设计毕业论文

【设计】参考基于单片机的打铃器硬件设计毕业论文

【关键字】设计CHANGZHOU INSTITUTE OF TECHNOLOGY科研实践题目:基于单片机的打铃器设计二级学院(直属学部):延陵学院专业:电气工程及其自动化班级:10电Y3学生姓名:学号:指导教师姓名:范力旻职称:副教授至摘要单片机自1976年由Inter公司推出MCG-48开始,迄今已有二十多年了。

由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已经从面相工业控制、通讯、交通。

智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

按照内部数据通道的宽度,单片机可分为4位、8位、16位及32位等。

单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。

例如:位处理、查表、多种地址询问方式、多种跳转、乘除法运算、状态监控、中断处理器,强了实时性。

本设计以AT89S52芯片为核心,利用DS1302作时钟芯片,具有实时显示当前时间,按设定时间报时,能修改当前时钟等功能。

关键词:定时打铃;DS1302时钟;LCD1602液晶显示目录第一章绪论1.1 选题背景及研究意义随着科技的不断发展,各种芯片都得到了很好的发展,89S52同样如此,从开始的无人问津到现在的随处可见,红绿灯,记分牌,电子秒表,遥控器,电饭煲,电视等只要是电子产品,都会和芯片有关,其实芯片并不是什么神秘的高科技,它只是里面装了一些己编好的程序而己.而自动打铃系统是用汇编语言来编程的一个系统,它能够让一个学校或企业集团实现打铃自动化,总之,一个需要时间系统的机构实现自动提醒功能。

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

课程设计基于单片机的教学用电子打铃器电路设计

课程设计基于单片机的教学用电子打铃器电路设计

目录1、课程设计目的 (2)2、总体设计 (2)2.1 模块设计 (2)2.2 程序流程图 (2)3、硬件单元设计 (4)3.1电路设计总原理图 (4)3.2各模块电路设计 (4)3.2.1 键盘扫描模块 (4)3.2.2 时钟和复位模块 (4)3.2.3 显示模块 (5)3.2.4 响铃模块 (6)4、软件设计 (7)4.1键盘扫描程序 (8)4.2数码管显示程序 (10)4.3主程序 (11)4.4响铃程序 (12)5、课程设计总结 (15)6、参考文献 (16)2.总体设计2.1 模块设计教学用电子打铃器主要由AT89S51单片机、键盘扫描模块、时钟和复位模块、打铃器模块、八段数码管显示模块等组成。

运用汇编语言来控制单片机80C51来实现、动态数码显示等功能。

且本设计中的80C51单片机是整个工作过程的核心,是整个设计灵魂,它控制了脉冲时序的产生,显示信号的发送控制显示LED 的选择。

所用到的芯片元器件:80C51单片机, 3个按键,1个蜂鸣器,4个八段LED 数码管 80C51是一种带4K 字节存储器(的低电压、高性能CMOS 8位微处理器,俗称单片机。

2.2 程序流程图图2.2(1) 主程序流图2.2(1) 主程序程序流程图图2.2(2) 定时中断程序流程图3.硬件单元设计开始初始化参数设置调用显示子程序调用打铃对比程序调用键盘子程序3.1 电路设计总原理图图3.1 总体原理图3.2 各模块电路设计3.2.1 键盘扫描模块利用四个按键进行校时,按键K1是调整时间选择,按键K2进行小时加1,按键K 3进行分钟加1,按键K4则调整时间结束返回主程序, K1接P1.1,K2接P1.2,K3接P1.3,K4接P1.4。

3.2.2 时钟和复位模块图3.2.2 时钟和复位模块3.2.3显示模块及芯片说明根据设计要求系统需要4个共阳LED,数码管显示电路使用80C51的动态显示功能。

4个LED八段(a、b、c、d、e、f、g、dp),数码管分别显示:“时”、“分”,用二极管的“点”作为时、分的间隔。

基于单片机控制的校园自动打铃器作息时钟设计-大学毕业论文毕业设计学位论文范文模板参考资料

基于单片机控制的校园自动打铃器作息时钟设计-大学毕业论文毕业设计学位论文范文模板参考资料

校园自动打铃器作息时钟摘要本文介绍了以AT89S51单片机为控制核心的自动打铃器产品,该电路具有时钟功能,可通过产品的上的设置键对要报警的时间点逐个的设置进去,打玲器只要走到设置好的时间就能报警。

输出效果由报警模块与显示模块组成,显示模块主要采用数码管来显示时间,让人们可以看到自动打铃器的时间是否与我们生活的时间一致,如果有误差则可以通过按键对时间进行调整。

该打铃器是一种电路比较简单,功能完善,且比较实用的自动打铃器。

它不但可以适用于学校及企业工厂等场所。

关键字:单片机自动控制数码显示调整目录一.引言 (3)二.方案比较 (4)2.1方案一基于数模电路的自动打铃器 (4)2.2方案二基于A T89S51控制的自动打铃器 (5)三.硬件电路设计 (5)3.1微控制器 (5)3.2振荡电路 (6)3.3复位电路 (6)3.4控键电路 (7)3.5显示电路 (8)3.6报警电路 (9)四.软件系统设计 (10)4.1主程序设计 (10)4.2定时1mS子程序设计 (10)4.3显示子程序设计 (10)4.4软件抗干扰设计 (11)五.系统调试与测试 (13)5.1软件仿真 (13)5.2硬件电路安装 (14)5.2.1单片机振荡电路安装 (14)5.2.2单片机复位电路安装 (14)5.2.3单片机控键电路安装 (14)5.2.4单片机显示电路安装 (15)5.2.5单片机报警电路安装 (15)5.2.6整机电路安装与调试 (15)结束语............................................................................................................. 错误!未定义书签。

参考文献.. (16)附录1:总设计原理图 (17)附录2:源程序 (18)一.引言打铃器是一种广泛应用于企业和学校单位。

就以对学校单位而言,自动打铃器是为了对了广大师生的作息时间做更好的管理,它一种学校必备电子设备,也是一种逐渐成型的电子产品,打铃器多为小规模集成电路构成,其性能单一,工作起来不够理想。

基于单片机控制的电铃控制器 电铃控制器

基于单片机控制的电铃控制器 电铃控制器

基于单片机控制的电铃控制器一.设计要求(一)基本功能1.显示:可以显示星期、时、分和秒2.打铃:每天可设置20次,打铃持续时间每次1-90秒可调,每次打铃的间隔时间1-99分钟可调。

3.铃声:内置蜂鸣器可以发出监控声音(二)性能时间日误差< 1.5秒(三)扩展功能1.可设定单/双休息日不打铃2.随季节变化,每天自动调整开与关的时间二.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。

2.第二周完成软件的具体设计和硬件的制作。

3.第三周完成软件和硬件的联合调试。

三.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

四.答辩在规定时间内,完成叙述并回答问题。

目录1引言 (1)2总体设计方案 (1)2.1设计思路 (1)2.2总体设计框图 (1)2.3设计方案 (1)3设计原理分析 (2)3.1按键功能 (2)3.2状态指示 (2)3.3打铃控制 (2)3.4电路原理图 (2)4程序流程框图 (3)4.1总体程序流程图 (3)4.2主程序流程图 (3)4.3校时程序流程图 (4)4.4时钟打铃程序流程图 (4)5心得与体会 (5)参考文献 (5)附录 (6)基于单片机控制的电铃控制器班级:应教053班姓名:李胜涛摘要:该设计介绍了一种以AT89S51单片机为核心,以七段数码管显示星期、时、分和秒,发光二极管作为指示灯标志及按键较时、定时的自动打铃器。

关键词:单片机电铃自动数码管1引言当今社会,随着科学技术的快速发展,自动控制在人们的生活中可以说“无孔不入”,小到遥控儿童玩具,大到冰箱空调的智能化,都体现了科学技术的进步。

特别是单片机(Single-Chip Microcomputer SCM)技术的应用,不但降低了生产成本,同时也方便了消费者,使操作简洁、安全。

单片机的应用使许多复杂的事情,都能够简单、方便的实现了。

用单片机控制的自动打铃器,充分发挥单片机体积小,价格便宜,功耗低,可靠性好等特点,充分发挥了单片机的控制优势。

单片机打铃系统设计(完整)

单片机打铃系统设计(完整)

目录前言................................................................... . (1)第1章方案比较与选择 (2)1.1系统的比较与选................... ..... .... ......... (2)1.2显示器的比较与选择 (2)1.3时钟芯片的比较与选择................... . (2)第2章系统框图 (3)2.1系统框图 (3)第3章原理分析 (4)3.189C52简介 (4)3.2键盘控制模块 (7)3.3时钟电路模块............. ............. ............. ........... . (7)3.4复位电路模块........... ........ ........... ................ .. (7)3.5系统电源模块........ ........ ........... ................ ....... (8)3.6液晶显示模块........ ........ ........... ................ ......... .. (8)3.7打铃模块....... ........ . ......... .......... ................ .. (9)3.8 ISP下载线接口....... ........ .......... .......... ............ . (9)第4章系统软件设计 (10)4.1软件调试 (11)结论..................................................... .............13 致谢.................... .... .... .... .... ...................... (24)参考文献....................... ..... ..... ..... .. (26)单片机打铃系统设计前言随着现代科技的发展,管理水平的完善,具有自动提示功能的打铃器能够为企业节省人力资源,减少开支,对做到一体化管理具有很大的帮助。

单片机打铃的原理和作用

单片机打铃的原理和作用

单片机打铃的原理和作用
单片机打铃的原理是通过控制单片机的IO口输出高低电平来控制蜂鸣器(或其他音响设备)发出声音。

具体实现方法:
1. 首先,将蜂鸣器的一个引脚连接至单片机的IO口,另一个引脚连接至单片机的GND或VCC。

2. 在程序中,通过控制IO口的输出电平,使其在高电平和低电平之间切换,从而控制蜂鸣器发声。

3. 根据需求,可以通过控制IO口输出的时间长度和频率来控制蜂鸣器发出不同的音调和节奏。

单片机打铃的作用:
1. 提示功能:在某些场景下,单片机打铃可以作为一种警示或提醒的方式,引起人们的注意。

2. 信号传达:通过不同的音调和节奏,可以传达不同的信号或指令,实现与人机交互的功能。

3. 音乐播放:通过控制蜂鸣器的发声,可以实现一些简单的音乐播放功能。

单片机教学打铃控制器程序设计-课程设计

单片机教学打铃控制器程序设计-课程设计

教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校单片机教学打铃控制器程序设计-课程设计单片机教学打铃控制器程序设计一、课程设计题:单片机教学打铃控制器程序设计二、设计要求:用LED数码管显示时、分、秒时间,尽量减少时间积累误差,具有秒闪功能。

最多能设置40个打铃时间点,打铃时间点数据用非易失存储器存储,防止掉电丢失数据;能逐个检查、修改、删除已设置的打铃时间点和增加打铃时间点。

对时、打铃时间点用键盘设置,键盘设计简单、易于操作。

具有强电驱动功能,便于控制220V的电铃。

三、设计报告要求:说明设计作品的功能、特点、应用范围;方案对比,确定方案。

电路工作原理、操作方法;编程方法、程序框图及关键程序清单。

课程设计总结。

附件:参考电路图24C02芯片资料及参考程序课程设计元器件清单元器件名规格/型号单板数量购买数量备注电阻510Ω、1/4W210K、1/4W21K、1/4W1电阻排510Ω*81瓷片电容30pF2独石电容0.1&micro;F4电解电容220&micro;F/16V1二极管1N40071发光二极管Ф3MM、红光4三极管90131晶体12MHz(矮封装)1集成块78051AT89S52124C02174071IC插座40PIN18PIN114PIN1数码管2位动态、红光、共阴极(FJ5202AH)3继电器5V、AC220V/5A(HRS4H-S-DC5V)1接插件IDC101套按键国产欧姆龙轻触按键,带透明帽8套-------------------------------------------------------------------------------- 程序:;**************教学打铃控制器程序*********;CPU: AT89S52, Fosc=12MHz;++++++++++++++++++变量定义+++++++++++++++SET_TIME BIT P1.0 ;时间设定SET_ALARM BIT P1.1 ;打铃设定LEFT BIT P1.2 ;左移位UP BIT P1.3 ;上翻/加1DOWN BIT P1.4 ;下翻/减1RIGHT BIT P1.5 ;右移位ESC BIT P1.6 ;取消/退出ENTER BIT P1.7 ;确认KEY_BUF EQU 30H ;原按键状态KEY_ST EQU 31H ;键闭合标志,ON:0FFH,OFF:00HSCL BIT P3.3 ;IIC时钟线SDA BIT P3.2 ;IIC数据线FLASH_S BIT P3.1 ;秒闪CONTREL BIT P3.4 ;控制;1=ONH_MEM EQU 10H ;时M_MEM EQU 11H ;分S_MEM EQU 12H ;秒CT_50MS EQU 13H ;50mS计数器NEW_TIME EQU 14H ;时间更新标志,0FFH更新DIS_MEM1 EQU 15H ;显示数据存储器1DIS_MEM2 EQU 16H ;显示数据存储器2DIS_MEM3 EQU 17H ;显示数据存储器3DIS_BUF1 EQU 20H ;显示缓冲器1(段码,左)DIS_BUF2 EQU 21H ;显示缓冲器2(段码)DIS_BUF3 EQU 22H ;显示缓冲器3(段码)DIS_BUF4 EQU 23H ;显示缓冲器4(段码)DIS_BUF5 EQU 24H ;显示缓冲器5(段码)DIS_BUF6 EQU 25H ;显示缓冲器6(段码,右)AL_NUMBER EQU 26H ;打铃序号AL_TOTA EQU 27H ;打铃点总数ALARM_ST EQU 28H ;打铃状态,0FFH正在打铃TIME_OVER EQU 29H ;按键返回时间计数器TOTA_ADDR EQU 60H ;打铃点总数在24C02中的存储地址ORG 0000HAJMP STARTORG 0002BHAJMP INT_T0 ;T2中断向量ORG 0030HSTART: MOV SP,#60HCLR CONTRELCLR FLASH_SMOV H_MEM,#12MOV S_MEM,#0MOV CT_50MS,#20MOV NEW_TIME,#0MOV KEY_ST,#0MOV R4,#TOTA_ADDR ;从24C02读打铃时间点总数MOV R0,#AL_TOTAMOV R3,#1ACALL RD_EEROMMOV A,AL_TOTA ;总数大于0,小于、等于40判断JZ JMP_RDCLR CSUBB A,#40JC RD_AL_LISTMOV AL_TOTA,#0MOV R4,#TOTA_ADDRMOV R3,#1MOV R0,#AL_TOTAACALL WR_EEROMSJMP JMP_RDRD_AL_LIST:MOV A,AL_TOTA ;从24C02读打铃时间表RL AMOV R3,A;R0:RAM地址指针,R2:8位移位计数器;R3:数据字节计数器;R4:24C02 存储地址MOV R0,#80HMOV R4,#00HACALL RD_EEROMJMP_RD: MOV TH2,#3CH ;T2工作方式、时间常数MOV TL2 , #0ABHMOV RCAP2H, #3CHMOV RCAP2L, #0ABHMOV T2CON , #04HSETB ET2 ;开中断SETB EAWAITE: ACALL DISPLAYACALL KEY_CHECKMOV A,KEY_STCJNE A,#00H,KEY_MAINMOV A,NEW_TIMECJNE A,#0FFH,WAITENEW_DIS:MOV A,H_MEMACALL HBCDMOV DIS_MEM1,AMOV A,M_MEMACALL HBCDMOV DIS_MEM2,AMOV A,S_MEMACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEMOV A,ALARM_STJNZ CHEK_OFFMOV A,S_MEMJNZ WAITEACALL CHEK_AL ;打铃检测CHEK_OFF: MOV A,S_MEMCLR CSUBB A,#20JC WAITECLR CONTRELMOV ALARM_ST,#0SJMP WAITE;SJMP $;********打铃控制子程序*************** CHEK_AL:MOV A,AL_TOTAJZ CHEK_ENDMOV R0,#80HMOV R6,AL_TOTACHK_LOOP: MOV A,@R0CJNE A,H_MEM,NEXT_AL_1INC R0MOV A,@R0CJNE A,M_MEM,NEXT_AL_2SETB CONTRELMOV ALARM_ST,#0FFHSJMP CHEK_ENDNEXT_AL_1:INC R0NEXT_AL_2:INC R0DJNZ R6,CHK_LOOPCLR CONTRELMOV ALARM_ST,#0CHEK_END:RET;********键盘处理程序段*************** KEY_MAIN:MOV KEY_ST,#0JNB SET_TIME,TIME_SETJNB SET_ALARM,JMP_SET_ASJMP NEW_DISJMP_SET_A:AJMP ALARM_SET;========时间设置===================== TIME_SET:MOV TIME_OVER,#30MOV R5,H_MEMMOV R6,M_MEMMOV R7,S_MEMSET_H: JNB FLASH_S,GATE_HMOV DIS_MEM1,#0AAHSJMP CLS_HGATE_H: MOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_H: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_1MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_1AJMP WAITEJMP_1: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_HMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,H_UPJNB DOWN,H_DOWNJNB LEFT,JMP_SET_SJNB RIGHT,SET_MJNB ESC,JMP_ESCJNB ENTER,JMP_OKSJMP SET_HJMP_ESC:AJMP TIME_SET_ESCJMP_OK: AJMP TIME_SET_OKJMP_SET_S:AJMP SET_SH_UP: CJNE R5,#23,INC_HMOV R5,#0FFHINC_H: INC R5AJMP GATE_HH_DOWN: CJNE R5,#0,DEC_HMOV R5,#24DEC_H: DEC R5AJMP GATE_H;===========分钟设置=============== SET_M: JNB FLASH_S,GATE_MMOV DIS_MEM2,#0AAHSJMP CLS_MGATE_M: MOV A,R6ACALL HBCDMOV DIS_MEM2,AMOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_M: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_2MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_2AJMP WAITEJMP_2: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_MMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,M_UPJNB DOWN,M_DOWNJNB LEFT,JMP_SET_HJNB RIGHT,SET_SJNB ESC,TIME_SET_ESCJNB ENTER,TIME_SET_OKSJMP SET_MM_UP: CJNE R6,#59,INC_MMOV R6,#0FFHINC_M: INC R6AJMP GATE_MM_DOWN: CJNE R6,#0,DEC_MMOV R6,#60DEC_M: DEC R6AJMP GATE_MJMP_SET_H:AJMP SET_H;============秒设置================= SET_S: JNB FLASH_S,GATE_SMOV DIS_MEM3,#0AAHSJMP CLS_SGATE_S: MOV A,R7ACALL HBCDMOV DIS_MEM3,AMOV A,R5ACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,ACLS_S: ACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_3MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_3AJMP WAITEJMP_3: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_SMOV KEY_ST,#0MOV TIME_OVER,#30JNB UP,S_UPJNB DOWN,S_DOWNJNB LEFT,JMP_SET_S_MJNB RIGHT,JMP_S_HJNB ESC,TIME_SET_ESCJNB ENTER,TIME_SET_OKSJMP SET_SJMP_S_H:AJMP SET_HS_UP: CJNE R7,#59,INC_SMOV R7,#0FFHINC_S: INC R7AJMP GATE_SS_DOWN: CJNE R7,#0,DEC_SMOV R7,#60DEC_S: DEC R7AJMP GATE_SJMP_SET_S_M:AJMP SET_M;====================================== TIME_SET_ESC:AJMP NEW_DIS ;时间设置取消/返回TIME_SET_OK:MOV S_MEM,R7 ;时间设置确认/返回MOV M_MEM,R6MOV H_MEM,R5AJMP NEW_DIS;=========打铃设置程序段=============== ALARM_SET:MOV TIME_OVER,#20MOV AL_NUMBER,AL_TOTAAL_LIST:MOV A,AL_NUMBERJNZ NUMBER_NMOV DIS_MEM1,#0MOV DIS_MEM2,#0AAHMOV DIS_MEM3,#0AAHACALL DIS_TIMEAJMP WAITE_ANUMBER_N:DEC ARL AADD A,#80HMOV R0,AMOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,@R0ACALL HBCDMOV DIS_MEM2,AINC R0MOV A,@R0ACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEWAITE_A:ACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_4MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_4AJMP WAITEJMP_4: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,WAITE_AMOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,NUM_UPJNB DOWN,NUM_DOWNJNB ESC,JMP_ESC_ALJNB ENTER,JMP_OK_ALJNB SET_ALARM,JMP_DEL_ALJNB SET_TIME,CHANGE_ALSJMP WAITE_AJMP_DEL_AL:AJMP DEL_AL;-------------------------------------NUM_UP: MOV A,AL_NUMBERCJNE A,AL_TOTA,INC_NUMMOV AL_NUMBER,#0FFHINC_NUM:INC AL_NUMBERAJMP AL_LIST;-------------------------------------NUM_DOWN:MOV A,AL_NUMBERCJNE A,#0,DEC_NUMMOV AL_NUMBER,AL_TOTASJMP J_DECNUMDEC_NUM:DEC AL_NUMBERJ_DECNUM:AJMP AL_LIST;==========修改打铃时间点================= CHANGE_AL:MOV A,AL_NUMBERJZ JMP_ADD_ALDEC ARL AADD A,#80HMOV R0,AMOV A,@R0MOV R6,AINC R0MOV A,@R0MOV R7,A;------------时修改------------------ SET_AL_H:JNB FLASH_S,GATE_AL_H MOV DIS_MEM2,#0AAH SJMP CLS_AL_HGATE_AL_H:MOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,R6ACALL HBCDMOV DIS_MEM2,ACLS_AL_H:MOV A,R7ACALL HBCDMOV DIS_MEM3,AACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_5MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_5 AJMP WAITEJMP_5: ACALL KEY_CHECK MOV A,KEY_STCJNE A,#0FFH,SET_AL_H MOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,AL_H_UPJNB DOWN,AL_H_DOWNJNB LEFT,SET_AL_MJNB RIGHT,SET_AL_MJNB ESC,JMP_AL_LISTJNB ENTER,JMP_SET_AL_OK SJMP SET_AL_HJMP_ESC_AL:AJMP ESC_ALJMP_OK_AL:AJMP OK_ALJMP_ADD_AL:AJMP ADD_ALJMP_SET_AL_OK:AJMP SET_AL_OKJMP_AL_LIST:AJMP AL_LISTAL_H_UP:CJNE R6,#23,INC_H_AL MOV R6,#0FFHINC_H_AL:INC R6AJMP GATE_AL_HAL_H_DOWN:CJNE R6,#0,DEC_H_ALMOV R6,#24DEC_H_AL:DEC R6AJMP GATE_AL_H;----------分修改---------------- SET_AL_M:JNB FLASH_S,GATE_AL_MMOV DIS_MEM3,#0AAHSJMP CLS_AL_MGATE_AL_M:MOV A,AL_NUMBERACALL HBCDMOV DIS_MEM1,AMOV A,R7ACALL HBCDMOV DIS_MEM3,ACLS_AL_M:MOV A,R6ACALL HBCDMOV DIS_MEM2,AACALL DIS_TIMEACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_6MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_6AJMP WAITEJMP_6: ACALL KEY_CHECKMOV A,KEY_STCJNE A,#0FFH,SET_AL_MMOV KEY_ST,#0MOV TIME_OVER,#20JNB UP,AL_M_UPJNB DOWN,AL_M_DOWNJNB LEFT,JMP_SET_AL_HJNB RIGHT,JMP_SET_AL_HJNB ESC,JMP_AL_LISTJNB ENTER,SET_AL_OKSJMP SET_AL_MJMP_SET_AL_H:AJMP SET_AL_HAL_M_UP:CJNE R7,#59,INC_M_ALMOV R7,#0FFHINC_M_AL:INC R7AJMP GATE_AL_MAL_M_DOWN:CJNE R7,#0,DEC_M_ALMOV R7,#60DEC_M_AL:DEC R7AJMP GATE_AL_M;=====打铃点设置确认/返回到列表状态====== SET_AL_OK:NOPMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,R6MOV @R0,AINC R0MOV A,R7MOV @R0,AMOV R0,#80HMOV R2,AL_TOTAACALL UP_LIST ;调升序排序程序AJMP ALARM_SET;==========增加打铃时间点================ ADD_AL: INC AL_TOTAMOV AL_NUMBER,AL_TOTAMOV R6,#08MOV R7,#0MOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,R6MOV @R0,AINC R0MOV A,R7MOV @R0,AAJMP SET_AL_H;==========打铃设置取消/返回========== ESC_AL: MOV R4,#TOTA_ADDRMOV R0,#AL_TOTAMOV R3,#1ACALL RD_EEROMMOV A,AL_TOTAJZ EXIT_SET_ALRL AMOV R3,AMOV R0,#80HMOV R4,#00HACALL RD_EEROMEXIT_SET_AL:AJMP NEW_DIS;=========打铃设置确认/返回=========== OK_AL: MOV R0,#AL_TOTAMOV R3,#1MOV R4,#TOTA_ADDRACALL WR_EEROMMOV A,AL_TOTAJZ JMP_NEW_DISMOV A,AL_TOTARL AMOV R0,#80HMOV R3,AMOV R4,#0ACALL WR_EEROMJMP_NEW_DIS:AJMP NEW_DISJMP_AL_SET:AJMP ALARM_SET;========删除打铃时间点=========== DEL_AL: MOV A,AL_TOTAJZ JMP_AL_SETJNB FLASH_S,GATE_DISMOV DIS_MEM1,#0AAHMOV DIS_MEM2,#0AAHMOV DIS_MEM3,#0AAHSJMP CLS_DISGATE_DIS:MOV A,AL_NUMBER ACALL HBCDMOV DIS_MEM1,AMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AMOV A,@R0ACALL HBCDMOV DIS_MEM2,AINC R0MOV A,@R0ACALL HBCDMOV DIS_MEM3,ACLS_DIS:ACALL DIS_TIME ACALL DISPLAYMOV A,NEW_TIMECJNE A,#0FFH,JMP_7MOV NEW_TIME,#0DJNZ TIME_OVER,JMP_7 AJMP WAITEJMP_7: ACALL KEY_CHECK MOV A,KEY_STCJNE A,#0FFH,DEL_AL MOV KEY_ST,#0MOV TIME_OVER,#20JNB ENTER,DEL_LISTJNB ESC,JMP_AL_SET_D AJMP DEL_ALJMP_AL_SET_D:AJMP ALARM_SET;------删除列表数据----------- DEL_LIST:MOV A,AL_TOTADEC AJZ CLR_TOTAMOV A,AL_TOTACLR CSUBB A,AL_NUMBERJZ NEW_LISTRL AMOV R3,AMOV A,AL_NUMBERDEC ARL AADD A,#80HMOV R0,AINC AINC AMOV R1,AMOVE_LIST_AL:MOV A,@R1MOV @R0,AINC R1INC R0DJNZ R3,MOVE_LIST_ALNEW_LIST:DEC AL_TOTAMOV R0,#80HMOV R2,AL_TOTAACALL UP_LISTLJMP ALARM_SETCLR_TOTA:MOV AL_TOTA,#0LJMP ALARM_SET;============================================= ;*************T0中断服务子程序**************** INT_T0: PUSH ACC ;保护现场PUSH PSWCLR TF2MOV TL0,#0B0H ;50mS 定时常数MOV TH0,#3CHDJNZ CT_50MS,CK_500MSMOV CT_50MS,#20 ;DELAY 1 SECONDMOV NEW_TIME,#0FFH;置秒标志MOV A,S_MEMCJNE A,#59,SECOND ;判断秒=59MOV S_MEM,#0FFHMOV A,M_MEMCJNE A,#59,MINUTE ;判断分=59MOV M_MEM,#0FFHMOV A,H_MEMCJNE A,#23,HOUR ;判断时=23MOV H_MEM,#0FFHHOUR: INC H_MEM ;时加1MINUTE: INC M_MEM ;分加1SECOND: INC S_MEM ;秒加1CPL FLASH_SSJMP EXIT_T0CK_500MS:MOV A,CT_50MSCJNE A,#10,EXIT_T0CPL FLASH_S ;秒闪EXIT_T0:POP PSW ;恢复现场POP ACCRETI ;中断返回;====================================== ;*********拆字查表子程序*************** DIS_TIME:PUSH ACCPUSH BMOV A,DIS_MEM1ACALL DIS_H_LMOV DIS_BUF1,AMOV DIS_BUF2,BMOV A,DIS_MEM2ACALL DIS_H_LMOV DIS_BUF3,AMOV DIS_BUF4,BMOV A,DIS_MEM3ACALL DIS_H_LMOV DIS_BUF5,AMOV DIS_BUF6,BPOP BPOP ACCRET;++++++++++++++++++++++++++++++++++++ DIS_H_L:MOV B,AANL A,#0FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRXCH A,BSWAP AANL A,#0FHMOV DPTR,#LEDSEGMOVC A,@A+DPTRRET;====================================== ;*********数码管扫描子程序************* ;执行时间:10mS;++++++++++++++++++++++++++++++++++++++DISPLAY:PUSH ACCPUSH PSWPUSH 00HMOV P0,#0MOV A,#0FEHMOV R0,#DIS_BUF1DIS_LOOP:MOV P2,AMOV P0,@R0ACALL DLY_DISMOV P0,#0RL AINC R0JB ACC.6,DIS_LOOPMOV P2,#0FFHPOP 00HPOP PSWPOP ACCRET;-----------------------------------DLY_DIS:PUSH 02HPUSH 03HMOV R2,#4DLY_LOOP:MOV R3,#204DJNZ R3,$DJNZ R2,DLY_LOOPPOP 03HPOP 02HRET;====================================== ;*********键盘检测子程序*************** ;检测有无按键按下;键闭合标志KEY_ST,ON:0FFH,OFF:00H;++++++++++++++++++++++++++++++++++++++ KEY_CHECK:PUSH ACCMOV P1,#0FFHMOV A,P1CPL AJZ KEY_OFFACALL DISPLAYMOV A,P1CPL AJZ KEY_OFFMOV A,KEY_BUFCPL AJNZ KEY_OFFMOV KEY_BUF,P1;XRL A,KEY_BUF;JZ KEY_OFFMOV KEY_ST,#0FFHSJMP EXIT_KKEY_OFF:MOV KEY_ST,#0MOV KEY_BUF,P1EXIT_K: POP ACCRET;=========================================;****单字节十六进制整数转换成单字节BCD码整数****;入口条件:待转换的单字节十六进制整数在累加器A中。

基于单片机控制的电铃控制器的设计

基于单片机控制的电铃控制器的设计

单片机原理与应用技术课程设计报告(论文)基于单片机控制的电铃控制器的设计专业班级:姓名:时间:指导教师:基于单片机控制的电铃控制器课程设计任务书1.设计目的与要求设计出一个电铃控制器,准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)可以显示星期、时、分和秒。

(2)每天可设置20次,打铃持续时间每次1-90秒可调,每次打铃的间隔时间1-99分钟可调。

(3)内置蜂鸣器可以发出监控声音。

2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩在规定时间内,完成叙述并回答问题。

论文结构清晰,层次分明,理论严谨。

基于单片机控制的电铃控制器的设计电子132 方勋摘要:系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。

键盘采用独立连接式。

还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。

外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。

由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机STC89C52,它是低功耗、高性能的CMOS型8位单片机。

片内带有8KB的Flash存储器,且允许在系统内改写或用编程器编程。

另外, STC89C52的指令系统和引脚与8051完全兼容,片内有512B的RAM、32条I/O口线、3个16位定时计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)等。

在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。

基于单片机的教学打铃控制器设计

基于单片机的教学打铃控制器设计

基于单片机的教学打铃控制器设计随着社会的快速发展和教育的变革,学校的管理也越来越智能化。

其中,教学打铃系统尤其是一项必需的管理手段。

然而,在传统的打铃系统中,存在诸多问题,例如频繁出现的故障、安装和维护成本高昂以及难以满足不同场合的多样化需求等。

因此,基于单片机的教学打铃控制器应运而生,成为教学管理的重要工具。

基于单片机的教学打铃控制器是一种高效可靠、精度高、注册应用广泛的数字化打铃系统。

与传统打铃系统相比,它使用单片机作为核心控制器,实现程序控制,程序实时性好,可靠性高。

同时,该系统具有更多的功能,如定时功能、周计划功能、多语言查询等,能够满足各种不同的场合与需求。

该系统的硬件主要包括打铃控制器、时钟电路、显示器、键盘等部分。

打铃控制器采用单片机,通过输入、处理、输出的方式实现了控制信号的转换与传递。

时钟电路则可精确地控制打铃时间,增强了系统的稳定性。

显示器和键盘则起到人机交互的作用,在更方便且人性化的操作中发挥了至关重要的作用。

在软件方面,该控制器系统主要设计功能包括实时时钟、计时计划、语音提示、多级权限等。

实时时钟功能可根据自行设定的时间表档案精确设置铃声播放时间。

计时计划则可以通过统计不同的节次和课程时间来实现不同的课程的铃声控制。

在语音提示功能中,您可以将语音文件录入系统,并实现系统的语音提示功能。

多级权限功能可以有效地实现不同权限的用户对铃声的控制,从而避免了教学管理中出现的非法操作和误操作等。

在教学管理中,基于单片机的教学打铃控制器有着广泛的应用,特别是在学校、科研机构、实验室等场所。

其优越的性能和丰富的功能使其成为教学管理的不可或缺的一部分。

通过该系统,学校教育管理人员可以更好地实现对铃声的管理和控制,有效地提高学校的学习效率。

总之,基于单片机的教学打铃控制器是一种高效、精准且具备广泛应用前景的数字化打铃系统。

它的应用为学校教学管理提供了较好的解决方案,不仅便捷高效,而且成本低廉、维护简单。

基于单片机的电铃设计

基于单片机的电铃设计

目录摘要: (2)关键词 (2)一、绪论................................................................................................................... 错误!未定义书签。

二、总体方案设计 (8)2.1芯片比较 (8)2.1.1 单片机选型 (8)2.1.2 液晶显示模块的选择 (8)2.1.3 时钟芯片的选择 (10)2.1.4 语音芯片的选择 (11)2.2总体设计与系统原理 (13)三、硬件设计 (13)3.1、单片机部分 (13)3.1.1 STC89C52 (13)2.1.2单片机硬件资源分配 (16)3.2、液晶显示模块 (17)3.3、时钟芯片部分 (21)3.4、电源与复位电路部分 (24)3.4.1 电源部分 (24)2.4.2复位电路 (24)3.2、电铃和音乐芯片部分 (25)3.3、按键部分 (25)四、软件设计 (26)五、系统调试与仿真图 (29)5.1、软件调试 (29)5.2、系统调试 (21)5.3、仿真图 (30)六、总结................................................................................................................... 错误!未定义书签。

参考文献................................................................................................................... 错误!未定义书签。

单片机电铃系统设计摘要:基于目前广泛应用的传统电铃系统噪声大,声音刺耳,不支持在线编程,用户改变响铃时间复杂。

在此基础上,我采用STC89C52单片机设计了一套智能自动打铃系统,可控制外围器件的一种音乐电铃,可根据学校等单位的作息制度自动打铃,从而有效地解决上述问题,有很好的实用价值。

基于单片机的自动打铃器的设计毕业设计

基于单片机的自动打铃器的设计毕业设计

基于单片机的自动打铃器的设计毕业设计目录摘要 (I)Abstract (II)第一章绪论 (1)1.1单片机设计的目的和意义 (1)1.2单片机发展现状和前景展望 (1)1.2.1课题发展现状 (1)1.2.2课题前景展望 (2)1.3Protel 99 SE概述 (2)1.3.1Protel 99 SE的组成 (3)1.3.2Protel 99 SE的应用 (4)1.3.3电路板的设计步骤 (6)第二章单元模块的设计 (8)2.1电源模块 (8)2.2单片机最小系统模块 (8)2.3时钟模块 (9)2.4按键模块 (11)2.5显示模块 (12)2.5.1主要技术参数 (13)2.5.2引脚功能 (13)2.5.3基本操作时序 (14)2.5.4状态字说明 (14)2.5.5RAM地址映射图 (14)2.5.6指令说明 (15)2.5.7接口时序图 (16)2.6喇叭模块 (18)第三章系统软件设计 (19)3.1系统软件按键程序设计 (20)3.2系统软件打铃器时间设置设计 (21)第四章系统功能介绍及调试 (22)4.1打铃器功能简介 (22)4.2打铃器优点 (22)4.3打铃器缺点与不足 (22)4.4系统调试 (22)4.3.1硬件调试 (22)4.3.2软件调试 (23)结束语 (24)参考文献 (25)致谢 (26)附录 (27)附录1 (27)附录2 (41)基于单片机的自动打铃器的设计摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

本文首先概述了单片机电路的发展历史,单片机设计方法和工具的变革,单片机技术及发展,C语言硬件描述语言,Protel 99 se的应用,典型的单片机电路设计流程,然后详细地介绍了单片机自动打铃器与控制电路的完整的设计过程。

单片机设计电子打铃器

单片机设计电子打铃器

目录引言...........................................................................................................................................................................第一章设计简介及方案论述...................................................................................................................................第二章设计思路与方案...........................................................................................................................................2.1单片机总体设计思路............................................2.2各功能模块程序实现原理分析....................................2.3AT89C51单片机性能介绍.........................................第三章电子打铃系统硬件设计...............................................................................................................................3.1系统主要硬件电路 ..............................................3.3蜂鸣器驱动模块的硬件设计......................................第四章系统软件设计...............................................................................................................................................4.1系统软件设计的主要内容........................................4.2主程序流程设计 ................................................第五章系统调试与测试结果分析...........................................................................................................................5.1系统调试 ......................................................5.2调试现象及分析 ................................................5.3仿真结果 ......................................................第六章、心得体会...................................................................................................................................................参考文献:...............................................................................................................................................................附录:.......................................................................................................................................................................摘要本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显着地增加系统成本的情况下,可支持更多的LED数码管稳定显示。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计目录摘要 (1)引言 0第一章设计简介及方案论述 (1)第二章设计思路与方案 (1)2.1单片机总体设计思路 (1)2.2各功能模块程序实现原理分析 (2)2.3 AT89C51单片机性能介绍 (2)第三章电子打铃系统硬件设计 (4)3.1系统主要硬件电路 (4)3.3蜂鸣器驱动模块的硬件设计 (6)第四章系统软件设计 (7)4.1系统软件设计的主要内容 (7)4.2主程序流程设计 (7)第五章系统调试与测试结果分析 (9)5.1系统调试 (9)5.2调试现象及分析 (9)5.3仿真结果 (9)第六章、心得体会 (11)参考文献: (11)附录: (12)单片机课程设计摘要本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动,由三块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED 数码管稳定显示。

设计采用AT98C51单片机,使用5V电源供电,并且在按键的作用下可以进行调时,调分,复位功能。

计时数据的更新在计算机C语言的驱动下每秒自动进行一次,但不需程序干预其输出状态。

关键词:AT89C51;数码管; LED单片机课程设计引言本设计是根据我们所学习的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。

掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。

近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。

学习单片机的最有效的方法就是理论与实践并重,本文用AT89C51单片机设计的一个电子打铃系统。

第一章设计简介及方案论述1.1作息时间控制钟系统概述:本设计是一个具有打铃功能的作息时间控制钟。

它利用89C51单片机的2Hz时基计时,进行年历计算,并用的蜂鸣器驱动模块将它打出来;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。

由七段显示驱动模块、蜂鸣器驱动模块和按钮控制模块三部分组成,四个按键用于报时及校正时间。

现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。

本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。

1.2设计要求:①利用单片机组成一个电子打铃器。

②按照学校上下课铃声次序设定定时间③用一个蜂鸣器模拟电铃,响铃10s。

④周六周日不打铃⑤通过“周”“时”键和“分”键分别校正周、时和分,每按一次对应+1。

第二章设计思路与方案2.1单片机总体设计思路(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,LCD或LED的显示屏;(2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒;(3)在秒计数器的基础上设计一个24小时时钟,并设计若干定时功能;(4)设计打铃执行机构,完成自动打铃功能。

2.2各功能模块程序实现原理分析图2-1模块组成框图如图2-1所示,该模块由蜂鸣器驱动模块、蜂鸣器驱动模块和按钮控制模块三部分组成。

且三部分都通过AT89C51来实现。

○1七段式数码管驱动模块采用动态扫描方式,通过一组单片机端口驱动并联在一起的LED发光管的一端(共阴或共阳端),LED发光管的另一脚接通用I/O口,控制其亮灭。

该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。

○2.蜂鸣器驱动模块采用压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。

多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5-15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。

○3按钮控制模块四个按钮的一端分别接地,另一端接单片机一个端口的四个引脚,当某一个按钮按下的时候,其对应的引脚就由高电平变成低电平,然后通过单片机扫描读取引脚的电平来判断按钮是否按下。

2.3 AT89C51单片机性能介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

引脚说明:VCC:供电电压。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

89C51各部分引脚图如下:P1.0 1 40 VccP1.1 2 39 P0.0P1.2 3 38 P0.1P1.3 4 37 P0.2P1.4 5 36 P0.3P1.5 6 35 P0.4P1.6 7 34 P0.5P1.7 8 33 P0.6RST/Vpd 9 32 P0.7RXD P3.0 10 31 EA/VppTXD P3.1 11 30 ALE/-PINT0 P3.2 12 29 PSENINT1 P3.3 13 28 P2.7T0 P3.4 14 27 P2.6T1 P3.5 15 26 P2.5WR P3.6 16 25 P2.4RD P3.7 17 24 P2.3X2 18 23 P2.2X1 19 22 P2.1GND 20 21 P2.0图2-2 89C51引脚图RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

为使该模块化自动打铃系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。

硬件电路包括七段式数码管驱动模块、蜂鸣器驱动模块、按钮控制模块等三大模块。

第三章电子打铃系统硬件设计3.1系统主要硬件电路系统主要硬件电路作为驱动整个打铃系统的电路又分为七段数码显示电路和蜂鸣器驱动电路。

由显示七段数码显示电路和蜂鸣器驱动电路组成的系统硬件主要电路如下:图3-3:系统主要硬件电路该系统通过按钮控制(系统使用4只按键,3只按键用来调整时间,另一只为强制打铃按钮;调整选择键SET_KEY :P1.0通过选择键选择调整位,选中位闪烁;增加键ADD_KEY :P1.1按一次使选中位加1;减少键DEC_KEY :P1.2按一次使选中位减1;如果长按ADD_KEY 或DEC_KEY ,识别后则进行调时快进,此时停止闪烁)AT89C51的计时和定时,在七段数码管上显示出来(实现24小时制电子钟,8位数码管显示,显示时分秒),再通过蜂鸣器 (BEEP :P3.7)来实现打铃。

3.2七段式数码管驱动模块的硬件设计LED 数码管显示器内部有七个条形发光二极管和一个小圆点发光二极管组成,其结果图如下所示:图3-4:七段数码显示管因而它的控制原理和发光二极管的控制原理是相同的。

根据各管接线的形式,可分成共阴极型和共阳极型。

其八个接口对应的字形如下表:显示字形dp g f e d c b a 共阴极字型码共阳极字型码1111110x3F0xC0A B C D E F Gcom1 0 0 0 0 0 1 1 0 0x06 0xF92 0 1 0 1 1 0 1 1 0x5B 0xA43 0 1 0 0 1 1 1 1 0x4F 0xB04 0 1 1 0 0 1 1 0 0x66 0x995 0 1 1 0 1 1 0 1 0x6D 0x926 0 1 1 1 1 1 0 1 0x7D 0x827 0 0 0 0 0 1 1 1 0x07 0xF88 0 1 1 1 1 1 1 1 0x7F 0x809 0 1 1 0 1 1 1 1 0x6F 0x90A 0 1 1 1 0 1 1 1 0x77 0x88B 0 1 1 1 1 1 0 0 0x7C 0x83C 0 0 1 1 1 0 0 1 0x39 0xC6D 0 1 0 1 1 1 1 0 0x5E 0xA1E 0 1 1 1 1 0 0 1 0x79 0x86F 0 1 1 1 0 0 0 1 0x71 0x8E3.3蜂鸣器驱动模块的硬件设计本设计中的蜂鸣器驱动模块用到了蜂鸣器(SPEAKER)、三极管、100欧姆的电阻。

相关文档
最新文档