单片机课程设计报告模板资料
单片机课程设计报告模板

课程设计成果说明书题目:低频信号发生器学生姓名:蔡超学号:111311106学院:东海科学技术学院班级:c11电信指导教师:东海科学技术学院教务处2014年1月7日第1章系统总体方案选择与说明1.1总体设计方案因输出信号的频率较低,可使用单片机作为信号数据产生源,中断查表法完成波形数据的输出,再用DA转换器输出规定的波形信号。
另外也可利用多余的端口经DA转换输出0度~360度的移相波形,同时也可输出一路方波信号。
系统实现的结构框图1.2设计要求及意义50Hz的正弦波、三角波信号,其中正弦波和1.低频信号发生器要求输出0.1~50Hz的范围内调三角波信号可以用按键选择输出,输出信号的频率可以在0.1~整。
2.原理图设计:根据所确定的设计电路,利用Proteus软件绘制电路原理图。
3.软件设计:根据电路工作过程,画出软件流程图,根据流程图编写相应的程序。
利用Proteus与Kiel μVision4联调,直到实验现象正确为止。
第2章系统硬件与工作原理2.1 系统硬件概述低频信号发生器要求能输出0.1~50HZ的正弦波、三角波信号,其中正弦波和三角波信号可以用按键选择输出,输出信号的频率可以在0.1~50HZ的范围内调整。
控制部分控制芯片选择89C52系列单片机。
P3.3~P3.5口接3个按键,其中P3.3口按键为频率增加键,P3.4口按键为频率减小键为正弦波与三角波选择键。
P1口输出正弦波或三角波数据,P2口输出移相波数据,P3.2输出方波。
数模(D/A)转换部分DAC0832是CMOS工艺制造的8位D/A转换器,属于8位电流输出型D/A转换器,转换时间1us,片内带输入数字锁存器。
DAC0832与单片机接成数据直接写入方式,当单片机吧一个数据写入DAC寄存器时,DAC0832的输出模拟电压信号随之相应变化。
利用D/A转换器可以产生各种波形,如方波、三角波、锯齿波等以及它们组合产生的复合波形和不规则波形。
单片机课程设计报告范例

单片机课程设计示例交通灯控制系统设计一、总体设计1、设计要求:交通灯的任务要求为:模拟十字路口的交通灯的亮、灭及闪烁基本工作原理:根据交通灯的亮灭情况,可以分为四种状态,利用定时计数器每20秒产生一次中断,每产生一次中断后由是否有特殊情况决定交通灯的状态变换。
2、硬件和软件功能的划分本课题要求实现的功能比较简单。
由单片机的定时/计数器产生八分之一秒的定时时间,通过软件的方式实现20秒的定时时间。
交通灯的亮灭由8255A控制,PA口控制东西向,PB口控制南北向。
3、交通灯状态划分十字路口交通灯如下图所示,将12个交通灯进行编号这12个交通灯共有四个状态:状态1(S1):东西红灯(4、10)亮,南北绿灯(3、9)亮状态2(S2):南北绿灯(3、9)灭,黄灯(2、8)闪烁,东西仍为红灯(4、10)亮状态3(S3):南北红灯(1、7)亮,东西绿灯(6、12)亮状态4(S4):东西绿灯(6、12)灭,黄灯(5、11)闪烁,南北仍为红灯(1、7)亮当东西向(或南北向)有特殊情况,开关K0为低电平则应使交通灯处于S3(东西绿灯、南北),开关K1为低电平则应使交通灯处于S1(南北向绿灯、东西向红灯),当K0、K1均为低电平则取消特殊情况,返回正常显示情况。
二、硬件设计根据总体设计要求,确定系统扩展与功能接口,设计出系统的电路原理图。
1、系统扩展最小系统,由8031、地址锁存器和程序存储器组成。
根据课题要求,在此基础上进行扩展。
地址锁存器选74LS373,程序程序器选2764(8K),尽管本系统程序不长,但考虑以后扩展方便,选用2764。
考虑到交通灯数量比较多,控制信号比较多,对单片机的I/O口进行扩展,使用通用I/O接口芯片8255A来对单片机I/O口进行扩展。
2、功能接口所谓接口是CPU与外界的连接部件,以实现CPU与外部设备的最佳耦合和匹配。
本课题只要求显示接口。
显示设备为2位七段数码管。
要使用七段数码管可以利用8031的串行口、可以利用可编程并行I/O扩展芯片8155或8255。
单片机课程设计报告

