单片机课程设计报告旗舰版

合集下载

单片机课程设计 报告

单片机课程设计 报告

《单片机应用设计报告》系别电子信息与电气工程系专业自动化班级 09 级 (1) 班姓名王杰王典老师储忠完成时间 2012年5月18日单片机原理及接口技术课程设计报告摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

MCS-51单片机是使用极为广泛的一款8位单片机,在此次实训中所用的单片机是美国Atmel公司生产的以8031为内核的AT89S52单片机。

实训分别以构建单片机最小系统版、74HC138流水灯、8255交通灯、8253方波、6N137光耦控制继电器等几个实验关键词:AT89S52 74HC138 8255A 8253 6N137 交通灯目录单片机原理及接口技术课程设计报告 (1)实验一构建单片机最小系统和实验环境熟悉 (3)1.1单片机的工作原理 (3)1.1.1单片机最小系统图 (3)1.1.2运算器简介 (4)1.1.3控制器简介 (5)1.1.4实验解析与总结 (7)实验二跑马灯实验及74HC138译码器 (7)2.1实验内容 (7)2.1.1实验原理 (8)2.1.2实验原理图 (8)2.1.3实验程序流程图 (9)2.1.4实验程序代码 (9)2.1.5完成后的效果图 (10)2.2实验总结 (10)实验三8255控制交通灯实验 (11)3.1实验内容 (11)3.1.3实验原理 (11)3.1.2实验原理电路图 (12)3.1.3程序流程图 (13)3.1.4实验程序代码 (13)3.1.5系统实现图 (15)3.2 8255A寻址原理 (15)3.3实验总结 (16)实验四8253方波实验 (17)4.1实验内容 (17)4.1.1实验原理图 (17)4.1.2实验原理电路图 (17)4.1.3程序流程图 (18)4.1.4程序流程代码 (19)4.1.4系统仿真 (20)4.2实验总结 (21)实训总结 (21)附录 (22)1 实验源程序 (22)2仿真系统电路原理图 (27)3硬件实物照片 (27)实验一构建单片机最小系统和实验环境熟悉1.1单片机的工作原理1.1.1单片机最小系统图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告一、设计目的本课程设计旨在通过对单片机的学习和实践,培养学生的嵌入式系统设计能力。

通过设计报告的撰写,学生需要整理和总结自己在课程设计中的工作,提高自己的表达和沟通能力。

二、设计背景随着科技的迅猛发展,嵌入式系统在各个领域得到广泛应用。

单片机作为嵌入式系统设计的重要组成部分,具有体积小、功耗低、可靠性高等优势,被广泛应用于家电、智能家居、汽车电子等领域。

因此,掌握单片机的基础原理和应用技巧对于工程师来说至关重要。

三、设计内容本次课程设计的主要内容为设计并实现一个简单的单片机应用系统。

具体要求如下:1. 选取一个合适的单片机型号,并给出详细的理由;2. 设计一个实际应用场景,如温度监测、电子琴等,要求具备一定的实际意义;3. 硬件方面,设计电路及相关外围电路,如传感器、显示器等;4. 软件方面,设计控制程序,实现所选应用场景的功能;5. 进行系统集成和调试,确保系统正常工作;6. 撰写设计报告,对设计过程和结果进行详细说明。

四、设计方案1. 单片机的选择在选择单片机时,需要考虑应用需求和成本因素。

根据本次设计的要求,我们选择了XX单片机,这款单片机具有性能稳定、易于编程和丰富的外围接口等特点,非常适合本次设计的需求。

2. 应用场景的设计本次设计的应用场景为温度监测系统。

随着人们对室内温度的要求越来越高,设计一个简单且准确的温度监测系统对于提高生活质量至关重要。

我们将使用温度传感器和数码显示器来实现温度的监测和显示功能。

3. 硬件设计在硬件设计方面,我们将按照以下步骤进行:a) 选择合适的温度传感器,将传感器与单片机进行连接;b) 设计电源电路和信号采集电路,确保传感器与单片机之间的正常通信;c) 设计数字显示电路,将单片机采集到的温度数值进行显示。

4. 软件设计软件设计主要包括编写单片机控制程序。

我们将按照以下步骤进行:a) 初始化单片机和相关外围设备,确保其正常工作;b) 采集传感器的温度数值,并进行数据处理;c) 控制数码显示器,将温度数值显示在屏幕上。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告设计名称:单片机电子时钟的设计班级:电信06级1班学号:200610320126姓名:王虎指导教师:杨加国一课程设计的目的单片计算机即单片微型计算机。

