单片机课程设计51实验报告DOC
(完整word版)51单片机课程设计实验报告

51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机学习板2.要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会看电路原理图;(3)制作51单片机学习板;(4)学会使用Keil C软件下载调试程序;用调试程序将51单片机学习板调试成功。
二、总原理图及元器件清单1.总原理图2.元件清单三、模块电路分析1. 最小系统:单片机最小系统电路分为振荡电路和复位电路,振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;图 1 图 2复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可;图 3当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST为低电平。
正常工作为低电平,高电平复位。
2. 显示模块:分析发光二极管显示电路:图 4发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,产生自发辐射的荧光。
图中一共有五个发光二极管其中一个为电源指示灯,当学习板通电时会发光以指示状态。
其余四个为功能状态指示灯,实际作用与学习板有关分析数码管显示电路图 5数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
数码管主要用来显示经电路板处理后的程序的运行结果。
图中使用了八个八段数码管,可以显示八个0-15的数字。
使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。
【课程设计】51单片机课程设计报告(word档)

51单片机课程设计报告设计题目:专业班级学号学生姓名指导教师设计时间教师评分2012年6 月19 日目录1.概述 (2)1.1目的 (2)1.2课程设计的组成部分 (2)2.XXXX设计的内容及步骤 (2)2.1实验环境及其设备 (2)2.2实验原理图 (2)2.3主要芯片功能及其封装 2.4实验步骤 (3)2.4实验步骤 (8)2.4.1创建一个新项目 (8)2.4.2创建一个新的原理图图纸 (8)2.4.3将原理图图纸添加到项目中 (8)2.4.4绘制原理图 (8)2.4.5在原理图中放置元件 (8)2.4.6连接电路 (8)2.4.7网络与网络标签 (8)2.5设置项目选项 (9)2.6检查原理图的电气参数 (9)2.6.1设置错误报告 (9)2.7创建一个新的PCB 文件 (9)2.8将项目中的原理图信息发送到目标PCB (10)2.9布线 (10)2.10实验结论图 (11)3.总结 (11)3.1课程设计进行过程 (11)3.3体会收获及建议 (11)3.4参考资料(书、论文、网络资料) (12)4.教师评语 (12)5.成绩 (12)1.概述1.1目的1.熟悉Protel DXP的基本操作2.掌握用Protel DXP绘制原理图的基本方法3.掌握用Protel DXP整理PCB板的方法4.设计一个小型的单片机系统1.2课程设计的组成部分1.熟悉Protel DXP软件的基本操作及其基本功能;2.了解各个芯片的型号及其功能;3.在Protel DXP软件上绘制芯片图、芯片的封装及其布线;4.在Protel DXP软件上进行仿真测试;5.整理课程设计的实验报告。
2.XXXX设计的内容及步骤2.1实验环境及其设备Protel DXP软件、电脑一台2.2实验原理图2.3主要芯片功能及其封装1.74HC573封装:功能:做8位数据锁存器。
2.TR1402封装:功能:作为从控制器。
3.HEADER16封装:功能:作为接口插针。
单片机c语言程序设计---C51-交通灯实验报告

单片机c语言程序设计---C51-交通灯实验报告课程名称:单片机c语言设计实验类型:设计型实验实验项目名称: C51-交通灯实验一、实验目的和要求1.熟悉单片机的硬件结构及其工作原理2.掌握单片机的C51编程二、实验内容和原理(1)硬件设计使用P1端口连接VD1、VD2、VD3,模拟路口东面的红、黄、绿灯;P0端口连接VD9、VD10、VD11,模拟路口西面的红、黄、绿灯;P3端口连接VD17、VD18、VD19,模拟路口南面的红、黄、绿灯;P2端口连接VD25、VD26、VD27,模拟路口北面的红、黄、绿灯。
路口红绿灯的显示规律为:①南面和北面显示红灯(即VD17和VD25为红灯)时,东面和西面显示绿灯(即VD3和VD11为绿灯)。
②南面和北面,东面和西面都变成黄灯。
③南面和北面显示绿灯,东面和西面显示红灯④南面和北面,东面和西面都变成黄灯,然后再从①进行循环(需注意:此处设置的黄灯显示时长应短于红灯或绿灯的显示时长)(2)protues仿真通过Keil编译后,利用protues软件进行仿真。
在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
三、主要仪器设备四、操作方法与实验步骤1.按照硬件设计在protues上按照所给硬件设计绘制电路图。
2.在keil上进行编译后生成“xxx.hex”文件。
3.编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
五、实验结果与分析void S_N(void){VD1=0;VD9=0;VD19=0;VD27=0;Delay(1000);VD1=1;VD9=1;VD19=1;VD27=1;}int main (void) {while(1){E_W();NOT();S_N();NOT();}}六、讨论和心得。
51单片机课程设计报告

