tc蜂鸣器流水灯数码管显示作息时间控制单片机课程设计(2)

合集下载

蜂鸣器流水灯数码管显示作息时间控制单片机课程设计

蜂鸣器流水灯数码管显示作息时间控制单片机课程设计

一、课程设计目的《单片机原理及应用》课程设计是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。

在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生初步体验单片机应用系统的设计过程、设计要求、完成工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。

通过课程设计,应能加强学生如下能力的培训:(1)独立工作能力和创造力;(2)查阅图书资料,产品手册和各种工具书的能力;(3)工程绘图的能力;(4)编写技术报告和编制技术资料的能力(5)综合运用专业及基础知识,解决实际工程技术问题的能力;二、设计要求2.1总体要求(1) 独立完成设计任务(2) 绘制系统硬件总框图(3) 绘制系统原理电路图(4) 制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释;(5) 制定编写调试方案,编写用户操作使用说明书(6) 写出设计工作小结。

对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研修方向。

2.2 具体要求本次工程实践的校内部分主要以单片机为基础,进行单片机软件编程,目的是为了提高学生的软件编程和系统设计能力,整个设计系统包括两个部分,硬件及软件部分,硬件部分已经制作成功,学生只需要掌握其原理和焊接相应的元器件,掌握元器件的辨别和元器件的作用以及应用场所即可,另外对所焊接的电路还需要进行仔细的检查,判断是否有焊接错误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原因,并具备解决问题的能力,从而切实提高学生的硬件电子电路的分析、判断能力。

软件编程是本次工程实践的重要环节。

在为期两周的工程实践中,将占据主要时间,学生要完成的软件编程任务主要包括以下几点:1)、熟悉Keil C51编程平台及相关编程软件2)、编写、调试蜂鸣器、继电器动作、方波程序并进行软硬件联调3)、编写、调试LED流水灯(循环显示)程序并进行软硬件联调4)、编写、调试键盘扫描子程序并进行软硬件联调5)、编写、调试数码管动态扫描程序并进行软硬件联调6)、电子钟设计(包括键盘、时钟、显示等)7)、作息时间控制系统设计(包括键盘、显示、时钟、报警等)8)、智能交通灯控制系统设计9)、车速里程测量、显示设计三、设计内容及方法单片机原理及其应用课程设计通常选择一般常见、常用的简单应用装置或对象进行微机控制。

单片机实验蜂鸣器和流水

单片机实验蜂鸣器和流水
测量和控制各种物理量,如温 度、压力、流量等。
汽车电子
发动机控制、安全气囊、导航 系统等。
单片机的发展历程
01
02
03
起源
20世纪70年代,随着微处 理器技术的发展,单片机 逐渐问世。
发展阶段
经历了4位、8位、16位和 32位等不同位数的发展, 性能不断提升。
未来趋势
随着物联网、人工智能等 技术的兴起,单片机将更 加智能化、网络化。
2. 代码编写
使用C语言或汇编语言编写代码,控 制单片机依次点亮每个LED灯,形成 流水灯效果。
3. 编译与烧录
将编写好的代码编译后烧录到单片机 中。
4. 测试与验证
观察LED灯是否依次亮起,形成流水 灯效果,并检查是否有闪烁或亮度不 均等问题。
06 实验总结与思考
实验收获与体会
硬件连接理解
通过亲手连接单片机、蜂鸣 器和LED灯,我深入理解了 硬件电路的连接方式,掌握 了基本的硬件操作技能。
04 单片机实验开发环境与工 具
单片机开发板的选择与使用
选择单片机开发板时,需要考 虑其性能、功能、兼容性和易 用性。
开发板上通常集成了单片机、 电源电路、接口电路等,方便 开发者进行实验和开发。
使用单片机开发板时,需要按 照说明文档连接电源、接口等, 确保安全可靠。
编程语言的介绍与选择
01
单片机编程语言常用的 有C语言和汇编语言。
软件编程实践
编写单片机程序使我熟悉了 编程语言和逻辑,学会了如 何通过编程控制硬件。
问题解决能力
在实验过程中遇到问题,通 过查阅资料和尝试不同的解 决方案,提高了我的问题解 决能力。
团队协作精神
与同学共同完成实验,互相 帮助和学习,培养了团队协 作精神。

蜂鸣器与流水灯实验报告

蜂鸣器与流水灯实验报告

======================蜂鸣器与流水灯实验===================实验(一)蜂鸣器一、电路图二、程序注释1、频率、节拍常数的编码2、定时/计数器0中断赋初值,使计数器计满一次时时间为100ms。

同时没记一满次,n减13、毫秒的延时函数4、无参数返回值的延时函数5、主函数,用switch函数选择,当case为0x00时,延时一段时间再开始6、让i自加1,延时7、选择频率常数,选择m、n为第1个,第2个……第i个频率8、开定时器中断,延时4*m的时间等待节拍完成,当n不等于0时,将选出来的频率依次输出,实验(二)流水灯一、电路图二、程序注释①直接赋值控制亮灯法#include <reg52.h>sbit LED0=P1^0 ; //定义八个流水灯等为输出端口P1^0~P1^7 sbit LED1=P1^1 ;sbit LED2=P1^2 ;sbit LED3=P1^3 ;sbit LED4=P1^4 ;sbit LED5=P1^5 ;sbit LED6=P1^6 ;sbit LED7=P1^7 ;void delay(float t) //延时函数{ unsigned int i,j;j=t*100;while(j--){for(i=8000;i;i--);}}void main() //主函数{while(1){LED0=0; //亮第1个灯delay(0.1); //延时0.1sLED0=1; //熄灭LED1=0; //亮第2个灯delay(0.1);LED1=1;LED2=0; //亮第3个灯delay(0.1);LED2=1;LED3=0; //亮第4个灯delay(0.1);LED3=1;LED4=0; //亮第5个灯delay(0.1);LED4=1;LED5=0; //亮第6个灯delay(0.1);LED5=1;LED6=0; //亮第7个灯delay(0.1);LED6=1;LED7=0; //亮第8个灯delay(0.1);LED7=1;}}②循环左移法#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit p1=P1^0;uchar temp;void delay(uint); //延时函数声明void main() //主函数{temp=0xfe; //将0xfe赋给tempP1=temp; //P1值为temp,即11111110,第一个灯亮 while(1){temp=_crol_(temp,1); /*循环左移函数,每次向左移一位,使其第1,2,3……依次为0*/delay(100); //延时0.1sP1=temp; //将temp值赋给P1使}}void delay(uint z) //延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}。