(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。

他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。

而51单片机是各单片机中最为典型和最有代表性的一种。

这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。

二、课程设计的具体要求:该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。

设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。

用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY (自己计算)。

形成定时时间为50ms。

用片内RAM的7BH单元对50ms计数,计20次产生秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。

然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。

显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。

在处理过程中加上了按键判断程序,能对按键处理三.MCS-51单片机系统简介40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。

⒈电源:⑴VCC - 芯片电源,接+5V;⑵VSS - 接地端;注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。

但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。

单片机课程设计报告 (2)

单片机课程设计报告 (2)

单片机课程设计报告1. 引言本文为单片机课程设计报告,主要介绍了课程设计的背景、目的、设计方案、实施过程以及结果分析和总结。

2. 背景单片机是嵌入式系统的核心部件,广泛应用于各个领域。

作为计算机科学与技术专业的学生,掌握单片机的基本原理和应用是必不可少的。

因此,本次课程设计旨在通过实践,加深对单片机的理解和应用能力。

3. 目的本次课程设计的目的是设计一个基于单片机的智能温度监控系统。

该系统能够实时监测环境温度,并通过显示屏展示当前温度值,并在温度超过设定阈值时发出警报。

4. 设计方案4.1 硬件设计本设计使用STC89C52单片机作为控制核心,配合温度传感器和液晶显示屏,实现温度监测和显示的功能。

温度传感器负责采集环境温度,将采集到的数据发送给单片机进行处理;液晶显示屏用于显示当前温度值和警报信息。

4.2 软件设计软件设计分为两个模块:温度采集和温度监控。

温度采集模块通过单片机的ADC接口获取温度传感器的模拟信号,将其转化为数字信号,并保存在单片机的内存中。

温度监控模块不断读取内存中的温度值,并与设定的阈值进行比较,如果温度超过阈值,则发出警报信号,同时在液晶显示屏上显示警报信息。

5. 实施过程5.1 硬件实施首先,根据设计方案的要求,将STC89C52单片机、温度传感器和液晶显示屏组装在一起,搭建出硬件平台。

接下来,使用面包板和杜邦线等连接元件,将各个模块按照设计方案进行连线。

最后,使用电源适配器给整个系统供电。

5.2 软件实施软件实施主要分为两个步骤:编写硬件控制程序和编写温度监控程序。

硬件控制程序主要负责初始化硬件设备和处理硬件输入输出;温度监控程序则负责实现温度采集和温度监控逻辑。

在编写硬件控制程序时,需要使用STC89C52的GPIO接口对传感器和显示屏进行控制。

在编写温度监控程序时,需要使用STC89C52的ADC接口进行温度采集,以及使用GPIO接口对警报信号和显示屏进行控制。

6. 结果分析和总结经过实施过程的努力,我们成功地完成了基于单片机的智能温度监控系统。

单片机课程设计报告模板

单片机课程设计报告模板

单片机技术及应用综合训练(设计报告)题目:姓名:学院:专业:班级:学号:指导教师:2014年5 月一、选题要求临床求助呼叫监护是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断和护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士,并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一。

呼叫系统的优劣直接关系到病员的安危,要求及时、准确、可靠、简便可行。

本呼叫系统基于Ateml89C52单片机,振荡电路的晶振采用12MHz,由控制核心AT89C52单片机、电源电路、振荡电路、复位电路、数码管解码芯片、病房选择和七段数码管等部分组成,系统框图如下:二、硬件电路设计工作原理为:电源电路为单片机以及其他模块提供5V电源。

晶振模块为单片机提供时钟标准,使系统各部分能协调工作。

复位电路模块为单片机系统提供复位功能。

单片机作为主控制器,根据输入信号对系统进行相应的控制。

病房一共为四个,从1号病房到4号病房病人的情况由重到轻,即1号病房的优先级最高,4号病房的优先级最低。

所以,当有两个病房一起呼叫时,优先级高的病房号显示;当低优先级的病房呼叫完毕后高优先级的病房呼叫,系统显示的号码改变;当优先级高的病房呼叫完毕后工作人员未复位的情况下,低优先级的病房呼叫无效。

另外,当有病房呼叫时蜂鸣器响直至复位。

此次设计的电路图如下:三、软件设计1、功能介绍:启动系统后,数码管显示0。

当有一个病人呼叫时,数码管显示相应病房号,同时蜂鸣器响起;当有多个病人同时呼叫时,数码管显示优先级高的病房号,同时蜂鸣器响起;当有一个病房呼叫后另一个病房呼叫,若后呼叫的病房优先级低,则数码管显示不变,若后呼叫的病房优先级高,则数码管显示后呼叫的病房号,两种情况下蜂鸣器都会叫,只是在有别的病房呼叫时有一点变音。

2、程序流程图:3、程序源代码:#include <reg51.h>#define uchar unsigned char sbit key4=P3^0;//定义按键位置sbit key3=P3^1;sbit key2=P3^2;sbit key1=P3^3;sbit reset=P3^4;//复位sbit BEEP=P1^7;//定义蜂鸣器端口uchar flag,i;void choice();void clean();void delay();void de();void ring();void main(){while(1){P3=0xff;reset=0;BEEP=0;flag=0;choice();delay();clean();}}void choice()//确定病人{ while(reset!=1&&flag==0) {if(key1==0){de();if(key1==0){P0=0X86;flag=1;}}else if(key2==0){de();if(key2==0&&key1!=0){P0=0Xdb;flag=1;}}else if(key3==0){de();if(key3==0&&key1!=0&&key2!=0){P0=0Xcf; flag=1;}}else if(key4==0){de();if(key4==0&&key1!=0&&key2!=0&&key3!=0){P0=0Xe6; flag=1;}}}}void clean() //RESET 为高的时候复位{if(reset==1){BEEP=0;P0=0x3f;}}void delay() //RESET为低的时候延时{while(!reset){ring();}}void ring(){for(i=0;reset==0;i++)//喇叭发声的时间循环{de();BEEP=!BEEP;if(key1==0||key2==0||key3==0)//第二次呼叫{if( P0==0X86)P0=0X86;else if(P0==0Xdb&&key1==0)P0=0X86;else if(P0==0Xcf&&key1==0)P0=0X86;else if(P0==0Xcf&&key1==1&&key2==0)P0=0Xdb;else if(P0==0Xe6&&key1==0)P0=0X86;else if(P0==0Xe6&&key1==1&&key2==0)P0=0Xdb;else if(P0==0Xe6&&key1==1&&key2==1&&key3==0)P0=0Xcf;}}}void de(){for(i=300;i>0;i--);}四、软硬件调试结果1、未通电:2、通电时:3、低优先级病房先呼叫:(蜂鸣器响)高优先级病房后呼叫:(蜂鸣器响)4、高优先级病房先呼叫:(蜂鸣器响)低优先级病房后呼叫:(蜂鸣器响)呼叫有效呼叫无效5、当有三个病房同时呼叫时:1号2号4号病房同时呼叫显示1五、总结本次实验程序参考网上,但下载时程序有误,经细心验证检查得已改正,这有助于我进一步对C语言的学习和掌握。

单片机课程设计报告模板

单片机课程设计报告模板

单片机课程设计报告模板单片机课程设计报告一、设计目的本次单片机课程设计旨在培养我们对单片机的基本认知和应用能力,通过对STC89C52单片机的学习和实践,提升我们的编程能力和创新思维,同时让我们深入了解单片机的工作原理和应用场景,为未来工作和学习打下坚实基础。

二、设计内容本次课程设计主要涵盖了单片机的基本原理、C语言编程以及电路设计。

我们以智能家居为例,设计了一个可以通过Wi-Fi连接到手机APP控制家电的智能开关系统。

1.单片机的选择我们选择STC89C52作为单片机的核心控制器,这是一款8位高性能单片机,拥有大容量闪存和SRAM存储器、多种定时器和计数器、16位定时器等重要功能,非常适合用于物联网控制和智能家居领域。

2.开发环境的搭建我们采用KEIL软件和PROTEUS电路仿真软件作为开发工具,为了让我们更加熟练地使用这两款软件,我们在课堂上进行了详细的讲解和实践操作,学习了单片机的汇编、C语言编程、调试和调试工具的使用。

3.电路设计为了实现智能家居的控制,我们需要搭建一个能够与单片机相互协作的电路。

我们选择了常见的继电器来控制家电设备的开和关。

具体的电路设计方案如下:①按键电路:在电路中加入按键触发模块,实现单片机中断、感应等功能。

②Wi-Fi WiFi模块:为了实现远程控制,我们使用了ESP8266模块和手机APP进行通讯。

③继电器模块:该模块内置独立的继电器驱动IC,设计电容保护电路和DIP开关控制当前继电器输出端口,保障免受电磁干扰和防止继电器共振。

4.软件设计本次课程设计的重点是编写单片机程序。

我们通过不断的实践和调试,成功编写了相应的程序,实现了以下功能:①通过Wi-Fi模块连接到手机APP,实现APP和单片机的通讯。

②实现对接ESP8266模块,并正确设置ESP8266模块的IP地址和端口号。

③通过单片机控制继电器模块,实现对家电的远程控制。

5.上位机程序设计上位机程序我们选择了Visual Studio C++作为开发工具,通过Socket编程实现了与单片机的通讯。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告单片机课程设计报告一、设计目的本次设计旨在通过对单片机的学习和实践,锻炼学生的综合能力和创新思维,提高学生对单片机工作原理的理解和应用能力。

二、设计内容本次设计以控制LED灯的闪烁为主题,在实现基本闪烁功能的基础上,加入了渐变效果和呼吸灯效果等功能。

三、设计过程1. 硬件设计:(1)准备材料:单片机主板、蓝色LED灯、电阻、杜邦线等;(2)连线:按照电路图将单片机与蓝色LED灯连接起来;(3)测试:使用万用表对电路进行测试,确保电路连接正常。

2. 软件设计:(1)编写主程序:在Keil C中编写主程序,设置LED灯闪烁的时间间隔;(2)编写闪烁函数:编写一个函数使LED灯在设定的时间间隔内闪烁;(3)编写渐变函数:利用PWM(脉冲宽度调制)技术,使LED灯的亮度逐渐增加或减小;(4)编写呼吸灯函数:利用PWM技术,使LED灯呼吸般变亮变暗;(5)调试程序:将程序下载到单片机主板上,通过调试工具进行调试,确保LED灯能按照设计要求正常闪烁、渐变和呼吸。

四、设计结果经过反复调试和修改,最终实现了LED灯的闪烁、渐变和呼吸灯等效果。

LED灯的闪烁时间可以通过修改程序中的参数进行调整,渐变和呼吸灯效果可以根据需求进行改动。

五、心得体会通过本次设计,我对单片机的原理和应用有了更深入的了解。

在实践中,我遇到了许多问题,比如电路连接错误、程序调试失败等,但通过钻研、查找资料和与同学、老师讨论,我逐渐解决了这些问题。

这个过程让我学会了不断尝试和学习,培养了我的耐心和解决问题的能力。

六、改进意见在进行本次设计时,由于时间和条件的限制,我只实现了LED灯的基本闪烁、渐变和呼吸灯效果,但这些功能在实际应用中已经比较常见。

如果有更多的时间和资源,我可以进一步完善程序,增加更多创新的功能,或是将LED灯与其他传感器结合,实现更复杂的控制。

总结:通过本次单片机课程设计,我不仅对单片机有了更深入的认识,也锻炼了实践能力和创新思维。

单片机原理及应用课程设计报告

单片机原理及应用课程设计报告
培养实践能力和创新思维
课程设计为学生提供了一个实践平台,学生可以在实践中锻炼动手能力,培养解决实际问题的能力,同时通过创新思 维,设计出具有特色的单片机应用系统。
促进理论与实践相结合
单片机原理及应用课程设计将理论知识与实践操作相结合,使学生能够更好地理解单片机的实际应用场 景,加深对理论知识的理解。
时间安排
共计8周,每周5天, 每天8小时。
04
单片机应用实践
单片机外围电路设计
电源电路
为单片机提供稳定的电源,确 保单片机正常工作。
时钟电路
为单片机提供稳定的时钟信号 ,保证程序正常运行。
复位电路
在单片机出现异常时,能够实 现自动复位或手动复位。
输入输出接口
实现单片机与外部设备的通信 和控制。
单片机程序编写与调试
单片机的编程语言和开发环境
单片机的编程语言主要有汇编语言和C语言。汇编语言是一种低级语言,直接控制硬件操作,但编程 难度较大;C语言是一种高级语言,具有可读性强、易于编程和维护等优点。
单片机的开发环境是指用于编写、编译、调试和烧录程序的软件环境。常用的单片机开发环境有Keil 、IAR、SDCC等。这些开发环境都支持汇编语言和C语言编程,提供了丰富的库函数和调试工具,方 便开发者进行单片机应用开发。
• 解决方案
检查数码管的位选信号和段选信号是否正确连接。
对未来学习和实践的建议与展望
深入学习
进一步研究单片机的内部结构和工作原理,掌握 更多高级功能和应用。
实践应用
将所学知识应用到实际项目中,提高解决实际问 题的能力。
持续学习
关注单片机技术的最新发展动态,保持学习的持 续性。
THANKS
感谢观看

单片机课程设计报告

单片机课程设计报告

单片机课程设计 报告一、课程目标知识目标:1. 学生能理解单片机的基本概念,掌握其工作原理及结构组成。

2. 学生能掌握单片机编程的基本语法,如指令系统、寄存器等。

3. 学生能了解并运用单片机在现实生活中的应用,如智能家居、机器人控制等。

技能目标:1. 学生具备使用开发板进行单片机程序编写、调试的能力。

2. 学生能通过小组合作,设计并实现简单的单片机控制系统,培养动手实践能力。

3. 学生能运用所学知识解决实际问题,具备一定的创新能力和问题解决能力。

情感态度价值观目标:1. 学生通过单片机课程学习,培养对电子技术的兴趣和热情,增强学习动力。

2. 学生在学习过程中,养成团队协作、沟通交流的良好习惯,增强集体荣誉感。

3. 学生了解单片机在我国科技发展中的重要性,培养国家使命感和社会责任感。

课程性质分析:本课程为单片机课程设计,旨在让学生通过实践操作,掌握单片机的基本原理和编程技术,提高解决实际问题的能力。

学生特点分析:本年级学生具备一定的电子技术基础知识,对单片机有一定了解,但编程能力和实践操作经验有限。

教学要求:1. 注重理论与实践相结合,强化学生的动手实践能力。

2. 采用项目驱动教学法,引导学生主动探究、解决问题。

3. 培养学生的团队协作能力,提高沟通表达水平。

4. 结合生活实际,激发学生学习兴趣,培养创新思维。

二、教学内容根据课程目标,本章节教学内容分为以下三个部分:1. 单片机基础理论- 理解单片机的概念、发展历程及应用领域。

- 掌握单片机的硬件结构、工作原理及性能指标。

- 学习单片机的指令系统、寄存器、I/O口编程等基本知识。

教学内容对应教材章节:第一章 单片机概述、第二章 单片机硬件结构及工作原理。

2. 单片机编程与调试- 学习单片机编程语言(如C语言、汇编语言)及开发环境。

- 掌握单片机程序编写、调试方法,了解程序下载、运行过程。

- 学习中断、定时器、串行通信等单片机功能模块的使用。

教学内容对应教材章节:第三章 单片机编程语言、第四章 单片机编程与调试。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告导言随着科技的不断进步和发展,单片机技术在各个领域中的应用日益广泛。

作为电子工程的重要组成部分,单片机课程的设计也具有重要意义。

本报告将分享我在单片机课程设计中的学习和实践经验,并对所设计的项目进行详细分析和讨论,以期对相关领域的学习者提供参考和启发。

一、课程设计背景介绍单片机课程设计是电子工程相关专业学生的必修课程之一。

它旨在培养学生的实际应用能力、创新思维和问题解决能力。

在本次设计中,我选择了一个智能家居控制系统作为课程设计的主题。

通过设计和实现该系统,我将掌握单片机的硬件连接和软件编程,并在实践中进一步理解和应用相关知识。

二、系统设计1. 系统概述智能家居控制系统是一种可以通过手机或者其他设备进行远程控制的家居系统。

该系统可以实现对家中电器、照明、安防等设备的远程控制和自动化管理。

通过单片机控制芯片、无线通信模块和相应的传感器,可以实现对家居环境的监测和控制。

2. 硬件设计系统硬件设计主要包括单片机控制芯片的选择、传感器的选用和连接、通信模块的设置等。

在本设计中,我选择了一款常用的单片机控制芯片,并添加了温湿度传感器、光照传感器和人体红外传感器。

通过这些传感器,系统可以实时监测室内温度、湿度、光强度以及人体动静情况,并根据设置的规则进行相应的控制。

3. 软件设计系统软件设计主要包括单片机的编程、手机APP的开发和服务器的搭建等。

在本设计中,我使用C语言编写了单片机的程序,并通过串口通信与传感器和通信模块进行数据交互。

同时,我还使用Android开发平台进行了手机APP的开发,用户可以通过APP与家居控制系统进行交互和控制。

为了实现远程控制和数据传输,我搭建了一台服务器,并编写了相应的脚本和接口。

三、系统实现和测试1. 硬件连接和调试在硬件设计完成后,我进行了各个部件的连接和调试。

通过仔细查阅硬件连接图和相应的接口说明,我按照规定的步骤进行了连接,并通过测试仪器对各个部件的工作状态进行了检查和调试。

《单片机课程设计》

《单片机课程设计》

《单片机原理及应用课程设计》报告——秒表设计专业:电子信息工程班级:姓名:学号:11201062指导教师:2014年5 月26 日(要求:正文部分一律用小四号字,宋体,1.5倍行距。

一级大标题靠左,加粗。

二级大标题靠左,不加粗。

)课程设计的内容如下:1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。

2.课程设计要求用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。

3.硬件设计3.1 设计思想该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。

定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。

其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。

3.2主要元器件介绍1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

2.累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。

(1) ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及工作方式。

2. 学生能掌握单片机编程的基本语法,具备编写简单程序的能力。

3. 学生能了解单片机在各种实际应用中的功能,如智能家居、机器人等。

技能目标:1. 学生能够运用所学知识,独立完成单片机的硬件连接与调试。

2. 学生能够运用编程软件,编写简单的单片机程序并进行烧录。

3. 学生能够通过小组合作,完成一个具有实际应用价值的单片机项目。

情感态度价值观目标:1. 学生培养对单片机及电子技术的兴趣,激发探索精神。

2. 学生通过课程学习,提高问题解决能力和团队协作能力。

3. 学生能够认识到单片机技术在实际应用中的价值,增强社会责任感和创新意识。

课程性质:本课程为实践性较强的学科,要求学生结合理论知识,动手实践,培养实际操作能力。

学生特点:六年级学生具备一定的逻辑思维能力,对新事物充满好奇,但需加强团队协作和问题解决能力的培养。

教学要求:注重理论与实践相结合,关注学生的个体差异,提高学生的动手能力和创新能力。

通过课程学习,使学生在知识、技能和情感态度价值观方面均取得明显成果。

教学设计和评估将围绕具体学习成果展开,确保课程目标的实现。

二、教学内容1. 单片机基础理论:包括单片机的基本原理、内部结构、工作方式等,对应教材第一章内容。

- 单片机的发展历程与分类- 单片机的内部结构与功能- 单片机的工作原理与指令系统2. 单片机编程语言:学习单片机编程的基本语法和编程技巧,对应教材第二章内容。

- 汇编语言的编写与烧录- C语言的编写与烧录- 常用编程指令的应用3. 单片机硬件连接与调试:学习如何搭建单片机硬件系统并进行调试,对应教材第三章内容。

- 单片机最小系统搭建- 外围电路的设计与连接- 硬件调试方法与技巧4. 单片机应用案例:分析并实践单片机在各种实际应用中的功能,对应教材第四章内容。

- 智能家居系统设计- 机器人控制程序编写- 物联网应用案例分析5. 实践项目:结合所学知识,完成一个具有实际应用价值的单片机项目,为期4周。

《单片机课程设计》报告

《单片机课程设计》报告

机械与车辆学院课程设计题目:姓名:学号:班级:指导老师:时间:成绩:水塔水位控制系统职称:《单片机课程设计》考查评分表、出勤率:□全勤□缺勤较少□缺勤较多□全缺(20%) 2、进度:□较快□正常□较慢□没有按时完成布局焊接:□合理(20%) □错误较多□较合理□原则性错误□基本合理1、程序编写框架:□合理□较合理□基本合理(20%) (10%) (15%) (15%)□原则性错误□基本正确□错漏较多系统调试结果:□实现□基本实现□不能实现1、硬件设计:2、软件设计:3、联调结果:4、过程体味:□合理□合理□正确□属实□较合理□较合理□较正确□较属实□基本合理□基本合理□基本正确□基本属实□不合理□不合理□错漏较多□不属实□思路清晰,内容正确□思路基本清晰,内容基本正确指导教师:吴明友 2022 年 1 月 3 日□错误较多2、程序编写过程:□正确□较正确□思路较清晰,内容较正确□思路较混乱,内容错漏较多一、课程设计性质和目的 (4)二、课程设计的内容及要求 (4)1、硬件设计 (4)2、软件设计 (5)3 、功能要求: (5)三、课程设计的进度及安排 (5)四、设计所需设备及材料 (6)五、设计思路及原理分析 (7)六、流程图及程序编写 (7)(1)根据功能要求画出控制程序流程图。

(8)(2)根据控制程序流程图编写C51 程序 (8)七、调试运行 (10)1 、软件测试: (10)2、硬件测试: (11)八、结果及分析 (12)九、心得体味 (13)十、参考文献 (14)十一、致谢 (14)十二、附录 (15)【1】整流器protel 防真原理图: (15)【2】数字时钟 (16)单片机课程设计是《单片机原理与接口技术》课程与实验结束后的一门综合性实践课。

设计一种基于单片机水塔水位检测控制系统。

该系统能实现水位检测、机电故障检测、处理和报警等功能,实现超高、低警戒水位报警,超高警戒水位处理。

介绍电路接口原理图,给出相应的软件设计流程图和汇编程序,并用Proteus 软件仿真。

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]第一篇:单片机课程设计报告《单片机课程设计报告》学校:专业:班级:姓名:学号:指导教师:摘要由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。