51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
51单片机实验报告

51单片机实验报告
实验目的:
本实验旨在让学生熟悉并掌握51单片机的基本知识和编程能力,进一步了解单片机的原理和应用。
实验内容:
本次实验主要包括以下几个内容:
1.熟悉51单片机的基本原理和结构;
2.学习51单片机的汇编语言编程;
3.使用51单片机进行简单的I/O控制;
4.学习串口通信的原理和编码。
实验步骤:
1. 配置开发环境:安装Keil C编译器和Proteus电路仿真软件;
2.学习汇编语言编程基础知识,包括寄存器的使用、指令的执行等;
3.编写第一个程序:实现将一个数字显示在数码管上;
4.学习I/O控制:通过按键来控制LED灯的亮灭;
5.学习串口通信:通过串口与计算机进行通信,实现数据的发送与接收。
实验结果:
在实验过程中,我成功编写了几个基本的程序,并在Proteus中进行
了仿真。
通过按键来控制LED灯的亮灭,也成功地使用串口进行了数据的
发送和接收。
通过实验,我更深入地理解了51单片机的工作原理和编程
方法。
实验总结:
通过本次实验,我对51单片机有了更深的理解,并掌握了一些基本
的编程技巧。
通过实际操作,我培养了自己的动手能力和问题解决能力。
作为一门基础课程,51单片机为我今后的学习打下了坚实的基础。
我相信,在今后的学习和实践中,我能够更加熟练地运用51单片机进行各种
应用和项目的设计。
该报告共计1200字。
参考资料:
[1]《单片机技术与应用》.吕春阳、吕立民、钱锋.电子工业出版社,2024年。
51单片机实验一实验报告

51单片机实验一实验报告实验报告班级:姓名:学号:组别:课程名称:单片机原理及应用实验室:实验时间:实验项目名称:实验一MCS-51单片机及其开发系统(仿真器)的认识一、实验目的:学习并掌握单片机仿真系统的操作方法,熟悉系统功能及用法。
(1) 了解MCS-51单片机开发常用工具。
(2) 了解仿真器构成、功能及连接。
(3) 掌握MCS-51开发软件(汇编器)安装、功能及基本操作。
(4) 掌握程序的编辑、汇编、运行(包括连续执行、单步执行和跟踪执行)。
(5) 掌握汇编语言指令与机器语言指令之间的对应关系。
(6) 掌握ORG、DATA、BIT等伪指令的作用。
(7) 掌握在仿真开发系统下浏览、修改特殊功能寄存器、内部RAM、外部RAM 单元的方法。
(8) 理解MCS-51单片机在复位期间及复位后有关引脚的状态、特殊功能寄存器的初值。
二、实验内容及原理:Mde单片机仿真系统的安装、设置、主要功能操作练习。
三、实验器材:Mde单片机仿真系统一套、PC机一台。
四、实验步骤及实验结果分析^p :一、程序输入练习:首先在Med下新建一项目,并新建一后缀名为asm的文件(汇编文件),并添加入项目中。
按规定的格式输入以上程序(只输程序部分)。
二、程序运行和控制:1.程序的编译、产生代码并装入: 输入程序完毕后,可在“项目管理”窗口中点击“编译/汇编”选项,如程序无输入错误、语法错误等,编译完成。
在消息窗口中,产生编译成功信息。
如有错误,则消息窗口中指出错误所在行及错误类型,请重新修改程序。
编译成功后,在“项目管理”窗口中点击“产生代码并装入”选项,对编译无误后产生的OBJ文件进行连接,并把代码装入仿真器。
代码装入仿真器后,即可实行仿真。
可在反汇编窗口中查看编译产生的机器码,并与上述程序中对照。
记录你认为能说明问题的检查结果。
2.程序的全速、断点、单步等执行方式: 为提高调试程序的运行速度,程序采用全速断点运行方式。
练习设置及取消设置程序断点。
51单片机实验报告

