单片机设计报告模板
- 格式:doc
- 大小:152.50 KB
- 文档页数:12
课程设计成果说明书题目:低频信号发生器学生姓名:蔡超学号: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转换器可以产生各种波形,如方波、三角波、锯齿波等以及它们组合产生的复合波形和不规则波形。
单片机原理及系统课程设计专业:电气工程及自动化班级:气1403姓名: 王攀学号:201408901指导教师:苟军年兰州交通大学自动化与电气工程学院2016年12月31日基于单片机的多路数据采集系统1 引言经过这次课程设计进一步的去培养学生的工程设计能力和工程设计思想,同样把书本的知识应用到实际当中去,考察了学生的实际操作能力和理论知识与实际应用相结合的能力。
1.1 设计目的数据采集系统用于将模拟信号转换为计算机可以识别的数字信号。
该系统目的是便于对某些物理量进行监视。
数据采集系统的好坏取决于他的精度和速度。
设计时,应在保证精度的情况下尽可能的提高速度以满足实时采样、实时处理、实时控制的要求。
在科学研究中应用该系统可以获得大量动态物理量,是研究瞬间物理过程的重要手段,亦是获取科学奥秘的重要手段之一。
本文采用的方法设计,用到的集成芯片主要有89C51单片机、ADC0808等。
ADC0808主要作用是对八路模拟信号进行选择采集,并将其转化为八位数字信号,再送至主控制器(89C51单片机)输出显示。
2 设计方案及原理2.1 系统设计方案利用MCS-51系列单片机设计简易数字电压表测量0~5v的8路输入电压值,并在四位数码管上轮流显示或单路选择显示。
测量误差约为±0.05V。
系统设计方框图如图1所示。
2.2 设计原理通过调节可变电阻实现0-5V的电压输出作为8路输入信号使用,每路信号用2位LED显示采集的结果。
报警:任意一路超过某一门限(自己设定)是,发出报警(声音+灯闪烁,并通过灯指示是哪一路报警),同时停止采集。
3.1电路原理图P3.0为开始抢答,P3.1为停止,P1.0-P1.7为八路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。
P3.4为时间加1调整,P3.5时间减1调整,P3.2抢答时间调整键,P3.3答题时间调整键,如图1。
图1系统原理总框图3.2硬件电路板焊接该抢答器系统由按键模块、非法抢答模块、正确抢答模块、调整抢答时间模块、调整回答时间模块和数码显示等六个模块构成,现将主要的元器件罗列如下。
单片机技术及应用综合训练(设计报告)题目:姓名:学院:专业:班级:学号:指导教师: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语言的学习和掌握。
综合设计报告设计名称:智能机器人综合设计设计题目:单片机智能温度检测系统设计学生学号:专业班级:学生姓名:学生成绩:指导教师(职称):课题工作时间:2013年6月3 至2013年6月15日说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
成绩评定表学生姓名:学号:班级:答辩记录表指导教师评语目录目录 (I)摘要 (II)Abstract (III)第一章课题背景 (1)第二章整体方案设计 (1)2.1 设计思想 (1)2.2 设计方案 (1)2.3方案比较与选择 (2)第三章详细设计 (2)3.1 电源模块设计 (2)3.2单片机最小系统 (3)3.3.温度采集与量化模块 (4)3.4显示与报警模块设计 (6)3.5总体设计 (7)第四章设计结果及分析 (8)4.1 系统软件仿真 (8)4.2 结果分析 (8)总结 (10)致谢 (11)参考文献 (12)附录主要程序代码 (13)摘要随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。
传统的温度检测以热敏电阻为温度敏感元件。
热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。
河南科技大学课程设计报告课程名称__ 单片机系统设计_题目名称_ 智能门禁系统设计学生学院 ___ 信息工程学院_____专业班级 ___ 自动化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、何立民. 单片机高级教程.总结设计过程,编写课程设计报告书。
单片机设计报告单片机设计报告一、设计目的本次设计的目的是为了实现一个具有一定功能的单片机系统,以提高对单片机的理解和应用。
通过本次设计的实践,可以加深对单片机的各种指令的理解和掌握,熟悉单片机的工作原理和编程方法,提高对电路设计和调试的能力。
二、设计方案本次单片机设计采用以AT89C51单片机为核心的系统。
该单片机具有强大的存储容量和高速运算能力,能够满足设计需求。
设计的主要功能有:1. 显示功能:设计通过数码管显示器,实现对数字的显示和计数功能。
通过按键控制,可以实现数码管上数字的增加、减少和清零操作。
2. 输入功能:设计通过7个按键控制输入,可以对数码管显示的数字进行操作。
通过对按键进行扫描,可以实现按键功能的实现。
3. 输出功能:设计通过数码管显示器输出结果,同时,使用外接继电器实现对其他设备的控制。
三、设计过程1. 硬件电路设计设计了单片机的外部电路部分,包括按键电路、显示电路、继电器控制电路等。
其中,按键电路采用矩阵键盘的方式,通过扫描矩阵可以获取按键输入。
2. 软件程序设计设计了单片机的程序部分,包括输入输出控制、按键扫描、数码管显示控制等。
通过编写程序,可以实现按键操作和数码管显示的功能。
四、测试结果经过电路和程序的设计和调试,单片机系统功能正常,通过按键控制,数码管可以正确显示数字,并能够实现数字的增加、减少和清零操作。
五、改进方向本次设计虽然能够实现了基本功能,但还存在一些不足之处。
下一步可以尝试改进以下几个方面:1. 优化程序代码,提高程序运行效率。
2. 增加更多的功能,比如增加对于其他外设的控制能力。
3. 优化电路设计,提高稳定性和可靠性。
4. 尝试使用更先进的单片机,提高系统的性能和可扩展性。
六、总结通过本次单片机设计的实践,我对单片机的工作原理和应用有了更深入的了解。
通过编写程序和调试电路,培养了我的问题分析和解决的能力,提高了我的综合能力。
本次设计为我今后的学习和研究打下了坚实的基础,我将继续深入学习和应用单片机技术,为实际应用做出更大的贡献。
单片机设计报告本次单片机设计的主题是智能温控系统,将温度、湿度等参数进行实时监控和调节,以提供舒适的室内环境和节能降耗的效果。
一、硬件设计系统采用基于STM32F103C8T6的单片机控制器,具有高性能、低功耗、易扩展等特点。
将温湿度传感器和继电器等外设与单片机进行连接,通过编程实现了参数采集、数据处理、控制输出等功能。
二、软件设计1.温湿度传感器数据采集通过模拟采样并转换模块(ADC)将模拟信号转换为数字信号,并通过I2C总线进行传输,最后在单片机程序中进行读取并进行数据处理。
2.数据处理采用移动平均滤波算法对采集的数据进行平滑处理,减少了数据噪声和抖动,提高了数据的准确性和稳定性。
同时,还进行了数据的串口通信和保存,以方便后续统计和分析。
3.温控输出在程序中设置了一定的温度变化范围和阈值,当实时采集到的温度超出设定范围时,控制器便会通过继电器进行相应的操作,以达到温度控制的目的。
三、系统测试在实验室环境下进行了多次测试,结果表明系统在温控、湿控、数据处理等方面表现出了良好的稳定性和精确性。
同时,系统也可以通过各种方式进行扩展,如增加遥控器、加入时钟模块、联网等,以提升系统的实用性和智能化程度。
四、心得体会本次单片机设计涉及的内容较为广泛,包括硬件设计、软件编程、信号处理等多个方面。
在这个过程中,我们锻炼了团队协作、问题解决、创新思维等多方面的能力,提升了自身的技术水平和综合素质。
同时,本次设计还让我们更深刻地认识到了工程实践的重要性和挑战性,并增强了我们的实践能力和创新精神。
相信这些经验和收获将在我们今后的工作和学习中得到更好的应用和发挥。
总之,这次单片机设计足以作为我们学习生涯中的一次难忘经历,更为重要的是它为我们在未来的发展中提供了坚实的基础和支持。
单片机课程设计报告模板单片机课程设计报告一、设计目的本次单片机课程设计旨在培养我们对单片机的基本认知和应用能力,通过对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编程实现了与单片机的通讯。
综合设计报告(基于XXX的XXX的设计实现)学院名称(小3号黑体)专业名称(小3号黑体)学生姓名(小3号黑体)学号(Times New Roman小3)指导教师(姓名小3号黑体)报告成绩答辩成绩二〇一二年四月目录功能设计: (2)(一)可以实现XXX功能 (2)(二)可以实现XXX功能 (2)(三)可以实现XXX功能 (2)设计开发平台简介: (3)硬件平台 (3)软件平台 (3)硬件设计及实现: (4)软件设计及实现: (5)实现效果测试: (6)设计总结: (7)功能设计:(阐述所选题目计划实现的全部功能,尽量逐条描述详细,后面效果测试章节严格按照此章节提到的功能进行逐一测试。
控制在一页左右,可以插入一张与实现功能相关的具体应用化图片,比如钟表图片、计数器图片、交通灯图片等)(一)可以实现XXX功能(二)可以实现XXX功能(三)可以实现XXX功能设计开发平台简介:(控制在2页以内,注意图文并茂)硬件平台CS—III……软件平台Keil C51……(硬件电路连接图(器件级,比如用一矩形框代表单片机,一矩形框代码蜂鸣器,两者连线上标注P3_6)、硬件原理结构图(数码管、矩阵键盘等)绘图推荐使用Visio绘制)(软件流程图(规范化)、算法描述、关键性代码、函数、变量等说明,绘图推荐使用Visio绘制)实现效果测试:(包括软件编译、调试通过截图,功能性测试(建议设计一个表格,测试项与前面功能设计章节对应),硬件运行照相等)设计总结:(包括实现这次综合设计所遇到的问题及最终解决办法,参加这次学前训练有什么收获、体会等)。
注意:以下单片机课程设计报告格式是结合老师发来的报告要求制作的,其中正文“程序存储器和数据存储器的单元分配”没有,由于大部分同学的程序都是使用C语言编写的,单元分配可能无法知道。
本人报告中不具有这部分内容。
本版本报告给是仅供参考!仅供参考!
惠州学院
课程设计
课程:
题目:
学生系别:
学生专业:
学生班级:
学生姓名:
学生学号:
指导教师:
2013年11月25日
惠州学院课程设计任务书
摘要
目录1.设计方案
1.1设计思想
1.2设计说明
2.硬件部分
2.1原理框图
2.2 STC89C52单片机
2.3四位LED共阴数码管
2.4按键电路
2.4.1复位电路
2.4.2电源电路
2.4.3晶振电路
2.4.4调整电路
2.5 74LS373锁存器
3.软件部分
3.1程序流程图
3.1.1主程序流程图
3.1.2子程序流程图
3.2程序清单
4.调试
4.1整合过程
4.2问题与解决方法
4.3实物效果图
5.总结
6.参考文献
7.附录。
单片机设计报告一、引言单片机是嵌入式系统中常见的一种微处理器,具有高度集成、低功耗、体积小等优势,广泛应用于各个领域。
本报告旨在介绍我所设计的一种基于单片机的控制系统,并详细分析其设计原理、硬件连接和软件实现。
二、系统概述本系统采用51系列单片机作为核心处理器,结合外设电路以及编写的控制程序,实现对温湿度传感器的数据采集、存储和显示。
其中,温湿度传感器通过模拟信号接口与单片机相连,采集温湿度值,并将数据通过串口传输至PC机进行显示和保存。
三、硬件设计1. 单片机选择在本系统中,我选择了AT89S52作为单片机,其具有8K字节的闪存、256字节的RAM和32个I/O引脚,能够满足系统所需的存储和控制功能。
2. 传感器接口设计为了能够读取温湿度传感器的模拟信号,我设计了一个数据采集电路。
该电路使用运放进行信号放大,并通过模拟输入引脚将信号输入到单片机的模拟转换器中。
3. 显示电路设计本系统采用4位共阳数码管进行数据显示。
通过设置引脚的输出状态,将采集到的温湿度数据转换为数字形式并进行显示。
四、软件设计1. 数据采集程序为了能够准确获取传感器的模拟信号,我编写了一个数据采集程序。
该程序通过AD转换器进行模拟信号的采集,并通过串口将数据发送至PC机。
2. 数据显示与存储程序为了能够实时显示和保存温湿度数据,我编写了一个数据显示与存储程序。
该程序通过串口接收来自单片机的数据,并将其解析为温度和湿度值,然后在PC机上显示出来。
同时,为了能够保存历史数据,我采用了文件存储方式,将数据以文本形式保存在PC机的硬盘中。
五、系统测试经过硬件和软件的设计,我对整个系统进行了测试。
通过模拟温湿度传感器的信号输入,我成功读取并显示了温湿度值,并将数据通过串口传输至PC机,实现了实时显示和保存。
六、性能分析通过测试结果可以看出,本系统具有较高的精度和稳定性。
在实际环境中,能够准确采集到温湿度数据,并进行实时显示和保存。
同时,由于选用了低功耗的单片机和外设电路,系统具有较低的功耗和较小的体积,适用于各种场合的使用。
专业综合课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系图1.2 图1.3图1.42.3键盘电路这部分有16个button构成4*4矩阵,通过p1口进行行扫描方式实现按键的读取。
硬件电路图如图1.4。
2.4总体硬件图如图1.5图1.53 软件详细设计3.1键盘扫描子程序要进行数据的计算就必须进行数据的输入,也就是确定按键输入的数值是什么,这就需要对键盘进行行扫描,从而确定究竟是那个键按下。
对于键盘的扫描,既可以使用行扫描也可以使用列扫描,这里采用行扫描的方法完成对键盘的扫描行扫描就是逐行扫描键盘,看那一行有键按下,再通过返回的见马来确定究竟是哪个按键按下。
对第一行扫描就置p1.0为底电平,其余p1口为高电平,如果有按键按下,则p1口的值就会变为别的值,再由新值来确定是那个键按下。
程序流程图如图1.6图1.6dd:mov r0,#0f7h mov r1,#0cc:mov a,r0 mov p1,amov a,p1 mov r2,asetb c mov r3,#4bb:rlc a jnc aaee:inc r1 djnz r3,bbmov a,r0 setb crrc a mov r0,ajc cc ljmp ddKAOO:LJMP KAO BBB2:LJMP BB2aa:lcall mm mov a,p1xrl a,r2 nz eeff:mov a,p1 xrl a,r2jz ff MOV A,51HCJNE A,#1,BBB2RET3.4主程序及其他部分程序下图为主程序流程图:主要有:初始化子程序,清屏子程序,固定字符显示,单元定义,端口定义,字模部分。
主程序:RG 0LJMP STARTSTART:MOV SP,#60HLCALL INT ;调用初始化子程序START1:LCALL CLEAR ;调用清屏子程序初始化子程序:INT: MOV COM,#0C0H ;设置显示起始行为第一行LCALL PRM0LCALL PRR0MOV COM,#3FH ;开显示设置LCALL PRM0LCALL PRR0RET清屏子程序:CLEAR:MOV R4,#00H。
单片机设计报告一、引言单片机是一种集成电路芯片,具有微处理器核心、内存、输入输出接口等功能模块,广泛应用于各类电子设备中。
本报告旨在介绍我所设计的单片机系统,包括硬件设计和软件编程。
二、设计目标本次设计的目标是基于单片机实现一个温度测量和控制系统。
通过采集环境温度并根据设定值进行控制,实现对温度的监测和调节。
系统需要具备以下功能:1. 温度传感器:采集环境温度数据。
2. 液晶显示屏:显示当前温度和设定温度值。
3. 控制模块:根据设定温度值控制外部设备,如风扇、加热器等。
三、硬件设计1. 单片机选择:本设计选用了STM32F103C8T6单片机。
2. 温度传感器:采用DS18B20温度传感器,通过单总线接口与单片机相连。
3. 液晶显示屏:利用4位并行接口连接单片机和液晶显示屏。
4. 控制模块:使用继电器控制外部设备,通过单片机的GPIO口控制继电器。
四、软件设计1. 系统初始化:设置单片机时钟、GPIO口、ADC模块等,并初始化温度传感器和液晶显示屏。
2. 温度采集:通过单总线协议与温度传感器通信,获取环境温度数据。
3. 显示界面:将温度数据和设定温度值显示在液晶显示屏上。
4. 温度调节:判断当前温度与设定温度的差值,根据差值控制继电器开关,实现温度调节。
5. 主程序循环:不断采集温度、更新显示界面和进行温度调节。
五、测试和结果分析经过对设计的硬件和软件进行调试,实现了预期的功能。
系统能够准确地采集环境温度,并将其显示在液晶显示屏上。
通过设定温度值和温度差值的调节,能够实现对外部设备的控制,使温度保持在设定范围内。
六、优化与改进此次设计虽然实现了基本功能,但还有一些优化空间。
例如,可以增加报警功能,当温度超出设定范围时,触发警报。
同时,可以考虑添加存储功能,记录温度变化数据以供后期分析和调整。
此外,还可以进一步优化温度传感器的精度和响应时间。
七、总结通过本次单片机设计,我深入了解了单片机的工作原理,并通过实践掌握了硬件设计和软件编程的技能。
封面格式如下:《单片机原理及应用课程设计》报告——X X X X X X设计专业:班级:姓名:学号:指导教师:2011年月日报告正文部分:(要求:正文部分一律用小四号字,宋体,1.5倍行距。
一级大标题靠左,加粗。
二级大标题靠左,不加粗。
)课程设计的内容如下:1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.课程设计要求2.1 XXXXXXXXXXXXXXXX2.2 XXXXXXXXXXXXXXXX•••••3.硬件设计3.1 设计思想•••••3.2主要元器件介绍•••••3.3 功能电路介绍••••••••••4.软件设计4.1 设计思想•••••4.2软件流程图•••••4.3 源程序••••••••••5.调试运行5.1 XXXXXXXXXXXXXXXX5.2 XXXXXXXXXXXXXXXX•••••6.设计心得体会参考书目:(五号,宋体加粗)[1] 肖金球. 单片机原理与接口技术.[M].北京:清华大学出版社,2004.12[2]………………………………………………………………………..•••••(要求:五号字,宋体,单倍行距。
按作者、书名、出版社、地点、出版时间格式逐一列出,中间用逗号格开)蓝色字一律不要打印参考题目题目1 智能电子钟(LCD显示)设计要求:以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:(1) 计时:秒、分、时、天、周、月、年。
(2) 闰年自动判别。
(3) 五路定时输出,可任意关断(最大可到16路)。
(4) 时间、月、日交替显示。
(5) 自定任意时刻自动开/关屏。
单片机综合应用实验设计报告格式一、实验目的本实验旨在通过单片机的综合应用设计,使学生能够熟练掌握单片机的输入输出操作,学习掌握单片机的定时器和中断编程,掌握单片机的相关外设的使用方法。
二、实验原理本实验选用的单片机是8051系列单片机,其具有多个I/O口和定时器。
通过在单片机的I/O口接口上连接外设,如LED灯、数码管、矩阵键盘等,可以实现单片机与外部设备的通信。
三、实验内容和步骤1.搭建实验电路:根据实验设计要求,连接单片机与外设之间的电路。
2.编写程序:根据实验要求,编写相应的单片机程序,包括初始化程序、中断处理程序、定时器程序等。
3.烧录程序:将编写好的程序通过编程器烧录到单片机中。
4.运行实验:通过按键、观察LED灯和数码管的显示,判断实验是否成功。
四、实验结果与分析通过实验,观察到LED灯可以正常闪烁,数码管可以显示特定的数字,按键可以实现相应的功能。
分析实验结果,可以得出实验设计的程序和电路均符合要求,实验成功。
五、实验心得与总结通过本次实验,我对单片机的输入输出操作、定时器和中断编程有了更深入的了解。
通过编写程序和连接外设电路,我成功地实现了单片机与外部设备的通信。
此外,通过实验中的操作,我也学会了如何进行单片机程序的烧录和调试。
在实验过程中,我遇到了一些问题,如程序代码编写中的语法错误、电路连接中的接线问题等。
通过查阅资料和与同学交流,我成功地解决了这些问题。
这些问题的出现让我认识到在实验中细心和耐心的重要性,同时也意识到理论与实际操作之间存在差距,需要不断学习和实践才能提高。
通过本次实验,我不仅学到了知识,还培养了解决问题的能力和实践操作的技巧。
我相信这对我未来的学习和工作都将带来很大的帮助。
1.《单片机原理与应用》(第三版)吴春利著北京大学出版社,2024年。
2.《51单片机原理与实践教程》卢良澍著电子工业出版社,2024年。
七、附录:实验所用设备清单1.单片机(8051系列)2.LED灯3.数码管4.矩阵键盘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);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。
梧州学院课程论文(2013 -2014学年第1学期)数字温度计的设计说明1、课程论文要有题目、摘要、关键词、正文及参考文献。
正文不少于6000字;摘要200字左右;关键词3~5个;参考文献不少于5篇。
2、论文要求自己动手撰写,如发现论文是从网上下载的,或者是抄袭剽窃别人文章的,按作弊处理,本门课程考核成绩计0分。
3、课程论文用A4纸双面打印。
字体全部用宋体简体,题目要求用小二号字加粗,标题行要求用宋体三号,正文内容要求用小四号字;行距为1,25倍行距;页边距左为3cm、右为2.5cm、上为2.5cm、下为2.5cm。
4、论文题目、篇幅、内容等由任课教师提出具体要求。
目录摘要(不少于200字,简单介绍作品的工作原理,用途)一、设计任务和要求二、设计的方案的选择与论证2.1总体电路分析(含总体电路原理框图和原理介绍)2.2方案论证(包括选用何种单片机、温度传感器、显示模块等,或者选用什么设计方案,一般列举2-3种,最后选用哪一种,为什么)三、单元电路设计3.1单片机最小系统设计(含单元电路图和原理介绍)3.2温度采集模块设计(含单元电路图和原理介绍)3.3显示模块设计(含单元电路图和原理介绍)3.4按键控制模块设计(含单元电路图和原理介绍)四、软件设计(含设计流程图及说明)五、系统调试与误差分析(要有数据列表对比,分析原因)六、总结及心得(不少于500字)七、附录1.主要程序2.元器件明细表3.附图(含整体电路图,PCB板图,作品照片)八、参考文献(不少于5个)摘要本设计以STC89C52单片机为主控芯片,运用温湿度传感器、光照传感器、无线通信模块,设计了基于温度、湿度和光照强度信息采集的大棚监控系统。
系统运用无线通信模块实现数据远距离传输,并将采集到的参数实时显示到远程终端的电脑屏幕上,与此同时能及时根据反馈回来的信息判断是否需要自动灌溉农作物,达到了温室大棚环境参数的实时监测和智能控制灌溉系统的目的。
论文首先介绍系统的实现方案和硬件设计,然后介绍各个功能模块的选择和软件设计。
本系统采用上位机通信,上位机软件采用VB编程,实现与主机通信、数据处理与显示等功能。
经过软件仿真和硬件实验,实现了对大棚温湿度及光照的监测和控制,且监测距离大于200米。
关键词:数据采集;无线通信;大棚监控系统一.设计任务和要求实现24小时的时钟显示、校准、整点报时、闹铃等功能。
具体要求:1.显示功能:具有“时”、“分”、“秒”的数字显示(“时”从0~23,分0~59,秒0~59)。
2.校时功能:当刚接通电源或数字时钟有偏差时,可以通过手动的方式去校时。
3.整点报时:当时钟计时到整点时,能进行整点报时。
4.闹铃功能:在24小时之内,可以设定定时时间,当数字时钟到定时时间时能进行报时提醒。
二.设计的方案的选择与论证2.1 系统的组成本设计主要包括三个部分,分别是上位机、主机和从机。
其中上位机是利用VB编的一个界面,用来实现电脑终端的实时数据显示和远程控制大棚里的设备调节。
主机和从机都是以单片机作为主控芯片而展开的外围功能,主机部分是由单片机系统、NRF905无线收发模块、MAX232串口转换电路、1602液晶显示模块电路以及报警模块电路组成。
从机负责采集大棚里的对农作物影响很大的几个因素的数据,实时地反馈到远处的主机,并且能够根据采集到的数据自动地控制大棚里的各种调节开关。
因此从机包含有单片机系统、NRF905无线收发电路、12864液晶显示电路、温湿度采集电路、光照采集电路、以及按键电路。
系统的功能框图如图2-1所示。
图2-1 系统组成框图2.2 系统的功能介绍及操作说明本系统中温湿度传感器DHT11采集大棚室内的温度和湿度数据,利用光照传感器BH1750FVT采集大棚室内的光照信息,经过转换后输出数字信号,并能由从机通过无线传输到远处的主机[6],主机通过MAX232串口转USB跟终端的上位机通信,获得温室的实时信息,从机能够根据反馈回来的信息进行自动的或者手动的远程控制。
要求:1.能实时准确地采集并处理所需数据。
2.能通过无线传输与主机通信。
3.主机能与上位机通信,并能实时地反映远程传送过来的相关信息。
4.当温度低于设定值或光照强度低时能够自动打开补光灯;当湿度低于设定值或高于一定温度时能够自动控制灌溉系统进行灌溉。
5.能够远程控制从机。
6.当温度超出设定值的时候能及时地反馈到主机并能发出警报。
2.3 系统方案论证2.3.1 主控芯片选择方案一:采用STC89C52单片机作为主控芯片。
STC89C52是一种功耗低、性能好的51内核的CMOS 8位单片机,片上Flash允许程序存储器在系统可编程,亦适于常规编程器,不再需要启动像STC89C51那样的VPP编程高压。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89S52在众多嵌入式控制应用系统中得到广泛应用。
方案二:采用ATmega16 AVR单片机,该芯片是一款性能高、功耗低的8位的AVR单片机;它拥有32个8位的通用工作寄存器;当它工作在16MHz的时候,其性能可以达到16MIPS;并且它只需要非易失性程序和数据存储器;两个时钟周期的硬件乘法器;16KB字节的单片机内部可编程的存储空间ATmega16 AVR内核具有丰富的指令集和32 个通用工作寄存器,并且拥有两个可以预分频功能的8位定时器和一个16位定时器。
这两种方案都能实现本设计所有的功能,但是方案一的性价比要更高,且考虑到笔者对STC89C52的熟悉程度更高一些,因此这里选择方案一。
2.3.2 显示模块的选择目前用得较多的显示设备有数码管、LCD1602、点阵行液晶显示12864,以下给出几种选择方案。
方案一:采用数码管。
数码管是由8个发光二极管组装在一起而成显示器件,显示位数越多,电路越复杂,占用的I/O口也较多。
并且数码管只能显示数字,不能显示字符和汉字。
方案二:采用LCD1602。
它是一种可以显示2行16个字符的液晶模块,它的显示功能很丰富,可以通过不同的地址编码,既可以显示数字、英文字母的大小写,也可以显示出一般的符号等。
1602液晶模块的电路设计非常简单,八个数据线口可以和单片机的I/O口直接相连。
方案三:采用点阵液晶显示12864。
带中文字库的12864是一种具有4位/8位并行、2线或3线串行多种接口方式的芯片,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。
利用这个模块灵活的接口方式和方便、简单的操作指令,可以构成全中文人机交互图形界面。
综上所述,考虑到本系统只需要显示一般的字符就可以了,所以这里选择价格比较便宜的LCD1602。
2.3.3 无线收发模块的选择方案一:利用红外线发射机和红外线接收机实现数据的收发,但红外线收发稳定性较差,易受其它连续光源干扰。
方案二:用F05P作为发射模块,J04V作为接收模块,并配合解码芯片PT2262,PT2272完成无线收发模块电路的设计,实现无线数据传输,但电路及编程比较复杂,不易于控制。
方案三:采用NRF905单片无线收发器。
它由一个集成的频率调制器、一个带有解调器的接收器、一个功率放大器、一个晶体振荡器以及一个调节器组成。
硬件集成载波侦听功能,具备地址匹配、收发完成状态指示的功能,它的抗干扰性能强。
接收发送功能合一,可实现半双工通信。
在配外置鞭状天线通信距离在300米左右。
它最明显的特点是性能很稳定,编程开发也比较简单,而且隔墙通信效果好。
以上三种方案综合考虑,选择方案三。
因为方案三抗干扰性较强,且易于使用,需要的外围元件较少,可以直接与单片机端口通讯,编程也比较容易实现。
2.3.4 检测模块的选择由于本系统要进行温度和湿度的检测,所以有以下两个方案选择。
方案一:采用单独的温度传感器和湿度传感器测量温度和湿度,这个方案需要两个传感器,电路较为复杂,且不易于控制。
方案二:采用集温、湿度于一体的温湿度传感器测量温度和湿度。
传感器DHT11是一款常用的温湿度复合传感器,其内部具有已校准的数字信号输出,一般应用专用的温湿度传感技术。
本器件使用单总线串行接口,使得系统集成变得非常简易和快捷。
综上所述,本课题采用方案二。
三、单元电路设计3.1 单片机最小系统设计主机部分主要由单片机最小系统、MAX232串口转换电路、1602液晶、NRF905无线模块等电路构成,主机部分的电路图如图3-1所示3.2温度采集模块设计(含单元电路图和原理介绍)3.3显示模块设计(含单元电路图和原理介绍)3.4按键控制模块设计(含单元电路图和原理介绍)四、软件设计(含设计流程图及说明)主机和从机的程序用C语言编程,主机主要实现接收从机发送过来的数据信息以及发出控制信号,能够显示接收到的数据信息,并与上位机通信,把接收到的数据传给上位机,同时负责把从上位机发出的指令发送到从机。
从机主要是采集数据、显示和发送数据,并能根据采集到的信息来自动控制大棚里的调节开关,必要时还可以利用上位机实现远程控制。
4.1 主机的程序流程主机的程序流程如图4-1所示。
主机上电开始初始化,与从机及上位机通信。
主机作为从机和上位机的中转站,一方面接收从机发送过来的数据,并判断是否超限值,如果高于或低于预设定的界限值主机发出警报并显示接收到的数据;另一方面上传数据到上位机显示数据。
当需要向远程的从机发送数据或命令时,上位机先发到主机再由主机利用无线模块发送到从机。
五、系统调试与误差分析(要有数据列表对比,分析原因)5.1 输出电流测试给电流源上电后,通过按键设定输出电流值,对应通过电流表实际测量的电流值相关数据如表6-1所示。
由表可知设定值的线性增大,相关数据也相应增大,但是由于采样电阻和复合达林顿管的放大倍数受温度的影响及测量仪表的精度不够而造成的误差(电流单位:mA)。
表5-1 输出电流测试数据表由于没有4位半的数字万用表,用实验室一般的数字万用表进行测量,因此测量的数据有一定的误差,还有就是大电流的时候由于元器件的发热,元器件的参数受到温度的影响也会造成一定的误差,但是这些误差都在允许的误差范围内。
绝对误差都是在设定值的±5%之内。
5.2步进电流测试本系统是采用12位串行D/A作为控制输出电压部分。
D/A通过单片机进行程序按键控制输出模拟量,模拟量对采样电阻进行电压控制再通过采样电阻转换为电流,从而形成恒流源。
虽然受到环境和系统温度及器件特性的影响,但是步进电流值仍然成线性增大。
测量数据如表5-2所示(电流单位:mA)。
表5-2 步进电流测试数据表此组数据的误差是由于测量仪器的精确度和硬件设计不够完善所带来的,但是都在允许的误差范围之内,所以总的来说还是能满足设计要求。