单片机流水灯课程设计

单片机流水灯课程设计

单片机流水灯课程设计第一篇:单片机流水灯课程设计单片机原理及系统课程设计报告基于AT89C51单片机的流水灯引言1.1 课题简介单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用,例如精密的测量设备;在工业控制中的应用,用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等;在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

单片机在医用设备领域中的应用,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等;在各种大型电器中的模块化应用,如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。

本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。

《单片机应用技术》课程标准

《单片机应用技术》课程标准

《单片机应用技术》课程标准一、概述(一)课程性质单片机技术是现代电子工程领域一门飞速发展的技术,其在教学及产业界的技术推广仍然是当今科学技术发展的热点。

学习单片机并掌握其设计应用技术已经成为电子类学生必须掌握的一门技术,也是现代工科学生就业的一个基本条件。

《单片机应用技术》是应用电子技术、电气自动化等专业一门专业基础课,是我系重点建设课程之一。

它以模拟电子技术、数字电子技术、C语言等课程为基础。

后续课程是各专业课如:计算机控制、智能化仪器仪表、程控交换机等通信设备、数控机床、课程设计、毕业设计,一般都要应用到单片机系统的应用。

它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力。

单片机知识在电子类专业整个课程体系中处于承上启下的核心地位。

通过本课程的学习,使学生掌握单片机技术及其在工业控制、经济建设和日常生活中的应用,培养学生实践能力、创新能力和新产品设计开发能力,为将来从事电子电器新产品设计开发,电子产品的检测和维护等工作奠定坚实的基础,为学生将来在电子类专业领域进一步发展打下良好基础。

(二)课程基本理念本课程的设计突破了学科体系模式,打破了原来各学科体系的框架,将各学科的内容按“项目”进行整合。

本课程的“项目”以职业实践活动为主线,因而,它是跨学科的,且理论与实践一体化。

强调学生个人适应就业市场变化的需要。

因而,本课程的设计兼顾了企业和个人两者的需求,着眼于人的全面发展,以培养全面素质为基础,以提高综合职业能力为核心。

本课程包含了单片机应用技术的五个项目,每个项目均由若干个具体的典型工作任务组成,每个任务均将相关知识和实践(含实验)过程有机结合,力求体现“做中学”、“学中做”的教学理念;本课程内容的选择上降低理论重心,突出实际应用,注重培养学生的应用能力和解决问题的实际工作能力。

(三)课程设计思路突出三性:职业性、实践性和开放性。

即职业性:将单片机应用技术中符合电子专业高职类学生就业岗位需要的内容提取出来,使本课程的学习内容和环境与实际工作基本一致。

单片机流水灯课程设计

单片机流水灯课程设计

添加标题
添加标题
添加标题
添加标题
闪烁频率:测量流水灯每秒闪烁的 次数
稳定性:测试流水灯在长时间工作 下的稳定性,确保其不会因长时间 工作而损坏或失效
流水灯系统的可靠性测试
测试目的:验证流水灯系统的稳定性和可靠性 测试方法:使用不同的输入信号,观察流水灯的反应 测试内容:包括但不限于电源电压、电流、温度、湿度等环境因素 测试结果:记录流水灯在不同环境下的表现,分析其稳定性和可靠性
单片机的 特点:体 积小、功 耗低、可 靠性高、 编程简单 等
单片机的编程语言和开发环境
编程语言: C语言、 汇编语言 等
开发环境:
Keil
uVision、
IAR
Embedd
e
d
Workbe
nch等
编译工具: GCC、 AVR Studio等
仿真工具: Proteus、 Multisim 等
调试工具: J-Link、 ST-Link 等
Part Five
流水灯软件设计
单片机控制程序的编写
编写目的:实现流水灯的动态 效果
编程语言:C语言或汇编语言
程序结构:主程序、子程序、 中断服务程序等
程序功能:控制流水灯的亮灭、 速度、方向等
流水灯的程序流程图设计
初始化:设置流 水灯的初始状态
循环:循环执行 流水灯的显示过

判断:判断流水 灯的当前状态
流水灯的电路板布局和布线
电路板布局:根 据流水灯的功能 和需求,合理布 局各个元器件的 位置
布线原则:遵循 信号传输的优先 顺序,避免信号 干扰和串扰
布线技巧:采用 合理的布线方式, 如蛇形布线、星 形布线等,提高 信号传输速度和 稳定性

蜂鸣器单片机课程设计

蜂鸣器单片机课程设计

蜂鸣器单片机课程设计一、课程目标知识目标:1. 学生能够理解单片机的结构组成、工作原理及其在自动化控制中的应用。

2. 学生能够掌握蜂鸣器的工作原理,并运用编程知识实现对蜂鸣器的控制。

3. 学生能够了解并掌握相关的电子元器件知识,如电阻、电容、二极管等。

技能目标:1. 学生能够运用所学知识,设计并搭建简单的基于单片机的蜂鸣器控制系统。

2. 学生能够编写程序,实现对蜂鸣器音调、音量的控制,完成特定功能。

3. 学生能够通过实践操作,培养动手能力、问题解决能力和团队协作能力。

情感态度价值观目标:1. 学生能够培养对电子技术的兴趣,激发学习热情,形成自主学习、探索未知的良好习惯。

2. 学生能够认识到单片机在现实生活中的应用,理解科技发展对生活的改善,增强社会责任感。

3. 学生能够在团队协作中学会尊重他人,培养良好的沟通能力和团队精神。