通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。

关键词单片机,程序,流水灯,数码管,温度计,键盘扫描,定时器等。

实验内容一、课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。

在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。

实验一:键盘操作实验实验要求:通过本次实验实现对键盘的控制,操作数码管的显示数字。

实验程序:#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar codetable_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar codetable_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0 0,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};voidled_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE [0XA000]=0XFF;XBYTE[0XB000]=0XFF;}void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){if(count==10000)count=0;XBYTE[0X8000]=table_16_1[coun t%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA00 0]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[co unt/1000];} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d] ;while(!key_test());key=keyscan();if(key==11){shi = a*10+b;fen = c*10+d;flag=0;} } } void TIME_DIS(){if(tim==60){ fen++;tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1 [fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=ta ble_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)fla g=1;TIME_SET();//XBYTE[0X8000]=table_16_1[temp];//time_display();TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。

单片机课程设计报告

单片机课程设计报告

河南理工大学《单片机应用与仿真训练》设计报告基于单片机的遥控窗帘设计姓名:学号:专业班级:指导老师:所在学院:2011年6月27日【摘要】本设计是设计一款基于单片机的遥控窗帘,其中的单片机是遥控控制的核心,用于接收处理遥控信号,通过对一台直流电机的正反转控制,模拟实现对窗帘开、合的控制。