51单片机实验报告51单片机是一款非常流行的单片机芯片,被广泛应用于各种电子产品中。
在这篇文章中,我们来探讨一下51单片机的一些实验,以及对于这些实验的理解和体会。
第一部分:实验内容我们进行的51单片机实验主要包括以下几个方面:1. 闪烁LED灯实验:这个实验是入门级别的,主要是为了熟悉51单片机的基本操作和编程方法。
在这个实验中,我们使用了一块51单片机开发板和几个LED灯,通过控制单片机的IO口信号来实现LED灯的闪烁。
2. 按键控制LED实验:这个实验是在闪烁LED实验的基础上进一步延伸的,主要是为了了解如何通过外部按键来控制单片机的输出。
在这个实验中,我们运用了单片机的外部中断和定时器等功能,实现了按键控制LED灯的亮灭。
3. LCD1602显示屏实验:这个实验是为了让我们熟悉如何在51单片机中使用LCD1602液晶显示屏。
在这个实验中,我们使用了I2C总线来与LCD1602进行通信,通过向LCD1602发送命令和数据来实现字符的显示。
4. 电机驱动实验:这个实验是让我们了解如何使用51单片机来控制电机的运转。
在这个实验中,我们运用了单片机的PWM控制功能,通过改变PWM波的占空比来控制电机的转速和方向。
第二部分:实验体会通过这些实验,我对于51单片机有了更深刻的理解和体会。
在这里,我想分享一下我的一些体会。
首先,我认为51单片机具有非常强大的控制能力和灵活性。
通过编写程序,我们可以控制单片机的各种IO口、定时器、PWM输出等功能,从而实现各种复杂的控制任务。
同时,由于其能够直接操作硬件,所以可以快速响应各种外部事件,对实时性要求较高的应用场景有很好的适应性。
其次,我发现在51单片机开发中,良好的软硬件结合非常重要。
由于51单片机具有丰富的外部中断、定时器等功能,因此我们可以很好地利用这些硬件资源来实现各种功能。
同时,在编写程序时,我们也需要充分发挥51单片机的硬件优势,例如使用定时器来完成计时任务,使用外部中断来完成输入检测等等。
51单片机实验报告