分析课程性质、学生特点和教学要求,本课程旨在让学生在掌握单片机基本原理的基础上,通过实践操作,学会设计简单的蜂鸣器控制系统,培养实际操作能力。

课程目标分解为具体学习成果,为后续教学设计和评估提供依据。

二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理,重点讲解AT89C51单片机的内部结构、引脚功能及其指令系统。

相关教材章节:第一章 单片机概述、第二章 AT89C51单片机结构。

2. 蜂鸣器工作原理:讲解蜂鸣器的基本构造、工作原理,以及如何通过单片机控制蜂鸣器发出不同音调的声音。

相关教材章节:第三章 常用外围设备、第六章 单片机控制蜂鸣器。

3. 程序设计:教授如何编写C语言程序,实现对蜂鸣器音调、音量的控制,并完成特定功能。

相关教材章节:第四章 单片机C语言编程、第五章 单片机中断与定时器。

4. 电子元器件知识:介绍电阻、电容、二极管等常用电子元器件的原理及应用。

相关教材章节:第七章 常用电子元器件。

5. 实践操作:安排学生进行单片机控制蜂鸣器的实践操作,包括电路搭建、程序编写、调试与优化等。

单片机控制LED及蜂鸣器课程设计报告

单片机控制LED及蜂鸣器课程设计报告

武汉**大学单片机设计报告课程单片机课程设计设计题目 LED灯及蜂鸣器年级专业信息与计算科学09级学号学生姓名指导教师2012年 04 月 17 日设计题目:一、要求1.了解LED显示流水灯的原理。

2.能够在LED上显示和控制蜂鸣器的工作。

3.熟悉掌握keil软件的使用。

二、分析本设计使用AT89C52RC做为主控制模块,利用简单的外围电路来驱动LED蝴蝶。

设计分为三个模块:单片机控制模块,输出显示模块和驱动模块,单片机控制模块以单片机为核心,以软件KEIL编程实现信号输出,以驱动LED及蜂鸣器为目的。

三、设计1、硬件方面(1)、LED驱动模块图文显示有静态和动态两种方案,本设计中静动态都用到了。

动态扫描的意思简单的说就是轮流点亮。

具体就图案来说,把内部同行的发光管的阳极相连在一起,先送出对应行的发光管亮灭的数据并锁存,然后选通其它行使其燃亮相同的时间,然后熄灭。

反复循环。

蜂鸣器的控制则是加入三极管接在VCC,单片机的第20引脚和负极上,以此来控制蜂鸣器的工作。

(2)、硬件设计实验板上设计一个蝴蝶状的LED显示,可用于简单的图形图像。

蝴蝶的图案是由74个LED绿灯、8个红灯、10个黄灯拼接而成。

其中绿灯直接接到正负极上,黄灯和红灯接到单片机的P2口,来控制其闪动。

2、软件编程(包括流程图、完整的汇编源程序及其注释)1.电路图本软件要求实现如下要求:外圈绿灯亮度明亮,红灯和黄灯都不停地闪动,蜂鸣器自动播放歌曲。

电路图如下:2.主程序本设计的系统软件能使系统LED各点亮度均匀,充足,可显示清晰图案,并且闪动。

系统主程序开始后,首先是对系统环境初始化,包括设置串口,中断和端口;然后闪动红黄灯,由于单片机没有停机指令,所以可以设置系统程序不断循环。

3.序代码如下:#include <reg51.h>#include <rtx51tny.h>#include <absacc.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define DY_PORT P2 //设置LED连接的I/O组#define DY_SPEED 100 //设置每一个明亮级的停留时间(值域:0~65535)struct music_type{ uchar tone;uchar delay;};void delay (unsigned int a){ // 1ms延时程序unsigned int i;while( --a != 0){for(i = 0; i < 600; i++);//STC单片机在外部晶振为12MHz时i值上限为600} //AT89C51单片机在外部晶振为12MHz时i值上限为125}uint code tonetab[]={ //D调7声音阶3个8度63967,64138,64291,64360,64489,64603,64704, //低音1~764752,64837,64913,64948,65012,65070,65120, //中音1~765144,65186,65225,65242,65274,65303,65328 //高音1~7};//曲谱,每个音符两项数据:第1项为音高,第2项为节拍(以1/4拍为单位)struct music_type code notetab[]={ //”三十里铺”曲谱1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,4+7,0x04,5+7,0x02,1+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,4+7,0x03,4+7,0x01,3+7,0x02,2+7,0x02,1+7,0x03,2+7,0x01,5+7,0x02,2+7,0x02,1+7,0x08,1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,2+14,0x04,2+14,0x02,5+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,1+14,0x02,4+7,0x04,5+7,0x02,1+14,0x02,1+14,0x04,6+7,0x02,5+7,0x03,6+7,0x01,5+7,0x02,2+7,0x02,5+7,0x08,4+7,0x03,4+7,0x01,3+7,0x02,2+7,0x02,1+7,0x03,2+7,0x01,5+7,0x02,2+7,0x02,1+7,0x08,0,0x00};sbit P10=P1^0; //连接无源蜂鸣器/*sbit SDAT=P3^4; //连接显示数码的移位寄存器sbit SCLK=P3^5;*/volatile uchar tl1,th1; //存控制定时器1定时参数uint led=0x0001; //LED初始显示数据bit dir=0; //LED流水方向控制标志void T1_sev() interrupt 3 //定时器T1中断:控制蜂鸣器发声频率{ TL1=tl1; //重装定时数据TH1=th1;P10=!P10; //蜂鸣器驱动倒相}void INT1_serv() interrupt 2 //外中断1,改变LED流水方向标志{ dir=!dir; //流水方向控制标志改变}void init() _task_ 0 //任务0:初始化,激活任务1~3{ TMOD|=0x10; //系统硬件初始化ET1=1;IT1=1;EX1=1;os_create_task(1); //启动任务1~3/* os_create_task(2);*/os_create_task(3);os_delete_task(0); //自身撤退}void disled() _task_ 1 //任务1:16个LED流水显示{ unsigned int temp;unsigned int i;while(1){ temp=0xA0;for(i=0;i<8;i++){ //8个流水灯逐个闪动DY_PORT=~temp;delay(DY_SPEED); //调用延时函数temp<<=1;}temp=0xA7;for(i=0;i<8;i++){ //8个流水灯反向逐个闪动DY_PORT=~temp;delay(DY_SPEED); //调用延时函数temp>>=1;}temp=0xA0;for(i=0;i<8;i++){ //8个流水灯依次全部点亮DY_PORT=temp;delay(DY_SPEED); //调用延时函数temp<<=1;}temp=0xA7;for(i=0;i<8;i++){ //8个流水灯依次反向全部点亮DY_PORT=temp;delay(DY_SPEED); //调用延时函数temp>>=1;}os_wait2(K_IVL,10); //控制LED流水显示的节奏}}void musicplay() _task_ 3 //任务3:蜂鸣器演奏”三十里铺”{ uchar i,j;while(1){ i=0;while(notetab[i].delay){ if(!notetab[i].tone) TR1=0; //音高数据为0else //音高数据不为0{ th1=TH1=tonetab[notetab[i].tone-1]/256; //用定时参数控制T1的振荡频率(音高)tl1=TL1=tonetab[notetab[i].tone-1]%256;TR1=1; //该音符发声}for(j=0;j<notetab[i].delay;j++) //控制音符的持续时间(节拍)os_wait2(K_IVL,20);i++; //拟换下个音符}TR1=0; //停奏os_wait2(K_IVL,100); //奏完1遍后的等待}}3、调试说明使用LEIL 软件编译调试代码,确保无误后下载到单片机里,硬件电路连接p2口LED的所有跳帽,下载生成的hex文件,即可看到LED屏幕上能够出现明亮的蝴蝶图案并且有歌曲的伴随。