此系统具有无线控制与手动控制两种方式,以保证一种控制方式出现问题,可以及时使用另一种控制方式对单片机进行控制。

本报告简要介绍了基于单片机技术的遥控窗帘的设计原理,并根据系统的基本原理制作出了实物模型。

本控制系统主要由以下几个模块组成:无线信号发射模块、无线信号接收模块、电机驱动模块、电机运行转数检测模块以及单片机控制模块。

其中无线信号发射模块的控制核心是编码芯片PT2262,配套使用的是以解码芯片PT2272为核心的无线信号接收模块,这两组模块配合将对电机控制的正反转控制信息转变为单片机可以识别的二进制代码,通过与单片机内部的程序配合实现对窗帘正反停运行状况的无线遥控控制;电机驱动模块是以L298N芯片以及光耦芯片TLP521-4为核心的功率驱动电路;电机运行转数检测模块是根据霍尔元件对磁钢磁场变化而发出电压脉冲信号的原理做成的;单片机控制模块的核心组成元件是AT89S52芯片,配以单片机的最小系统电路,作为无线遥控窗帘系统的总的控制模块。

此外系统可以实现电机运行状态的显示,比如当电机正转是某对应信号灯亮等。

关键词:单片机技术;无线遥控;自动窗帘;位置检测;目录1 概述 (4)1.1课题背景以及课题研究的意义 (4)1.2课题的研究工作 (4)1.3课题研究中存在的困难 (5)2系统总体方案及硬件设计 (5)2.1系统总体设计方案 (5)2.2核心器件简介 (6)2.2.1 AT89S52简介 (6)2.2.2 L298N电机控制芯片简介 (7)2.2.3 315M PT2262/PT2272简介 (8)2.2.4 霍尔传感器简介 (8)2.3硬件设计 (8)2.3.1 电源电路 (8)2.3.2 复位电路与时钟电路 (9)2.3.3 直流电机控制电路 (10)2.3.4 霍尔检测电路 (11)3 软件设计 (11)3.1 直流电机正转程序设计 (12)3.2 直流电机反转程序设计 (12)3.3 单片机待机程序设计 (13)4 Proteus软件仿真 (14)5课程设计体会 (15)参考文献 (16)附1:源程序代码 (17)附2:系统原理图 (19)1 概述1.1课题背景以及课题研究的意义随着人民生活水平的不断提高,人民对于生活的质量和舒适度的要求也在不断提高,人们在日常生活的同时在不断寻求各种更便捷的生活方式。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告(多功能电子时钟)学院:机械与电子工程学院专业:自动化姓名:黄乃贝学号:09043215教师:朱兆优设计的基本任务:利用定时器和静或动态显示,实现电子钟的分秒精确走时(每天不超过5s),格式可如:中间的点可以用来做秒的显示进一步要求:1、时间是修改功能,能够较准确,灵敏,方便、轻松的调时、改时。