单片机课程设计报告项目简介本文档将详细介绍单片机课程设计项目的背景、目标、实施过程和结果。
本项目旨在通过单片机开发一个特定功能的系统,并实现相应的硬件和软件设计。
背景单片机是一种集成电路,集中了处理器、存储器和其他外围器件的功能。
它的小巧、低功耗和低成本使得它成为嵌入式系统中常用的控制器。
单片机课程设计是大多数电子工程专业的必修课程,通过实际设计和开发单片机系统,提高学生在硬件和软件方面的实践能力。
目标本项目的主要目标是设计一个基于单片机的系统,能够完成特定任务。
我们选择了一个温度监控系统作为设计任务,主要包括以下功能: - 采集温度数据 - 实时显示温度 - 根据设定温度报警设计过程硬件设计在硬件设计方面,我们选用了ATmega328P单片机作为主控芯片,通过使用温度传感器LM35来采集温度数据。
单片机与温度传感器之间通过模拟输入引脚连接。
为了实现实时显示温度,我们选择了一个七段LED显示器,将数字信号发送至显示器实现温度的显示。
此外,我们还使用按钮来设置报警温度,并通过蜂鸣器进行报警。
软件设计在软件设计方面,我们使用C语言进行单片机程序的编写。
通过编写相应的代码,实现以下功能: 1. 初始化单片机及相关外设 2. 采集温度数据并进行处理 3. 将温度数据转换为七段LED显示所需的数字信号 4. 设置报警温度,并进行判断 5. 当温度超过报警温度时,触发蜂鸣器进行报警实施结果经过设计和实施,我们成功实现了温度监控系统的目标功能。
在系统测试中,我们能够准确采集温度数据,并通过七段LED显示器实时显示。
当温度超过设定的报警温度时,系统能够准确触发蜂鸣器进行报警。
整个系统工作稳定,达到了预期效果。
总结单片机课程设计是电子工程专业中重要的实践环节,通过实际设计和开发单片机系统,可以提高学生的动手能力和解决问题的能力。
本项目以温度监控系统为例,详细介绍了硬件和软件的设计过程,并展示了最终的实施结果。
在未来的学习和工作中,我们将继续积极运用单片机技术,深入研究和探索更多的应用领域。
单片机课程设计报告 (2)

单片机课程设计报告1. 引言本文为单片机课程设计报告,主要介绍了课程设计的背景、目的、设计方案、实施过程以及结果分析和总结。
2. 背景单片机是嵌入式系统的核心部件,广泛应用于各个领域。
作为计算机科学与技术专业的学生,掌握单片机的基本原理和应用是必不可少的。
因此,本次课程设计旨在通过实践,加深对单片机的理解和应用能力。
3. 目的本次课程设计的目的是设计一个基于单片机的智能温度监控系统。
该系统能够实时监测环境温度,并通过显示屏展示当前温度值,并在温度超过设定阈值时发出警报。
4. 设计方案4.1 硬件设计本设计使用STC89C52单片机作为控制核心,配合温度传感器和液晶显示屏,实现温度监测和显示的功能。
温度传感器负责采集环境温度,将采集到的数据发送给单片机进行处理;液晶显示屏用于显示当前温度值和警报信息。
4.2 软件设计软件设计分为两个模块:温度采集和温度监控。
温度采集模块通过单片机的ADC接口获取温度传感器的模拟信号,将其转化为数字信号,并保存在单片机的内存中。
温度监控模块不断读取内存中的温度值,并与设定的阈值进行比较,如果温度超过阈值,则发出警报信号,同时在液晶显示屏上显示警报信息。
5. 实施过程5.1 硬件实施首先,根据设计方案的要求,将STC89C52单片机、温度传感器和液晶显示屏组装在一起,搭建出硬件平台。
接下来,使用面包板和杜邦线等连接元件,将各个模块按照设计方案进行连线。
最后,使用电源适配器给整个系统供电。
5.2 软件实施软件实施主要分为两个步骤:编写硬件控制程序和编写温度监控程序。
硬件控制程序主要负责初始化硬件设备和处理硬件输入输出;温度监控程序则负责实现温度采集和温度监控逻辑。
在编写硬件控制程序时,需要使用STC89C52的GPIO接口对传感器和显示屏进行控制。
在编写温度监控程序时,需要使用STC89C52的ADC接口进行温度采集,以及使用GPIO接口对警报信号和显示屏进行控制。
6. 结果分析和总结经过实施过程的努力,我们成功地完成了基于单片机的智能温度监控系统。
单片机课程设计报告