单片机论文之流水灯及数码管控制解析

单片机论文之流水灯及数码管控制解析

单片机论文之流水灯及数码管控制解析用单片机控制流水灯及数码管目录课程设计目录 (1)课程设计摘要 (2)正文 (3)课程设计涉及的知识及所需平台 (3)元件介绍 (9)电路设计及分析 (12)程序设计 (14)调试运行 (21)设计心得 (23)参考文献 (24)一:课程设计摘要设计摘要设计要求:利用动态扫描和定时器1在数码管上显示出从765432开始以1/10秒的速度往下递减至765398并保持显示此数,与此同时利用定时器0以500MS的速度进行流水灯从上到下的移动,当数码管上的数减到停止时,流水灯也停止然后全部闪烁,3秒后(用T0定时)流水灯全部关闭,数码管上显示“HELLO”,到此保持住。

设计说明:数码管的动态显示是一种按位轮流点亮各位数码管的显示方式,即在某一时段,只让其中一位数码管的“位选端有效”,并送出相应的字型显示编码。

此时其他位的数码管因位选端无效而都处于熄灭状态;下一时段按顺序选通另外一位数码管,并送出相应的字型显示编码,按此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。

通过定时器可以控制单片机上的数码管以及流水灯的显示时间,从而达到设计的要求。

关键词:单片机,数码管,动态显示,流水灯,定时器设计目的以AT89C52单片机为核心,制作一个数码管和流水灯互相配合显示的器件。

巩固加深对AT89C52单片机的认识,学会用AT89C52设计最小系统,并由此拓展运用单片机实现其他功能的设计。

设计引言单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

单片机课程设计蜂鸣器

单片机课程设计蜂鸣器

单片机课程设计 蜂鸣器一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握蜂鸣器在单片机系统中的应用。

2. 使学生掌握蜂鸣器的电路连接和工作原理,能够运用编程实现蜂鸣器的控制。

3. 帮助学生掌握相关指令和程序设计方法,实现蜂鸣器的不同音调、音量及节奏的控制。

技能目标:1. 培养学生动手操作能力,能够独立完成蜂鸣器与单片机的连接和调试。

2. 提高学生的编程能力,使其能够设计出功能完善、结构清晰的蜂鸣器控制程序。

3. 培养学生的问题分析和解决能力,能够针对实际需求,调整程序参数,实现不同功能。

情感态度价值观目标:1. 培养学生对单片机课程的兴趣和热情,激发学生主动探索和实践的精神。

2. 培养学生的团队合作意识,鼓励学生在课堂上积极交流、分享经验,共同进步。

3. 培养学生严谨、认真、负责的学习态度,使其在课程学习过程中养成良好的学习习惯。

课程性质分析:本课程为单片机课程设计,以实践操作为主,注重理论联系实际,提高学生的动手能力和创新能力。

学生特点分析:学生处于高年级阶段,已具备一定的单片机基础知识和编程能力,对实践操作有较高的兴趣。

教学要求:结合课程性质和学生特点,明确课程目标,注重理论与实践相结合,充分调动学生的积极性和主动性,培养其独立思考和解决问题的能力。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高其综合素质。

二、教学内容1. 理论知识:- 单片机原理概述,重点掌握其内部结构、工作原理及指令系统。

- 蜂鸣器工作原理,包括蜂鸣器的种类、电路连接方式及声音产生机制。

- 编程语言基础,复习C语言基本语法,强调其在单片机编程中的应用。

2. 实践操作:- 蜂鸣器与单片机的硬件连接,学会使用面包板进行电路搭建。

- 编写蜂鸣器控制程序,实现不同音调、音量和节奏的控制。

- 调试程序,学会使用调试工具,分析并解决程序运行过程中可能出现的问题。

3. 教学大纲:- 第一周:单片机原理复习及蜂鸣器工作原理学习。

单片机流水灯课程设计

单片机流水灯课程设计

单片机流水灯课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理和结构,掌握流水灯的设计方法。

2. 学生能描述流水灯程序的设计流程,包括电路连接、编程语言及指令的运用。

3. 学生了解并能够解释流水灯中涉及的电子元件功能,如电阻、电容、LED 等。