(能加能减)2、有日期显示功能,能正确的显示日期,并能进行调制日期。

3、准点报时功能、即具有闹钟的功能,并能进行调时、能人工与自动解除。

4、复位功能5、初步去设计电路,查找资料了解不同元件的功能与特性,之后初步设计出原理图,并进行进一步的熟悉元件与原理图的功能。

6、7、设计出的原理图(单片机选的是STC89c52)8、用到74ls2738位D锁存器(用来做驱动数码管)下面是它的引脚图9、10、共阴四合一数码管(下面是它的引脚图)11、12、用9013 (NPN)三极管来做开关控制数码管的动态显示数码管与三极管集电极间接470Ω的电阻是用来分压限流作用的(发光二极管的管压降在2V左右,电流6-10ma)发射极接地;基极和单片机的控制角接5.6K的电阻(提供开关电流就行)13、蜂鸣器用p2.1端口控制也用三极管做开关控制用到的是9015 PNP 其集电极与蜂鸣器间接的100Ω的电阻是用来限流用的目的是不让蜂鸣器电流太大声音太大。

14、外接的晶振是12M的旁边用两个30pf的电容(使脉冲更稳定、准确)15、用p1口的六个角接了六个开关(未接p1口不必接上拉电阻)是用来做按键扩展功能用的16、具体连接:p0口八位用来做数据的传输口与锁存器相连;锁存器再与四合一数码管相连;数码管再经限流电阻470Ω和四个三极管相连;三极管经过5.6k电阻与单片机的p2.4-2.7四个控制口相连;P2.3用来做锁存器的脉冲源送锁存信号P2.0 用来做开关的控制用的18、19角用来外接12M晶振P0.0-0.5 六个口接按键开关按键的具体功能:按键1;分的加没按一次加1 (0.5秒查键一次)按键2:分的减没按一次减1按键3:调时位的切换按下3(0.5s}后再按按键1 时位加;若按按键2 时位减1 若再按按键3 则回到调分位的时间按键4:显示并调日期按下按键4 后显示日期若再按按键1、2 则能实现日期的加减若按按键4 则回到时间的显示按键5:闹钟的显示与调时按下按键5 后若按按键1、2 则实现闹钟的加减如是按按键5 则回到时间的显示按键6;复位功能回到原始设定的数据显示软件编程部分:ORG 0000AJMP MIANORG 001BH ;定时中断1AJMP IT1PORG 0100HPSP EQU P0MIAN:;MOV P1,#0FBH ;检测用的;MOV P1,#0FFHMOV P2,0FH ;不亮灯不闹铃MOV R4,#05 ;按键中有用到MOV R1,#31H ;切换键加减法MOV 65H,#02 ;月日时分切换MOV 66H,#02 ;闹铃MOV 67H,#02 ;切换MOV 74H,#10 ;闹铃延长时间MOV 73H,#10MOV 40H,#64H ;100*10ms=1sMOV 41H,#07 ;07*61MS=0.42SMOV 36H,#07 ; 闹钟的时位(设初值)MOV 35H,#04 ; 闹钟的分位MOV 34H,#05 ;月MOV 33H,#04 ;日MOV 32H,#07 ;时MOV 31H,#06 ;分MOV 30H,#00 ;秒MOV TMOD,#10H ;选择方式1MOV TH1,#0D8H ;定时10msMOV TL1,#0F0HSETB TR1 ;打开计时器1MOV IE,#88H ;打开中断计时器1 计时器0;按键< AJ > 定时查键AJ: NOPMOV A,P1MOV P1,#0FFHCJNE A,#0FEH,NEXT2 ;按键1 加一键按下;(要低位闪亮);MOV R1,#30HMOV A,@R1 ; 用R1是因为按下切换键时要求加减的位值也不同最低位秒CJNE A,#60H,REN1 ;没到60s REN ★★★★似乎定时中断中有判断好像可以省略这里的判断★★★★AJMP REN2REN1: ADD A,#01DA A ;十进制比较CJNE A,#60H,REY ;没到60s REYREN2: MOV @R1,#00 ;到了秒为0AJMP XH ;送数显示REY: MOV @R1,AAJMP XH;送数去显示XHNEXT2: CJNE A,#0FDH,NEXT3 ;按键2 减一键按下;(要低位闪亮)MOV A,@R1CJNE A,#00H,REB ;没到0s REBAJMP REN3REB: DEC ACJNE A,#00H,REY2 ;没到0s REY2REN3: MOV @R1,#59HAJMP XHREY2: MOV @R1,AAJMP XHNEXT3: CJNE A,#0FBH,NEXT4 ;按键3 切换键按下DJNZ 67H,SHIMOV R1,#31H ;切换键加减法时位MOV 67H,#02XH0: AJMP XH ;多级跳SHI: MOV R1,#32HAJMP XHNEXT4: CJNE A,#0F7H,NEXT5 ;按键4 切换月日键按下DJNZ 65H,SF ;按两下恢复显示时分SFMOV 65H,#02 ; 实现循环切换按MOV R1,#31HMOV 31H,53H ;恢复时分显示MOV 32H,54HAJMP XHSF: MOV R1,#33HMOV 53H,31HMOV 54H,32HMOV 31H,33H ;让数码管显示日期MOV 32H,34HAJMP XH ;NEXT5: CJNE A,#0EFH,NEXT6 ;按键5 闹钟键按下MOV 74H,#15 ;闹铃延长时间; 要进行切换(调时)定时DJNZ 66H,SF2 ;按两下恢复显示时分SF2MOV 66H,#02 ; 实现循环切换按MOV 31H,55H ;恢复时分显示MOV 32H,56HMOV R1,#31H ;恢复AJMP XHSF2: MOV A,35HADD A,#02DA AMOV 35H,ACJNE A,#60,XIAMMOV R1,#36HINC @R1XIAM: MOV R1,#35H ;让按1键后加1后显示35H 闹钟的时分值MOV 55H,31HMOV 56H,32HMOV 31H,35H ;让数码管显示闹铃MOV 32H,36HAJMP XHNEXT6: CJNE A,#0DFH,NEXT7 ;按键6 功能复位按下NOPNOPAJMP MIANNEXT7: AJMP XH ;先从《XH 》中进按键中判断没有按下则进入切换键里去判断;(显示);显示前要判断是否闹铃XH:CJNE A,#0DFH,NEXT0 ;先判断按键按键6 键按下复位NOPNOPAJMP MIANNEXT0: MOV A,36H ;判断是否到时闹铃SUBB A,32HCJNE A,#00,XH3MOV A,35HSUBB A,31HCJNE A,#00,XH3CLR P2.0CLR P2.1LOOP: ACALL DELMOV A,P1MOV P1,#0FFHCJNE A,#0DFH,NEXT8 ;若有按键6 键按下复位NOPNOPAJMP MIANNEXT8: DJNZ 74H,LOOP;设置响铃XH3:MOV A,31H ;显示ANL A,#0FH ;得分低四位让第四个管亮MOV DPTR,#TABMOVC A,@A+DPTRMOV PSP,ACLR P2.3 ;锁存信号上升源SETB P2.3MOV P2,#1FH ;第四个管显示低位分p2的高四位接管显示低电平亮ACALL DELXH2: MOV A,31HSWAP AANL A,#0FH ;得到高四位让第3个管亮MOV DPTR,#TABMOVC A,@A+DPTRMOV PSP,ACLR P2.3SETB P2.3MOV P2,#4FH ;第三个管亮★★☆☆电路改动显示控制端改动ACALL DELMOV A,32HANL A,#0FH ;得分低四位让第2个管亮MOV DPTR,#TABMOVC A,@A+DPTRMOV PSP,ACLR P2.3SETB P2.3MOV P2,#2FH ;第二管灯亮★★☆☆电路改动显示控制端改动ACALL DELMOV A,32HSWAP AANL A,#0FH ;得到高四位让第1个管亮MOV DPTR,#TABMOVC A,@A+DPTRMOV PSP,ACLR P2.3SETB P2.3MOV P2,#8FH ;第一个管亮ACALL DEL;秒的闪; 中断时设初值MOV R2,#0FFH ;每秒要点亮来显示秒要闪啦DJNZ R2,LH ;亮h 点MOV R2,#01XH4: AJMP XH ;亮了会要灭的r2为0 时LH: MOV PSP,#80HCLR P2.3SETB P2.3MOV P2,#2FH ;第2管的点亮ACALL DELDJNZ 72H,XH4 ;要求要循环送数显示AJMP AJ ;定时0.2s才查键一次;中断计时IT1P: PUSH PSW ;现场保护PUSH ACCMOV TH1,#0D8H ;定时10ms 中断重新赋值MOV TL1,#0F0HDJNZ 40H,RETURN ;1S未到返回MOV 40H,#64H ;到1s重新制数MOV R2,#20MOV 73H,#10 ;按键方面用到★★★MOV 72H,#02 ;定时0.2s才查键一次MOV A,30H ;秒加1ADD A,#01HDA A ;调整为十进制MOV 30H,ACJNE A,#60H,RETURN ;没到60s返回MOV 30H,#00 ;到了秒为0MOV A,31H ;分ADD A,#01H ;分加1DA AMOV 31H,ACJNE A,#60H,RETURN ;没到60分返回31H为分MOV 31H,#00MOV A,32HADD A,#01HDA AMOV 32H,ACJNE A,#24H,RETURN ;没到24小时返回32H 为小时MOV 32H,#00MOV A,33H ;33H 为日ADD A,#01HDA AMOV 33H,ACJNE A,#31H,RETURN ;没到31天返回32H 为小时MOV 33H,#00MOV A,34HADD A,#01HDA AMOV 34H,ACJNE A,#12H,RETURN ;没到12月返回34H 为月MOV 34H,#00RETURN: POP ACCPOP PSWRETDEL: NOPMOV 70H,#10 ;10*500=5MSLP: MOV 71H,#250 ;12M HZ 250*1*2=500USDJNZ 71H,$DJNZ 70H,LPRETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,88H ;0--9--A 注意位置要改动AJMP XHEND最后通过硬件软件的结合不断的调试与修改与请教老师同学查阅资料改进再进一步调试并最终得到了如期的结果!心得体会:通过自己的亲身设计到硬件到软件最后得到成果,真是是受益匪浅。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告系别:信息工程系专业:电子信息工程姓名:陈晨学号:201102305226目录1.绪论 (2)1.1单片机基础知识 (4)1.2单片机的应用领域 (4)1.3单片机的发展趋势 (6)2.程序设计 (8)2.1设计目的 (8)2.2设计要求 (8)2.3设计的总体程序 (8)3.设计总结 (11)3.1实验结论 (11)3.2实验总结 (11)1.绪论二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