单片机课程设计报告1. 引言本文档旨在总结并详细介绍单片机课程设计的相关内容。
本次课程设计的主题为XXXX,我将在接下来的章节中介绍该课程设计的目标、设计思路、具体实施过程以及结论。
2. 设计目标本次单片机课程设计的目标是XXXX。
通过该设计,我希望能够进一步提升对单片机的理解和应用能力,掌握单片机的基本原理、编程技巧以及相关技术。
3. 设计思路在进行单片机课程设计之前,我对基于单片机的XXXX进行了详细的调研和学习,确定了设计思路和方案。
该设计主要分为以下几个步骤:3.1 步骤一:需求分析在开始设计之前,我首先进行了对需求的分析。
通过与指导老师和同学们的交流,我了解到XXXX,因此在设计中需要考虑到XXXX的特点和要求。
3.2 步骤二:系统设计基于对需求的分析,我进行了系统设计。
该系统涵盖了硬件和软件两个方面。
硬件方面,我选择了XXXX作为主控芯片,并设计了适配的电路板;软件方面,我使用XXXX编程语言进行开发,并设计了相应的算法和逻辑控制。
3.3 步骤三:系统实现在完成系统设计后,我开始进行系统实现。
首先,我搭建了相应的实验环境和开发平台,确保能够顺利进行编程和仿真。
然后,根据系统设计中的硬件和软件需求,逐步实现了系统功能。
3.4 步骤四:系统测试在完成系统实现后,我进行了系统测试。
通过模拟实际应用场景,对系统进行了功能性测试和稳定性测试,保证系统可以正常运行并且满足设计需求。
4. 设计实施在设计实施阶段,我按照设计思路和步骤进行了详细的操作和编程工作。
具体实施过程如下:4.1 实施步骤一:需求分析在这一步骤中,我与指导老师进行了深入的交流,详细了解了项目的需求和目标。
4.2 实施步骤二:系统设计基于需求分析的结果,我进行了系统设计。
首先,我绘制了电路图,并选择了合适的单片机作为主控芯片。
在软件方面,我使用XXXX编程语言进行开发。
4.3 实施步骤三:系统实现在系统设计完成后,我开始进行系统实现。
单片机课程设计报告模板

单片机技术及应用综合训练(设计报告)题目:姓名:学院:专业:班级:学号:指导教师: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语言的学习和掌握。
单片机课程设计报告模板