技能目标:1. 学生能够独立完成流水灯电路图的绘制,并正确搭建电路。

2. 学生能够运用指定的编程软件,编写并调试出流水灯的程序代码。

3. 学生通过动手实践,提高问题解决能力和团队协作能力。

情感态度价值观目标:1. 学生通过完成流水灯的制作,培养对电子制作的兴趣,激发创新精神。

2. 学生在团队合作中学会相互尊重、倾听意见,培养良好的沟通能力和团队意识。

3. 学生能够意识到科技在生活中的应用,增强实践是检验真理的唯一标准的认识。

课程性质:本课程为实践操作性强的电子技术课程,结合理论知识与动手实践,培养学生对单片机应用的基本技能。

学生特点:假设学生为八年级,已具备基本的物理知识和逻辑思维能力,对电子制作有好奇心,动手能力强。

教学要求:教师应注重理论与实践相结合,鼓励学生动手实践,关注个体差异,提供个性化指导,确保学生在掌握知识技能的同时,培养积极的情感态度价值观。

通过具体的学习成果分解,后续教学设计和评估将更有针对性。

二、教学内容1. 理论知识:- 单片机基本原理与结构介绍,关联教材第3章。

- 流水灯电路设计原理,关联教材第4章。

- 编程语言基础及指令运用,关联教材第5章。

2. 实践操作:- 电路图绘制,关联教材第6章。

- 流水灯电路搭建,包括元件识别、电路连接,关联教材第7章。

- 程序编写与调试,关联教材第8章。

3. 教学大纲安排:- 第一课时:介绍单片机基本原理与结构,让学生了解流水灯项目背景。

- 第二课时:讲解流水灯电路设计原理,进行电路图绘制练习。

- 第三课时:学习编程语言基础及指令运用,为学生编写程序打下基础。

- 第四课时:分组进行流水灯电路搭建,并进行程序编写与调试。

单片机课程设计流水灯

单片机课程设计流水灯

单片机课程设计流水灯一、课程目标知识目标:1. 理解单片机的基本原理和功能,掌握流水灯的设计方法;2. 学会使用特定编程语言(如C语言)编写单片机程序,实现流水灯效果;3. 了解单片机在现实生活中的应用,培养学生对电子科技的兴趣。

技能目标:1. 能够运用所学知识,独立设计并搭建简单的流水灯电路;2. 掌握单片机编程技巧,具备调试程序的能力;3. 培养学生动手实践、解决问题的能力,提高创新思维和团队协作能力。

情感态度价值观目标:1. 培养学生对单片机课程的兴趣,激发学习热情,形成主动学习的习惯;2. 培养学生面对挑战时,勇于尝试、不断调整的心态,增强自信心;3. 培养学生关注科技发展,认识到单片机在科技领域的广泛应用,树立为国家科技事业做贡献的远大志向。

课程性质:本课程为实践性较强的课程,要求学生结合理论知识,动手实践,实现具体的项目。

学生特点:本课程针对初中或高中年级学生,他们对单片机有一定了解,具备基本的编程知识,喜欢动手实践。

教学要求:教师应注重理论与实践相结合,关注学生个体差异,提供个性化指导,确保学生能够完成课程目标。

同时,注重培养学生的团队协作能力和创新思维,提高学生的综合素质。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 理论知识:a. 单片机原理与结构:讲解单片机的内部组成、工作原理及性能特点;b. 编程语言基础:回顾C语言基础知识,强调在单片机编程中的应用;c. 流水灯原理:介绍流水灯的工作原理,分析其电路设计和程序设计要点。

2. 实践操作:a. 电路搭建:指导学生搭建流水灯电路,熟悉各种电子元器件的使用;b. 程序编写:教授学生编写流水灯程序,掌握程序调试方法;c. 项目实施:引导学生将理论知识应用于实践,独立完成流水灯项目。

3. 教学大纲:第一课时:单片机原理与结构介绍,C语言基础知识回顾;第二课时:流水灯原理讲解,电路设计和程序设计要点分析;第三课时:电路搭建及元器件使用方法教学;第四课时:程序编写及调试方法教学;第五课时:项目实践,学生独立完成流水灯项目。

单片机作息时间控制器课程设计报告书

单片机作息时间控制器课程设计报告书

课程设计课程名称微机原理与应用学科名称SCM 作息时间控制器课程设计作业书课程名称微机原理与应用主题微控制器作息时间控制器,目录第 1 章引言 (7)1.1 简介及技术要求 (7)1.2 时序方案 (7)1.3 键盘/显示方案 (7)第二章硬件设计............................................................ 8 2.1 电路原理图 (8)2.2 系统工作流程 (9)2.3 系统使用说明 (10)第三章系统软件设计 (10)3.1 软件设计 (10)3.2 系统工作流程 (11)第4章程序模块设计。

(15)4.1 主程序模块 (16)4.2 定时中断服务程序模块 (18)4.3 扫描显示模块 (22)4.4 按键扫描子程序 (23)4.5 键值处理子程序……………………………………………………274.6 Shift键处理模块……………………………………………………30第五章调试与分析 (32)第 6 章课程总结 (33)参考 (34)附录 (35)第一章简介因为单片机种类多,模型复杂,我们学习起来也比较困难,所以对于MCS-51系列的产品来说,就是一种典型的学习方式。

对于类似于组装的MCU编程过程来说,这也是一个非常有趣的过程。

为了更好的说明,我先从应用电路入手,介绍它们的使用方法,以便我快速掌握它们的应用。

1.1 简介及技术要求校园作息时间控制系统主要用于学校,以24小时为周期自动控制一些开关量。

如钟声和扩音设备的开合,教学楼照明的定时开合,学生宿舍灯和校园路灯的定时开关的控制。

技术要求如下:(1)计时准确,月误差<=10%。

(2)有显示和上课时间功能。

(3)具有时间到时响铃的功能。

1.2 时序方案采用软件控制,利用MCS-51系列单片机的定时器/计数器进行数年计时,配合软件延时实现时分秒计时。