它的出现是近代计算机技术发展史上的一个重要里程碑,因为它体积小,通常都藏在被控机械的“肚子”里。

它在这个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。

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

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

现在,这种单片机的使用领域已十分广泛。

彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。

单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。

单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。

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

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

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

单片机原理及系统课程设计评语:考勤(10)守纪(10)过程(40)设计报告(30)答辩(10)总成绩(100)专业:电气工程及其自动化班级:电气1001班姓名:周兴学号: 201009018指导教师:李红兰州交通大学自动化与电气工程学院2013 年 3 月 7 日基于单片机的LED流水灯系统设计摘要本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。

本系统就是充分利用了8051芯片的I/O 引脚。

系统以采用MCS-51系列单片机89C51为中心器件来设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示,并实现循环的速度可调。

关键词:单片机;LED流水灯;MCS-51AbstractThis design mainly to analyze calculator software and in the process of developing the steps, and from the practical experience of the calculator design has made the detailed analysis and research. This system is to make full use of the 8051 chip I/O pins. System to the MCS - 51 series microconteroller as the center Intel8C51 device to design LED running lights system, realize the eight LED neon light left and right cyclic display, and realize the circulation speed adjustable.Keywords: single chip microcomputer, LED running lights,MCS-511引言本系统的功能就时实现流水灯的循环点亮,主要有四个功能,第一,按下第一个按钮,彩灯向左点亮循环,按下第二个,彩灯向右循环点亮,按下第三个,彩灯全亮,按下第四个,彩灯全灭。