51单片机实验报告
根据所提供的信息,我可以为您提供一个基本的51单片机实验报告的样例。
以下是一个可能的实验报告结构:
实验名称:51单片机的基本使用
实验目的:掌握51单片机的基本使用方法和功能。
实验器材:51单片机开发板、USB接口线、计算机、电源。
实验步骤:
1. 连接电源,将开发板与计算机连接。
2. 打开软件IDE,新建一个工程。
3. 在工程中编写代码,实现将LED灯进行亮灭交替的功能。
4. 将编写好的代码下载到51单片机开发板中。
5. 检查电路连接是否正确,确保没有问题。
6. 启动51单片机开发板,观察LED灯的亮灭情况。
7. 记录实验结果。
8. 关闭开发板和计算机。
实验结果:
通过编写的代码,成功地实现了LED灯的亮灭交替功能。
LED灯每隔一段时间亮起,然后又灭掉,不断循环。
实验分析:
实验结果表明,51单片机因其高性价比和广泛应用领域,可以使用简单的代码实现一些基本功能。
在这个实验中,我们使
用了51单片机的GPIO口控制LED灯的亮灭,通过不断循环的方式实现了交替闪烁的效果。
实验总结:
通过这次实验,我了解了51单片机的基本使用方法,学会了如何编写简单的代码来控制外部设备。
这对于我以后的学习和应用起到了很好的基础作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建工程学院软件学院题目:51开发洗衣机班级:物联网工程1202 成员:座号:04 28指导老师:日期:年月日课设报告目录1摘要 (1)2.设计需求 (1)2.1功能需求 (1)2.1.1 基本功能 (1)2.1.2扩展功能 (1)2.2 设计要求 (2)2.2.1 单片机芯片部件功能 (2)2.2.2 LCD数码显示管部件功能 (2)2.2.3 按键部件功能 (2)2.2.4 蜂鸣器部件功能 (2)3硬件设计及描述 (2)3.1总体描述 (2)3.2系统总体框图 (3)3.3Proteus电路图 (3)3.4各部分硬件介绍 (4)3.4.1晶振Protues仿真 (4)3.4.2LCDProtues仿真 (5)3.4.3 按键Protues仿真 (5)3.4.4上拉电阻Protues仿真 (6)3.4.5C51芯片Protues仿真 (6)3.4.6上电复位电路Protues仿真 (8)3.4.7蜂鸣器Protues仿真 (9)4 软件设计流程及描述 (10)4.1程序流程图 (10)4.2函数模块及功能 (10)5功能实现 (11)5.1程序烧入上电调试 (11)5.2时间递增跳变 (12)5.3比分更变 (13)5.4比赛得分复位 (14)5.5比赛时间复位 (14)6 心得体会 (15)7源程序代码: (16)1摘要是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。
在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。
赛程计时用倒计时来计时。
在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。
这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。
本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。
2.设计需求2.1功能需求2.1.1 基本功能(1)屏上显示比赛已运行时间(2)屏上显示A队和B队的得分(3)屏上显示上下半场(H-L)(4)通过按键控制比分的增减2.1.2扩展功能(1)按键实现比赛场次的更换(2)按键实现比赛计时的复位(3)按键实现比赛比分的复位(4)在比赛结束时,蜂鸣器在主裁判的控制下响起2.2 设计要求2.2.1 单片机芯片部件功能在实验开发板上,根据功能需求,设定了控制模块由AT89C51单片机为主控制核心芯片,是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,具有在线编程功能,低功耗,能在5V超低压工作,选用12MHZ 的晶振,使得单片机有合理的运行速度;输入模块由按键控制,选定比赛的节次,加分,比赛的暂停;输出模块由两位LED显示当前洗涤剩余时间。
2.2.2 LED显示管部件功能共阴七段数码管通过80C51的P0口控制其相应显示的值,用除10取余和取整分别给时-分-秒赋值。
2.2.3 按键部件功能该实验设计只用矩阵键盘,在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图2-2-1所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,图2-2-1 按键2.2.4 蜂鸣器部件功能蜂鸣器是一种可以把电信号转换成声音信号的一种装置,可以在嵌入式的小型单片机系统中作用,自制音乐之类的,其主要的原理是在待测物体超过常规数值的时候会有电流作用于部件上,通过放大电路将电流放大从而将其转换作用在震动器上,震动器发生震动从而产生了声响,实现蜂鸣功能。
3硬件设计及描述3.1总体描述1)设置LCD第一行用来记录赛程的时间2)设置LCD第二行用于显示比赛的得分情况3)设置按键功能控制LCD相应位显示时间与得分4)利用一个蜂鸣器用来作为比赛结束的警报。
3.2系统总体框图图3-3-1 系统整体Protues仿真图3.4各部分硬件介绍3.4.1晶振Protues仿真图3-4-1 晶振Protues仿真图晶体振荡电路用于产生单片机工作时所需的时钟信号,从而保证各部分工作的同步。
单片机内部有一个高增益反相反大器,只要在输入端XTAL1与输出XTAL2之间挂一个晶体振荡器和微调电容就可以构成一个稳定的自激震荡器并在单片机内部产生的时钟脉冲信号。
电容C1与C2用于稳定频率和快速起振。
3.4.2LCDProtues仿真图3-4-2 数码管Protues仿真图显示方式为动态显示是指依次轮流点亮显示器的各个位,每隔一段时间则点亮一次,设置足够短的时间,利用人的视觉暂停效应和发光二极管的熄灭时的余辉,达到多个字符同时显示的效果。
运行这种显示方式可以降低成本与功耗,但需要较大的驱动电流。
3.4.3 按键Protues仿真图3-4-3 按键Protues仿真图键盘中按键数量设置依系统操作要求而定。
单片机应用系统中的键盘有独立式和行列式两种。
独立式键盘中,每个按键占用一个I/O口线,每个按键相对独立。
行列式键盘用I/O口线组成行列结构,按键设置在交叉点上,在按键数目较多时运用这种连接方式,可节省I/O口连线。
行列式键盘的标识最常用的两种方法:行扫描法和线反转法。
本次实训采用矩阵键盘进行操作实现。
3.4.4上拉电阻Protues仿真图3-4-4 上拉电阻Protues仿真图排阻驱动,用以增加电流,一个脚接高电位VCC,其他脚接单片机I/o口。
3.4.5C51芯片Protues仿真图3-4-5 C51芯片Protues仿真图VCC:电源。
GND:接地。
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口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE 禁止,置位无效。
PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)3.4.6上电复位电路Protues仿真图3-4-6 上电复位电路Protues仿真图本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,开关直接与VCC相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC 对电容充电,充电电流在电阻上,开关依然为高电平,仍然是复位,充电完成后,电容相当于开路,开关为低电平,单片机芯片正常工作。
其中电阻R2决定了电容充电的时间,R2越大则充电时间长,复位信号从VCC回落到0V的时间也长。
3.4.7蜂鸣器Protues仿真图3-4-7 蜂鸣器Protues仿真图蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的。
但是单片机IO口输出的电流较小,增加电流放大的电路。
程序中通过改变单片机对应IO口输出波形的频率,产生各种不同音色、音调的声音。
可以有两种驱动方式,即用PNP或NPN三极管电流放大电路驱动。
本电路通过一个NPN 三极管来放大驱动蜂鸣器,基极连接R4,发射极E连接一个VCC,集电极C连接蜂鸣器后接地。
单片机在复位后的个I/O口是高电平,此时三极管是截止的,编写程序使选定的I/O为低电平,此时三极管导通,导通后蜂鸣器与电源正极连通,构成一个工作回路,从而发出滴滴的响声。
4 软件设计流程及描述4.1程序流程图主程序主要完成系统的初始化和按键的捕获,在按键没有按下时,调用显示子程序4.2函数模块及功能(1)函数开头用于定义数组,按键端口位置,定义时钟的初始显示时间值和定义程序中最核心的数组部分,为后续的程序实现奠定基础。
程序代码如下:(数组定义不再累述)#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit rs=P2^5; //1602数据/命令选择引脚sbit rw=P2^6; //1602读写引脚sbit en=P2^7; //1602使能引脚(2)void delay(uint del) //延时程序,用于del*1ms延时(3)void wcmd(uchar cmd) //写命令(4)void wdat(uchar dat) //写数据(5)void init() //初始化(6)void write_char(uchar hang,uchar lie,char sign) //写字符(7)void it0(void)interrupt 1 //定时器0中断定时器定义了EA 和ET0开中断,时钟每隔100ms跳变一次实现时间递增(8)void Trup() //定时中断(9)void display() //显示,包括了比赛运行时间与比分的显示(10)uchar Keyscan(void) //判断哪个键按下(11)void KEY() //键值的返回(12)void Outside_Init(void) //开中断(13)void play(uint d) //蜂鸣器(14)void main()//主程序5功能实现(以下调试过程均在联调中进行)5.1程序烧入上电调试图5-1-1 上电调试5.2时间递增跳变图5-1-2 用时015:10图5-1-3 用时113:065.3比分更变图5-1-4 比分05:00图5-1-5 比分05:075.4比赛得分复位图5-1-6 得分复位5.5比赛时间复位图5-1-7时间复位6 心得体会经过两周的课程设计,不断的测试与分析,最终完成了电子时钟的设计与制作。