该方案节省了硬件成本,可以使读者锻炼和提高定时器/计数器的使用、年份和编程,因此本系统将采用软件的方式来实现计时。

LED流水灯显示实验,单片机实验报告(2页)

LED流水灯显示实验,单片机实验报告(2页)

LED流水灯显示实验,单片机实验报告(2页)第第PAGE 1 页LED流水灯显示实验,单片机实验报告D LED 流水灯显示实验单片机实验报告一.实验目的1.熟悉单片机I/O 口的功能。

2.熟悉延时子程序的编写和使用。

3.初步熟悉单片机软硬件设计方法。

二.实验仪器计算机、Keil 编程环境、普中下载软件、单片机开发实验仪。

三.实验原理与内容P0 口做输出口,引脚接一只发光二极管,编写程序,使该发光二极管循环亮灭。

1. LED 流水灯显示2. 开幕和闭幕显示四. 实验线路及原理五. 注意事项1.安装实验仪时,先接通讯串口线,再开电源开关。

2.实验过程中,在进行接插线操作时,必须先关闭电源。

六六. 实验步骤1、主机连线说明:JP10 单片机0 P0 口(8 8 位)J12 74HC245( 数码管段选) ) 2. 短路块J21 P10VccJ21 七. 实验步骤1.打开Keil 编程软件编写程序,并进行汇编产生HEX 文件。

(1)流程图:(2)汇编程序ORG 0000H ; 初始地址0000H LJMP MAIN ; 跳转MAIN 主程序ORG 0100H ; 主程序MAIN 从从0100H 开始存放MAIN :MOV P0,#55H; 赋值P0 口0101 0101B CALL DELAY ; 调用延时子程序,延时MOV P0,#0AAH ; 赋值给P0 口1010 1010B CALL DELAY ; 调用延时子程序,延时SJMP main ; 跳转main 主程序DELAY: MOV R6,#200 ; 延时子程序,R6=200 dey2: MOV R7,#0 ;R7=0 DEY1: NOP ; 空指令DJNZ R7,DEY1;R7≠0 跳转DEY1 DJNZ R6,DEY2;R6≠0 跳转DEY2 RET ; 返回主程序END ; 结束点击普中下载软件,检查设置是否正确。

2.运行程序看结果。

反复修改和下载。

单片机课程设计-作息时间控制器

单片机课程设计-作息时间控制器

河南理工大学—电子设计综合训练报告作息时间控制器姓名:学号:专业班级:指导老师:所在学院:2010 年7 月2 日本设计是作息时间控制器,由单片机最小系统、按键模块、数码管显示模块、闹钟模块组成。

采用单片机AT89S52与12MHZ晶振相连;通过按键K1、K2、K3、K4控制时间的校正、闹钟时间设定;数码管显示模块用来显示时间,显示格式为“时分”,并能够根据需要显示年、月、日,由数码管小数点闪动作为秒计数;闹钟模块进行到时提醒并作出相应动作:发光二极管闪亮,同时播放音乐。

本设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0 定时器溢出中断来实现,工作在T1 方式下,定时50 微妙,则连续中断20 次即为一秒,得到了我们所需时间的最小单位秒,60 秒为一分,60 分为一小时,24 小时为一天,1、3、5、7、8、10、12 月为31 天,4、6、9、11 月为30 天,闰年二月为29 天,非闰年二月为28 天,12 个月为一年。

采用这种时间设计思想来进行时间设置。

在整个系统的设计中,单片机的P0 口输出显示信号,P1 口按键输入控制、P2 口用来扫描,为动态显示、P3 口闹钟模块。

该设计用C51 编写程序,由于汇编语言的移植性比较差,而C 语言则比较灵活。

许多子函数都可以直接移植过去。

摘要 (1)目录 (2)1概述 (1)1.151 单片机简介 (1)1.2设计要求及功能 (1)1.3本设计实现的功能 (1)2系统总体方案及硬件设计 (2)2.1系统总体方案框图 (2)2.2按键控制模块 (3)2.3时间显示模块 (4)2.4闹钟模块 (4)3软件设计 (5)3.1系统软件设计思想 (5)3.2系统主程序 (5)3.3中断子程序 (6)3.4按键扫描子程序 (8)4Proteus 软件仿真 (9)4.1Proteus 软件简介 (9)4.2Proteus 软件仿真 (9)5课程设计体会 (13)参考文献: (14)附1:源程序代码 (15)附2:系统原理图 (25)1 概述1.1 51 单片机简介单片微型计算机简称单片机,即把组成微型计算机的各个功能部件,如中央处理器、随机存储器、只读存储器、I/O接口电路、定时器/计数器以及串行通信接口等集成在一块芯片上,构成一个完整的微型计算机。

单片机原理及应用A实验-流水灯、蜂鸣器、独立按键

单片机原理及应用A实验-流水灯、蜂鸣器、独立按键

流水灯、蜂鸣器、独立按键一、实验目的1、学习实验系统的基本操作,了解在实验系统中进行程序设计、仿真和调试的操作方法和步骤;2、了解单片机的基本输入、输出功能;3、熟悉Proteus的基本仿真功能;二、实验原理1、LED流水灯的原理即为单个控制LED的亮灭、亮灭,让单个LED灯先亮然后很快灭掉,并在很短的时间里使下一个LED重复这一过程。

这样让一排LED灯依次亮灭后即形成流水灯的效果。

2、在本次实验中把蜂鸣器用扬声器替代,通过控制扬声器工作时间来控制扬声器的发音频率。

3、按键是机械装置,在其闭合的时候会产生震荡,这会让软件产生误判。

为了消除这种影响,就需要对按键进行软件消抖。

消抖原理为两次判断,只要相隔一段时间的两次判断皆为按键已按下,那么这次的判断结果就是可信的,所以用到延时函数。

三、实验步骤;1、硬件仿真。

先分析实验所需的硬件条件,然后在Proteus上连接好硬件电路,注意连接好必要的电阻等。

2、软件编写。