彩灯用8个发光二极管代替。

电路具有的控制彩灯点亮右移、左移、全亮及全灭的功能用按键切换彩灯状态,彩灯两点移动时间间隔为0.5秒。

2 设计方案及原理2.1 设计目的1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。

2.掌握汇编语言程序设计方法。

3.培养实践技能,提高分析和解决实际问题的能力。

2.2设计要求1.彩灯用8个发光二极管代替。

2.电路具有控制彩灯点亮右移左移全亮及全灭等功能(用按键切换彩灯状态)。

3.彩灯两点移动时间间隔为0.5秒。

2.3设计方法本课题使用AT89C51单片机时无须外扩存储器。

因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。

因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

同样的道理,可以让8个灯左移点亮,全亮、全灭。

系统框图及线路连接原理图如图1所示。

开关AT89C51单片机LED流水灯显示图1 LED流水灯设计系统框图本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

其具体线路连接如图2所示。

XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D17LED-BIRY D18LED-BIRY D19LED-BIRY D20LED-BIRY D21LED-BIRY D22LED-BIRY D23LED-BIRY D24LED-BIRYR17220R18220R19220R20220R21220R22220R23220R24220C11nFC21nFX1CRYSTALC31nFR2510kR110kR210kR310kR410k图2 LED 流水灯设计接线图3 硬件设计硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。