河南科技大学课程设计报告课程名称__ 单片机系统设计_题目名称_ 智能门禁系统设计学生学院 ___ 信息工程学院_____专业班级 ___ 自动化134班学号 131404010410学生姓名 __ 华科 _ ___指导教师 __ 刘磊坡 _2016年5 月25 日课程设计任务书(指导教师填写)课程设计名称单片机系统设计学生姓名华科专业班级自动化134班设计题目智能门禁系统设计一、课程设计目的1.培养学生单片机开发应用能力,如何利用键盘输入密码,开启门禁系统。
2.培养学生综合分析问题、发现问题和解决问题的能力。
3.培养学生综合运用知识的能力和工程设计的能力。
4.培养学生理论联系实际的能力。
5.提高学生课程设计报告撰写水平。
二、设计内容、技术条件和要求1设计内容智能门禁系统设计主要功能是用单片机实现通过矩阵键盘输入密码,密码正确开门,并lcd上显示“欢迎光临”,密码错误lcd上提示“密码错误请重新输入”,三次输入错误报警。
(1)设计矩阵键盘模块、定时器模块;(2)设计中断、LCD模块(3)EEPROM(AT24CXX)的使用2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
•相应的控制状态表;•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
3 总体设计思想(供参考)•利用矩阵键盘实现输入;•IIC通信协议;•采用LCD12864作为显示屏。
4 设计参考智能门禁系统设计主要包含单片机主控电路、显示电路、键盘电路、IIC通信协议模块电路等组成。
5 知识点准备:•+5V电源原理及设计;•单片机复位电路工作原理及设计(元件选择的依据);•单片机晶振电路工作原理及设计(元件选择的依据);•LCD显示特性、驱动设计及应用;•单片机引脚资源、引脚分配等;•单片机汇编语言及程序设计(中断、延时子程序的设计)。
三时间进度安排按教学计划规定,单片机原理课程设计总学时为1周,其进度安排和时间大致分配如下:1.十二周周一至周二查阅资料、进行软、硬件初步设计;2.十二周周三至周四上机调试,发现问题,解决问题,完善课程设计;十二周周五3.1、何立民. 单片机高级教程.总结设计过程,编写课程设计报告书。
单片机课程设计报告模板