在Keil或其它的单片机编程软件上用C语言编写出构思好的软件。

3、将程序编译为HEX文件,然后烧录到仿真单片机中,进行仿真。

四、实验结果及分析1、LED流水灯的硬件仿真电路图:实验中加入了循环处理,所以该流水灯可以顺着亮一遍再逆着亮一遍,如此反复。

并且改变流水灯亮灭的时间间隔还可以得到各种不同的效果。

2、蜂鸣器驱动的硬件仿真电路图:这里用扬声器代替蜂鸣器。

以单片机产生的一方波脉冲作为扬声器的电信号输入,用不同频率的方波信号产生不同音调的声音。

3、;4、独立按键延时去抖的硬件仿真电路图:用一个按键控制LED灯的亮灭,在软件中对按键进行消抖。

五、体会这一次的单片机实验让我感到自己对Proteus的运用还欠缺许多,基本可以说是一窍不通。

所以,这次实验以后还要花大量的时间在Proteus的学习上,希望可以从中学习到很多的东西。

还有在编程方面,很多的编程思想都还不成熟,想到的方法都有很多欠缺的地方,和书上所给的例子差距还很大。

单片机流水灯课程设计

单片机流水灯课程设计

单片机流水灯课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,了解流水灯的制作流程。

2. 使学生掌握C语言编程的基本方法,并能够运用到单片机编程中。

3. 帮助学生理解并运用数字电路基础知识,实现流水灯的功能。

技能目标:1. 培养学生动手操作能力,能够独立完成流水灯电路的搭建和程序编写。

2. 培养学生问题解决能力,能够分析和解决流水灯制作过程中遇到的问题。

3. 提高学生的团队协作能力,学会在小组内共同完成任务。

情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新精神和实践能力。

2. 培养学生严谨、细心的学习态度,养成认真检查、反复验证的好习惯。

3. 增强学生的自信心,培养面对困难和挑战时的积极心态。

本课程针对中学生设计,注重理论知识与实践操作的相结合,旨在提高学生的动手能力、编程技能和团队协作能力。

课程要求学生在掌握基本原理的基础上,能够独立完成流水灯的制作,并通过实际操作,培养学生的创新意识和实际操作能力。

课程目标具体、可衡量,便于教师进行教学设计和评估。

二、教学内容1. 单片机基础知识:介绍单片机的结构、工作原理,引导学生了解51单片机的特点和应用领域。

2. C语言编程基础:复习C语言基础知识,重点讲解与单片机编程相关的数据类型、运算符、控制语句等。

3. 流水灯原理与设计:讲解流水灯的工作原理,分析电路设计,使学生了解并掌握数字电路基础知识。

4. 单片机编程实践:教授流水灯程序编写方法,引导学生运用所学的C语言知识,编写并调试程序。

5. 流水灯电路搭建:指导学生动手搭建流水灯电路,培养学生实际操作能力。

6. 程序下载与调试:介绍程序下载到单片机的方法,教授调试技巧,帮助学生解决实际问题。

教学内容依据课程目标,紧密结合教材,分为理论教学和实践操作两部分。

理论部分主要包括单片机基础知识、C语言编程基础和流水灯原理;实践部分主要包括单片机编程实践、流水灯电路搭建和程序下载调试。

单片机课程设计作息时间控制器设计报告

单片机课程设计作息时间控制器设计报告

单片机课程设计作息时间控制器设计报告XX大学单片机课程设计报告作息时间控制器设计姓名:学号:专业班级:自动化班指导老师:所在学院:电气工程与自动化学院2022年X月X日摘要本设计是作息时间控制器的设计,由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子作息时间控制器。

该功能的实现主要通过软件编程来完成,降低了硬件电路的复杂性,成本也有所降低。

设计内容包括了秒信号指示、时间“时”和“分”显示电路、按键调整电路、供电电源以及闹铃指示电路等几部分的设计。

采用四个开关来控制作息时间控制器的工作状态,分别为:K1、设置时间和闹钟的小时;K2、设置小时以及设置闹钟的开关;K3、设置分钟和闹钟的分钟;K4、设置完成退出。

当作息时间控制器达到课程设计的要求,在到达设定的定时时间时蜂鸣器便被控制立即发出声音,持续一分钟,而后按K4键退出显示闪烁状态,即恢复时钟状态。

显示采用的四位数码管电路,定时提示采用蜂鸣器发声指示。

本设计方案也可以经过改进作为实现定时控制系统的控制定时电路。

关键词:作息时间单片机显示定时目录1概述31.1课程设计的目的和意义31.2单片机课程设计的要求31.3作息时间控制器的设计要求32系统总体方案及硬件设计42.1系统总体设计42.2系统各个部分的电路设计53软件的设计83.1概述83.2主模块的设计83.3显示模块设计93.4时间设定模块设计93.5闹铃功能的实现104Proteus软件仿真124.1仿真结果124.2性能及误差分析145课程设计体会15参考文献15附1程序源代码16附2原理图261概述1.1课程设计的目的和意义综合利用所学单片机知识完成一个单片机应用系统设计并仿真、由硬件实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下良好基础。

1.2单片机课程设计的要求1、进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤;2、掌握单片机仿真软件Proteus的使用方法;3、掌握键盘和显示器在的单片机控制系统中的应用。

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

1 绪论1.1课程设计目的《单片机原理及应用》课程设计是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。

在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生初步体验单片机应用系统的设计过程、设计要求、完成工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。

通过课程设计,应能加强学生如下能力的培训:1、独立工作能力和创造力;2、查阅图书资料,产品手册和各种工具书的能力;3、工程绘图的能力;4、编写技术报告和编制技术资料的能力;5、综合运用专业及基础知识,解决实际工程技术问题的能力。

1.2 设计要求1.2.1总体要求(1) 独立完成设计任务(2) 绘制系统硬件总框图(3) 绘制系统原理电路图(4) 制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释;(5) 制定编写调试方案,编写用户操作使用说明书(6) 写出设计工作小结。

对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研修方向。