单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。

本设计选用以A T89S51单片机为主控单元。

显示部分:8个LED 灯循环亮灭。

3.1单片机时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。

在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。

此电路采用1MHz的石英晶体。

时钟电路如图3所示。

C11nFC2 1nF X1 CRYSTAL图3 时钟电路3.2复位电路电阻的作用是用于上电复位的,由于电容两端电压不能突变,所以RST上为高电平,然后电容放电,RST就为低电平了,还可以用手动复位,此电路应用自动复位。

自动复位如图4所示。

C31nFR2510k图4 复位电路3.3控制电路控制电路用于控制工作电路的工作情况,根据要求来控制电路,本电路的控制电路用来控制流水灯的工作情况,当按下1、2、3、4各个开关时,电路具有左移、右移、全亮、全没的功能,具体的控制电路如图5所示。

R1 10k R210kR310kR410k图5 控制电路3.4工作电路工作电路就是根据总的电路的指令,来反应工作情况。

本电路的流水灯电路具体的如图6所示。

D17LED-BIRY D18LED-BIRYD19LED-BIRYD20LED-BIRYD21LED-BIRYD22LED-BIRYD23LED-BIRYD24LED-BIRYR17 220R18220R19220R20220R21220R22220R23220R24220图6 工作电路4软件设计按照单片饥系统扩建和系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。

AT89C51单片机是美国ATMEI公司生产的低电、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量阴级中断结构、全双工的串行通信、具有4.25~5.50V的电压工作范同和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。

因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

其软件流程图如图7所示。

开始K1是否闭合灯左移点亮灯右移点亮灯全亮灯全灭K2是否闭合K3是否闭合K4是否闭合程序结束Y Y Y Y N N N N图7 LED流水灯设计程序流程图5 系统仿真及其调试5.1系统调试软件调试一般分为以下四个阶段:1、编写程序并查错;2、在汇编语言的编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。

在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。

此系统可以改进为可以通过对开关的调节来控制流水灯电路具有控制彩灯点亮右移、左移、全亮及全灭等功。

5.2 测试结果对于本系统而言,重点在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。

通过利用8051芯片的I/O 引脚。

系统以采用MCS-51系列单片机AT89C51为中心器件来设计LED流水灯系统,实现了8个LED霓虹灯的左、右循环以及全亮全灭的功能,达到了预期的目的。

5.3 测试分析在此,我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

6总结经过两周时间的努力,我顺利的完成了这次单片机课程设计。

从课题的选择开始,计算器的设计、硬件和软件系统的设计、到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。

通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。

其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络使资源得到最好的利用。

与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。

课设是一个通过思考、发问、自己解惑并动手、提高的过程。

我会在以后的学习中不断学习,积累经验,完善自己。

参考文献[1]王思明.单片机原理及应用系统分析[M].北京:科学出版社,2012:25-57.[2]杨恢先,黄辉先.单片机原理与应用[M].北京:人民邮电出版,2009:132-142.[3]朱定华.单片机原理与接口技术[M].北京:电子工业出版社,2001:121-127.[4]王威.HCS12微控制器原理及应用[M].北京:航空航天大学出版社,2007:44-50.[5]龚运新.单片机C语言开发技术[M].北京:清华大学出版社,2006:23-35.附录1系统程序ORG 0000HAJMP START ;跳转到主程序存放地指出ORG 0030H ;设置主程序开始地址START: MOV SP,#60H ;设置堆栈起始地址为60H MOV DPTR,#TABSTART1: JNB P0.0,LOOP1 ;判断P0.0处开关是否闭合JNB P0.1,LOOP2 ;判断P0.1处开关是否闭合JNB P0.2,LOOP3 ;判断P0.2处开关是否闭合JNB P0.3,LOOP4 ;判断P0.3处开关是否闭合AJMP START1 ;如果没有开关闭合重新检测LOOP1: CLR A ;累加器清零MOVC A,@A+DPTR ;取数值表中的数CJNE A,#11111111B,SHOW1 ;检查左移结束标志AJMP START ;左移结束重新检测开关状态SHOW1: MOV P1,A ;将数据送到P1口ACALL DELAY ;调用延时子程序INC DPTR ;取数据表指针指向下一数据AJMP LOOP1 ;继续查表取数据LOOP2: MOV A,#09H ;设定累加器的初始值MOVC A,@A+DPTR ;取数值表中的数CJNE A,#00000000B,SHOW2 ;检查右移结束标志AJMP START ;右移结束重新检查开关状态SHOW2: MOV P1,A ;将数据送到P1口ACALL DELAYINC DPTR ;取数据表指针指向下一数据AJMP LOOP2 ;继续查表取数据LOOP3: MOV A,#08H ;设定累加器初始值MOVC A,@A+DPTR ;取数值表中的数MOV P1,AAJMP START ;全灭结束重新检测开关状态LOOP4: MOV A,#11H ;设定累加器初始值MOVC A,@A+DPTR ;取数值表中的数MOV P1,A ;将数据送到P1口AJMP START ;全灭结束重新检测开关状态DELAY: MOV R0,#10 ;延时一段时间D0: MOV R1,#200D1: MOV R2,#123NOPD2: DJNZ R2,D2DJNZ R1,D1DJNZ R0,D0RET ;子程序返回TAB: ; TAB表DB 11111110BDB 11111101BDB 11111011BDB 11110111BDB 11101111BDB 11011111BDB 10111111BDB 01111111BDB 11111111BDB 01111111BDB 10111111BDB 11011111BDB 11101111BDB 11110111BDB 11111011BDB 11111101BDB 11111110BDB 00000000BEND。

相关文档
最新文档