单片机课程设计报告模板单片机课程设计报告一、设计目的本次单片机课程设计旨在培养我们对单片机的基本认知和应用能力,通过对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编程实现了与单片机的通讯。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
哈尔滨远东理工学院课题名称专业班级学号学生姓名指导教师2015年10月14日1、例举设计过程中遇到的问题及其解决方法(至少两例)。
答:(1)问题说明:解决方法:(2)问题说明:解决方法:2、教师现场提的问题记录在此(不少于2个问题)。
目录1 设计任务 (1)2设计方案 (2)2.1任务分析 (2)2.2方案设计 (2)3 系统硬件设计 (3)3.1时钟电路设计 (3)3.2复位电路设计 (3)3.3 灯控制电路设计 (3)3.4 倒计时显示电路设计 (4)3.5 按键控制电路设计 (5)4 系统软件设计 (6)4.1 1S定时 (6)4.2 定时程序流程 (6)4.3交通灯的设计流程图 (6)4.4定时器0 及中断响应 (7)5仿真与性能分析 (8)6心得体会 (9)参考文献 (10)附录1 系统原理图 .......................................................................错误!未定义书签。
附录2 系统PCB图 .....................................................................错误!未定义书签。
附录3 程序清单 .. (11)II1 设计任务支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
用红、绿、黄发光二极管作信号灯。
如图1.1所示。
设东西向为主干道,南北为支干道。
1. 基本要求(1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。
主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。
(2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒,支干道每次放行20秒,设立30秒、20秒计时、显示电路。
(3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。
黄灯亮时,原红灯按1Hz 的频率闪烁。
(4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。
2. 选做(1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态,即主干道和支干道均为红灯亮。
(2) 实现绿波带。
所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。
“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。
2设计方案2.1任务分析模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。
红、黄、绿交替闪亮,倒计数显示时间等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等。
2.2方案设计1.硬件方案根据设计的要求可知,系统的硬件原理框图如图2.1所示。
单片机键盘LED 显示三色指示灯图2.1 系统的硬件原理框图单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB 的FLASH ROM ,设计时无需外接程序存储器,为设计和调试带来极大的方便。
南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。
键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的I O 口不够用时,可以考虑扩展8255或8155满足系统的要求。
2. 软件方案根据设计要求,程序框图如图2.2所示。
软件可由汇编语言完成,也可由C 语言完成。
软件设计可以分为以下几个功能模块: 主程序:初始化及键盘监控。
计时程序模块:为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。
显示程序模块:完成12个发光二极管(实际上只需驱动6个)和4个LED 数码管的显示驱动。
键盘扫描程序模块:判断是否有键按下,并求取键号。
图2.2 主程序流程图报告中的结构示意图、流程图等建议用AutoCAD 、Visio 、CorelDraw 等绘制,以保证图片拉伸后不失真。
图片中的字号要比正文中小一号(5号)一般情况下,图片要居中放置这一章,可以直接叙述你的设计方案(如本文档),也可以做方案论证:通过方案比较并确定最终的设计方案!比较小的图片,可以不居中放置,类似这样靠最右(或最左)处理3 系统硬件设计3.1时钟电路设计图3.1 单片机时钟电路如图3.1所示,采用内部时钟产生方式,在XTAL1 和XTAL2 两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。
其发出的时钟脉冲直接送入片内定时控制部件。
3.2复位电路设计如图3.2所示,采用上电+按钮电平复位方式,当按下按钮时,RST 管脚高电平触发。
为保证复位可靠,RC 时间常数应大于两个机器周期,电容取33uf,电阻取200 欧。
图3.2 单片机复位电路3.3 灯控制电路设计如图3.3所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。
通过软件编程,可使路口交通变化情况为:南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30 秒、支干道每次通行时间为20 秒;在绿灯转为红灯时,要求黄灯先亮5 秒钟,才能变换运行车道;黄灯亮时每秒闪亮一次。
这一章,(如果同本文档在上一章已经对整体结构描述过,)可以直接描述各单元电路!(如果上一章没有对整体方案描述的话,还要把整个系统的硬件结构描述清楚)图3.3 灯控制电路3.4 倒计时显示电路设计如图3.4所示,由两个个共阴极两位数码管来实现倒计时。
由于P0 口输出电流小,需外接上拉电阻,C1、C2 端接到P1 口的P1.0、P1.1、P1.2、P1.3 口用单片机来控制其片选。
图3.4 数码管显示电路3.5 按键控制电路设计图3.5 按键输入电路如图3.5所示,开关控制由五个连接到单片机的控制按钮组成。
通过软件编程,按下K3 键电路进入外部中断0 响应,此时,可通过按键K1 和和K0 设置通行时间,每按一次K1 键南北通行时间增加一秒,而按下K0 键东西通行时间增加一秒,此时若按下K4 键东西南北的通行状况返回到初次设的状况(即南北通行),重新返回循环状态;按下按键K2,这是对紧急状况的控制,此时停止计数,东西方向和南北方向都不通行,如果K4 键按下,返回紧急状况的状态,并重启计数;按键K1 按下,控制南北方向通行;按键K0 按下,控制东西方向通行。
4 系统软件设计4.1 1S定时以在系统中要实现准确的1s定时。
采用89C51内部的定时/计数器T0,工作在方式1,定时时间计算公式为:zΣ(216-计数初值)×晶振周期x12或扛(2-6-计数初值)×机器周期其最大定时时间为131ms,离ls还差很远。
因此.把秒计时用硬件和软件计数相结合的方法实现。
即把定时器的定时时间定为125ms,这样计数溢出8次就可得到h.而8次计数可用软件方法实现。
为得到125ms定时,设计数初值为工,则有(216_X)x2=125 000从上式计算得到计数初值。
定时器定时采用中断方式完成.以便于通过中断服务程序进行溢出次数(每次125ms)的累计,计满8次即得到ls计时。
4.2 定时程序流程(1)T0定时主程序流程定时主程序的主要功能是进行定时器,计数器的初始化编程,然后通过反复调用显示子程序的方法,等待125ms定时中断的到来。
(2)定时中断服务程序流程中断服务程序的主要功能是进行计时操作。
程序先判断计数溢出是否满了8次。
不满8次表明还没达到最小计时单位秒.中断返回;如满8次则表明已达到最小计时单位秒.程序继续向下执行.进行计时操作。
4.3交通灯的设计流程图系统的程序结构流程图如图4.1所示。
系统软件中,使用了一个定时器(T0)资源产生秒信号。
系统在上电或复位后进入系统初始化。
初始化程序中,将系统的xxx等I/O口输出状态设置为高电平输出,以使各LED及发光管熄灭;然后初始化定时器timer0,定义为xxx方式,........。
并使能定时器T0中断,......。
初始化完毕后,系统进入.........图4.1 交通灯系统软件流程图4.4定时器0 及中断响应......图4.2 定时器0中断处理流程图5仿真与性能分析1、系统仿真过程 ......图5.1 xxxx 图2 仿真结果与分析当交通灯上电复位后,数码管显示p 。
当按下开始键k1后,南北方向开始亮绿灯,东西方向亮红灯。
显示器开始倒计时。
当按下结束键k2后,显示器重新显示p ,并且南北东西的方向全灭。
图5.2 系统仿真结果补充说明你是如何完成仿真(或调试)的,比如仿真(或调试)的平台、过程、步骤等说明仿真结果(或调试结果),并对相关现象进行分析。
要求图文并茂。
6心得体会画板、起初我们先到图书馆和网上查阅了大量有关超声波测距仪的资料,然后开始设计我们自己的方案,为了设计精度要求和抱着学习新知识的想法,我们选择则了从没接触过的DS18B20和LCD1602液晶芯片,虽然我们并没把这两个芯片的应用原理研究的很透彻,但基本的应用编程是可以实现的,说实话整天抱着电脑查资料、看资料是一件很痛苦的事情,一天下来眼都花了,但每学会一点新知识还是挺高兴的,有的时候想要的资料查不到我们就向老师求助,他们都会毫无保留的帮助我们。
设计完电路以后我们便开始画PCB板,这是我们上学期学习的一门课程,趁着这次机会也让我们又将这部分只是复习了一下,并将其应用于实际,终于发现我们所学的知识和实际有点联系了,也对其产生了一点兴趣。
不过我们学得并不全面,只能说是引路用的,所以在实际当中我们还要再加深一下学习,这也是我们获得新知识的一个地方。
画板时需要注意的地方很多,比如封装要根据实际器件的尺寸来设计孔的大小,间距也要符合要求,布线时线宽与线距也有一定讲究,部件摆放要按一定规律等等。
这三周的时间说轻松也不轻松,说紧张却稍带着愉快的气氛,整个过程应该是充实的,时而惊喜,时而烦闷特别是最后调试阶段有一块调通了都会让我们高兴不已,当卡在某处时也确实是让人抓狂。
总之通过这次课设,我们不但复习了过去所学,并且学到了一些新东西。
更重要的是通过这一次切身实践,才使我们真正将理论与实际结合起来,并且遇到了很多实实在在的需要我们亲自解决的问题。
通过解决这些问题,我们处理实际问题的能力有了很大提高,积累了我们的实践经验,以便为以后打下牢固的基础。
而这些才是我们作为一名工科学生最宝贵的财富。
[1] 郭天祥.新概念51单片机C[2]胡汉才.单片机原理与接口技术[M].北京: 清华大学大学出版社,2004.1-505.[3] 邢国泉. LM35温度传感器的温度特性及其应用[J]. 医疗设备信息.2007,11(9):25-28.[4] 薛国红,赵修斌,卢艳娥等.零漂与增益控制对量化的影响分析[M].西安:空军工程大学,2008.[5] 马忠梅,刘滨等. 单片机C语言Windows环境编程宝典[M]. 北京: 北京航空航天大学出版社. 2003附录3 程序清单#include<reg52.h>#define unit unsigned int#define uchar unsigned charuchar codea[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code b[4]={0xfe,0xfd,0xfb,0xf7};uchar code c[4]={0xcc,0xd4,0x78,0xb8};uchar NB=25,DX=30,NBG=25,DXG=15,H=5;uchar i,k=0,cnt=0,j=0;sbit K0=P3^5;sbit K1=P3^6;sbit K4=P3^7;sbit K3=P3^2;sbit K2=P3^3;void delay(uchar t);void key();void display();void settime();void init(void){TMOD=0x01;TH0=0x3c;TL0=0xb0;IT0=1;ET0=1;TR0=1;EA=1;EX0=1;EX1=1;P2=c[k];}void int0(void) interrupt 0{EA=1;...。