1.2.2 具体要求本次工程实践的校内部分主要以单片机为基础,进行单片机软件编程,目的是为了提高学生的软件编程和系统设计能力,整个设计系统包括两个部分,硬件及软件部分,硬件部分已经制作成功,学生只需要掌握其原理和焊接相应的元器件,掌握元器件的辨别和元器件的作用以及应用场所即可,另外对所焊接的电路还需要进行仔细的检查,判断是否有焊接错误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原因,并具备解决问题的能力,从而切实提高学生的硬件电子电路的分析、判断能力。

软件编程是本次工程实践的重要环节。

在为期两周的工程实践中,将占据主要时间,学生要完成的软件编程任务主要包括以下几点:(1)熟悉Keil C51编程平台及相关编程软件(2)编写、调试蜂鸣器、继电器动作、方波程序并进行软硬件联调(3)编写、调试LED流水灯(循环显示)程序并进行软硬件联调(4)编写、调试键盘扫描子程序并进行软硬件联调(5)编写、调试数码管动态扫描程序并进行软硬件联调(6)电子钟设计(包括键盘、时钟、显示等)(7)作息时间控制系统设计(包括键盘、显示、时钟、报警等)(8)智能交通灯控制系统设计(9)车速里程测量、显示设计1.3 设计内容及方法单片机原理及其应用课程设计通常选择一般常见、常用的简单应用装置或对象进行微机控制。

所涉及的系统可以实际制作,也可以实验室模拟,具体步骤和内容如下1.3.1设计准备认真研究设计任务书,明确设计要求、条件、内容、和步骤;通过阅读有关资料,了解设计对象;复习课程有关内容,熟悉有关单元电路的设计方法和设计步骤;搜集、分析、消化相关资料、软件等,掌握微型计算机应用系统软件的设计方法;准备好设计需要的图书、资料和工具;拟定设计计划等。

1.3.2功能设计及系统总体设计要求学生有创新精神和创新意识,分析所掌握的资料,了解设计对象的功能。

在充分考虑功能设计后,进行总体设计,以功能、结构为标,制定总体方案,规划硬、软件功能分配等;初步确定关键元器件地选择。

2 硬件电路总体设计2.1 硬件总框图硬件总框图如下图2.1所示图2.1 硬件总框图 原理说明:本电路以单片机A T89C52为主控电路,分别连接按键控制扫描模块、时钟模块、数码显示模块、LED 显示模块、扬声器模块。

首先,按键扫描模块的四个按键分别用来控制数码显示、LED 显示和扬声器工作,P0口用来控制其段选以显示相应的数值。

P1口控制数码管的位选,以显示相应的数值。

在其位选控制部分,采用了9012型的三极管,要求当P1口输出低电平时,位选成功,使得该位选的数码管亮,数码管显示时分通过按键1控制。

P2口作为输出口,用来控制LED 的亮灭,要使其亮只需要让P2.0-P2.7口保持低电平 就可以使8个灯亮起来。

同时通过P3.4端控制蜂鸣器发生,当P3.4输出低电平时候使蜂鸣器发出声音,按下按键3时使蜂鸣器发声。

最后通过按按键4实现作息时间控制的功能。

2.1.1 主控电路本次课程设计中主要是设计一个以作息时间控制为主的多功能控制系统。

该设计中我们主控电路部分采用了单片机AT89C52芯片来实现这些功能,AT89C52是一个低电压,高性能CMOS 的8位单片机,片内含8KB 的可反复擦写的Flash 只读程序存储器和256B 的随机存取数据存储器(RAM )。

其引脚如下2.2图所示:图2.2.AT89C52引脚图主控电路 按键控制扫描模块 DS1302实时时钟模数码管显示模块 LED 显示模块扬声器模块VCC:供电电压。

GND:接地。

P0口(P0.0-P0.7):P0口来控制数码管的段选,以显示相应的数值。

P1口 (P1.0-P1.7):P1口用来控制数码管的位选,以达到动态显示的效果。

P2口 (P2.0-P2.7):P2口来控制LED的亮灭。

P3口 (P3.0-P3.7):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(外部数据存储器读选通)。

XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。

RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。

VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源正负端。

P0~P3 为可编程通用I/O 脚,其功能用途由软件定义。

2.1.2 按键控制扫描模块按键用于控制数码显示、LED显示、扬声器等模块的工作。

通过扫描按键是否按下,来设定各模块的工作情况,使各模块可以在按键的控制下,有序地进行工作设计中使用单个按键实现单个功能,属于较为简单的控制方式.如图2.3所示图2.3 按键输入电路在多功能系统设计的实验中中我们使用四个按键分别与单片机的P1.4、P1.5、P1.6、P1.7相连,按键1控制数码管显示、按键2控制LED流水灯、按键3控制蜂鸣器发声,按键4控制作息时间。

通过按下相应的按键来处理相应的程序。

2.1.3 DS1302实时时钟模块如图DS1302模块图2.4 DS1302模块电路图如上图2.4所示DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。

DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。

DS1302与CPU的连接:实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。

只是选择晶振时,不同的晶振,误差也较大。

如下图2.5所示图2.5 Ds1302引脚图其中Vcc1为后备电源,VCC2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

X1和X2是振荡源,外接32.768kHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

I/O为串行数据输入输出端(双向),SCLK始终是输入端。

如图2所示DS1302 控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM 数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

在控制字指令输入后的下一个SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。

同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,利用单片机的外部中断来处理中断系统通过数码管显示出时间。

2.1.4 数码管显示模块设计中采用四位共阳极数码管,共阳极是指其公共端接正极,通过单片机AT89C52的P1口控制其位选,以达到动态显示的效果,再通过P0口,控制其段选以显示相应的数值。

在其位选控制部分,采用了一个9012型三极管,要求当P1口输出低电平时,位选成功。

如下图2.6所示图2.6 数码管显示电路硬件电路中,数码管显示的小时和分.小时通过按键2控制,分通过按键3控制。

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

①静态显示驱动:静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

②动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

相关文档
最新文档