2014年单片机课程设计报告模板(WIT)
- 格式:doc
- 大小:7.71 MB
- 文档页数:21
单片机课程设计报告专业:班级:学号:姓名:2014年6月22日目录数码管消隐 (3)1.1项目简介 (3)1.2电路原理图 (4)1.3参考程序 (6)按键从右至左输入 (8)2.1项目简介 (8)2.2电路原理图 (10)2.3参考程序 (10)步进电机转速数码管显示 (16)3.1项目简介 (16)3.2电路原理图 (18)3.3参考程序 (19)PCF8591 DA输出模拟 (24)4.1项目简介 (24)4.2电路原理图 (25)4.3参考程序 (26)自动调光测试 (30)5.1项目简介 (30)5.2电路原理图 (31)5.3参考程序 (32)数码管消隐1.1项目简介LED显示器有共阳极和共阴极两种,共阴极LED显示器是发光二极管的阴极连在一起,通常此公共阴极接地;共阳极LED显示器是发光二极管的阳极连在一起,公共阳极接正电压。
通过LED显示器中二极管的亮灭,则显示不同的字符或数字。
共阴极发光二极管内部结构图多位数码管的动态显示在多位8段数码管显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个单片机的8位I/O口控制,形成段选线的多路复用。
而各位数码管的共阳极或共阴极分别由单片机独立的I/O口线控制,顺序循环地点亮每位数码管,这样的数码管驱动方式就称为“动态扫描”。
在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”,只要延时时间设置恰当,便会感觉到多位数码管同时被点亮了。
多位8段LED动态显示器电路,其中段选线占用一个8位I/O口,位选线占用一个8位I/O 口,由于各位的段选线并联,段线码的输出对各位来说都是相同的。
因此,同一时刻,如果各位位选线都处于选通状态的话,8位LED将显示相同的字符。
若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一位的位选线处于选通状态时,其它各位的位选线处于关闭状态,这样,8位LED中只有选通的那一位显示出字符,而其它位则是熄灭的。
课程设计要求总体要求:1、按照总体方案设计、软件编写和硬件电路设计三方面进行评价。
2、软件编写要求:主程序和各个子程序的流程图,程序以附件形式附在报告后。
3、程序附件可打印,其他部分要求手写。
设计一:智能取药机本设计针对成药抓取过程进行智能化,利用单片机自动寻药、计件、显示药物及患者名称,并在取药完成后进行蜂鸣提醒。
功能描述如下:1.药剂师用键盘输入处方编号,按“OK”键进入下一步。
2.输入第一种药品编号和剂量,按“OK”键表示进入下一种药品的编号和剂量输入。
3.如果输入过程中有误,利用“CLR”键删除。
4.所有药品输入完成,点击“结束”键,药品输入过程结束,显示屏显示所有药品编号和剂量。
5.随后进行取药工作,在后台药品存放处,单片机逐次找到对应药品存取空间,输出高电平打开电动闸。
6.药品下落到传送带上,进行光电计数(每计一件,增加一个正向脉冲)。
7.在全部药品由传送带送至前台后,单片机核对光电计数值与输入值:如果正确,显示器显示该患者姓名,并进行蜂鸣提示;如果错误,显示器提示药品有误,并用另一频段的蜂鸣器进行报警。
8.点击“OK”键,停止蜂鸣,准备下一张处方的录入。
设计二:自行车骑行仪为自行车骑行者设计带有显示、报警、照明等功能的骑行仪,该仪器安装在车把处,以26寸自行车为例,结合霍尔传感器计速,并利用光电传感器和LED照明,提高骑行员的安全。
功能描述如下:1.利用霍尔传感器测量车速。
2.实时显示当前日期、时间、车速和里程累计值(可选LCD显示屏或数码管),参考的显示界面如下:3.设计按键,实现对时间和日期的设置。
长按“SET”键(超过2s),进入日期和时间的设置状态,依次设置“月/日/时/分/秒”。
4.在自行车时速超过35km/h时,蜂鸣器提示报警。
5.光线过暗的条件下(如夜间、隧道行驶等),自动点亮车前的LED灯进行照明,同时,自动点亮车后座处安装的LED对后车进行警示。
注意:车前灯采用白色LED照明,车后等采用红色LED以流水灯形式进行警示。
课程设计报告课程名称单片机原理及应用设计题目电子琴的设计专业班级自动化1142姓名周太永学号1104421242指导教师蔡长青张卓起止时间2014.6.23-2014.7.11成绩评定考核内容设计表现设计报告答辩综合评定成绩电气与信息学院2013/2014学年第二学期《单片机控制系统设计与调试》课程设计任务书指导教师:蔡长青班级:自动化1141、2班地点:机房、单片机实验室(实训中心415)课程设计题目:基于单片机原理的电子琴设计一、课程设计目的1.灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。
2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。
3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础。
二、课程设计内容(包括技术指标)1.焊接。
认真、仔细,避免缺焊、漏焊。
2.频率计算。
会计算脉冲值与频率的关系。
3.工作过程。
开机时,第一步是对定时器T0进行初始化,设定它的工作状态(对于本系统将T0设定为工作方式0);然后判断是否有键按下,如果没有按键按下,继续判断,如果有按键按下,则判断是哪个键按下;再根据按键的功能将计数初值装入定时器T0中中并启动T0,当T0定时完毕后,重新装入计数初值继续定时并将P3.3取反,再次定时完毕后再一次的装入计数初值继续定时并将P3.3取反,一直循环此操作直到按键释放为止,按键释放后停止T0工作并再次判断是否又有按键按下,并继续执行以前的过程。
三、时间安排1.布置任务、查资料1天2.硬件电路图设计及PCB制版3天3.硬件电路图及PCB制版验收、电路板焊接1天4.软件编程设计3天5.系统调试3天6.调试验收1天7.完成设计报告3天四、基本要求1.画出硬件电路图,完成PCB制版;2.画出软件流程图,编写程序(C51语言/汇编语言);3.完成系统调试;4.提交设计报告。
单片机课程设计课程设计名称:多功能万年历设计专业班级:学生姓名:学号:指导教师 :课程设计时间:2014年9月3-9月12日电信专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1 需求分析本设计主要分为硬件电路设计和软件实现两大部分。
硬件电路设计采用模块设计:中央处理电路、时钟电路、温度测量电路三大部分;软件采用C 语言编程实现,设计采用按功能模块划分,包括:主程序、显示程序、温度测量程序、时钟程序等。
利用单片机89C52进行控制,外加掉电存储,实时时钟芯片进行计时,实现时钟年月日时分秒的显示与调节,闹钟定时操作以及温度时时显示,最终完成一个简易万年历的制作及单片机的实践学习。
2 概要设计硬件电路模块图2.1. 系统方框图程序模块系统供电程序初始化,依次运行程序。
部分自定义函数的功能展示。
void show_time() 液晶显示程序unsigned char LCD_Wait(void) 内部等待函数typedef struct __SYSTEMTIME__ DS1302时钟部分子程序void DateToStr(SYSTEMTIME *Time) 将时间年,月,日,星期数据转换成液晶显示字符串,放到数组里DateStringvoid Initial_DS1302(void) 时钟芯片初始化void temp_to_str() 温度数据转换成液晶字符显示void Upkey() 升序按键void Downkey() 降序按键void Setkey()模式选择按键void keydone() 按键功能执行3 运行环境在设计中硬件电路子啊proteus上搭建并仿真的,程序用C语言编写在keil运行调试。
由Keil C51生成的目标代码hex文件下载到proteus上进行调试运行。
Keil的效率非常之高,能够同时适用C语言与汇编语言。
而C语言在功能上、结构性、可读性、可维护性上比汇编语言有明显的优势,并且易学易用。
单片机课程设计报告各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢课题专业:电气工程及其自动化班级:学号:姓名:指导教师:设计日期:2014/6/3 成绩:重庆大学城市科技学院电气学院基于51单片机数字温度计设计报告一、设计目的作用本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89C52,,四位共阴极数码管一个,电容电阻若干。
DS18B20支持“一线总线”接口,测量温度范围-55°C~+125°C。
在-10~+85°C范围内,精度为±°C。
18B20的精度较差,为± 2°C 。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。
本次数字温度计的设计共分为五部分,主控制器,LED显示部分,传感器部分,复位部分,按键设置部分,时钟电路。
主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路,按键部分用来设置上下限报警温度。
测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。
二、设计要求.利用DS18B20传感器实时检测温度并显示。
.利用数码管实时显示温度。
.当温度超过或者低于设定值时蜂鸣器报警,LED闪烁指示。
.能够手动设置上限和下限报警温度。
三、设计的具体实现1、系统概述方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
单片机技术及应用综合训练(设计报告)题目:姓名:学院:专业:班级:学号:指导教师: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语言的学习和掌握。
河南理工大学《单片机应用与仿真训练》设计报告题目:多机温度检测系统姓名:王子洲、张亚辉学号:专业班级:指导老师:王莉所在学院:电气工程与自动化学院2014年01月13日摘要多机温度检测系统是采用STC10F08XE 8位单片机作为控制核心设计了温度测量系统,该系统由温度检测模块、微控制器模块、串口通信模块、数码管显示和报警模块等四部分组成,能对0℃~99℃范围的温度进行测量,同时利用4位八段数码管可以实时显示环境温度。
该系统结构简单,成本低,可同时采集不同位置的温度大小,具有较好的应用价值。
本系统首先由两片下位STC10F08XE单片机通过P0_4口不断循环采集数字化温度传感器DS18B20的温度数据,然后转换成十进制温度值,通过串行口发送至上位STC10F08XE单片机,由上位机通过串行口接收数据,再与上位机设定的温度上下限进行比较,判断是否进行报警,上位机同时驱动四位八段数码管将温度显示出来。
实现本系统的主要难点在于温度的采集和传送。
DS18B20只需要接到单片机的一个I/O口上,由于单总线为开路所以需要外接一个4.7K的上拉电阻。
其功能强大,但需要不断地发送采集命令以及循环读取它传出的数值,然后进行换算成十进制温度。
单片机串口通信是单片机一个非常有用的功能,可以构建多机系统来实现更为强大的功能,而且通过MAX232可以进行远距离的通信,实现远程控制。
我们采用了简单的直接通信而未进行数据发送前的请求应答和数据发送完后的数据检查和校错。
当然,由于我们是首次设计这样完整的应用系统,可能实现的功能不太完善。
关键词:STC10F08XE 温度测量串口通信 DS18B20 Max232目录目录1.概述 (4)1.1.课题背景以及课题研究的意义 (4)1.2.课题的研究的工作以及存在的困难 (4)2.系统总体方案及硬件设计 (5)2.1.系统核心器件简介 (5)2.1.1.单片机STC10F08XE: (5)2.1.2.温度传感器DS18B20介绍: (6)2.2.系统总体设计方案 (8)2.3.系统硬件设计 (8)2.3.1.单片机最小系统设计 (8)2.3.2.DS18B20与STC10F08XE单片机接口电路的设计 (9)2.3.3.下位机与上位机串行通信电路设计 (10)2.3.4.LED显示电路设计 (10)2.3.5.数码管显示电路 (11)2.3.6.键盘电路设计 (11)3.系统软件设计 (12)3.1.上位机软件设计思路 (12)3.2.DS18B20测温系统设计方案 (13)3.3.下位机软件设计方案 (13)4.Proteus软件仿真 (14)5.课程设计体会 (15)参考文献: (15)附1 源程序代码 (16)附2 系统原理图 (29)1.概述1.1.课题背景以及课题研究的意义随着科学技术的发展,人们的生活水平越来越高,人们对计算机的要求也越来越高。
2014单片机课程设计报告要求:(1) 温度读取(2) LED数码管或LCD显示(3) 定时读取数据(4) 报警一、原理概述:STC89C52单片机为主控制器,用于处理采集的温度值以及相关报警值。
本设计采用DALLAS公司的DS18b20示。
二、实验设备:51STC89C52DS18B20 设计内容软件流程图设计方法:DS18B20特性• 独特的单线接口仅需一个端口引脚进行通讯• 简单的多点分布应用• 无需外部器件• 可通过数据线供电• 零待机功耗• 测温范围-55---+1250.5℃递增。
华氏器件-67---+2570.9℉递增• 温度以9 位数字量读出• 温度数字量转换时间200ms• 用户可定义的非易失性温度报警设置•• 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统温度传感器说明DS1820 数字温度计以9 位数字量的形式反映器件的温度值。
DS1820DS1820 之间仅需一源。
因为每个DS1820 所以多只DS1820 可以同时连在一根单线总HV AC 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。
4位8段数压电式蜂鸣器是一种电声转换器件。
压电式蜂鸣器具有体积小、灵敏度高、耗电省、可靠点和良好的频率特性。
因此它广泛应用于各种电器产品的报警、发声用途。
最常见的莫过于音乐贺卡、电子手表、袖珍计算器、电子门铃和电子玩具等小型电子用品上作发声器件。
硬件原理图51单片机void tim(void) interrupt 1 using 1 //9个寄存器前两个就是温度a=ReadOneChar();。
《单片机原理与应用课程设计》设计报告2014——2015学年第2学期设计题目:基于单片机的简易电子琴姓名:王云飞专业班级:光电信息132 学号: 1893130221安徽科技学院数理与信息工程学院1 课题设计内容本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。
先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
具体实现的功能:按下音符键可以发出相应的音符。
2 设计方案论证基本乐理知识:乐音听起来有的高、有的低,这就叫做音高。
音高是由发声物体振动频率的高低决定的,频率高声音就高,频率低声音就低。
音持续时间的长短即时值,一般用拍数表示。
休止符表示暂停发音。
一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同的频率组合,加以拍数对应的延时,构成音乐。
如果单片机要自己播放音乐就必须考虑到节拍的设置。
对于AT80C51而言要产生一定频率的方波一般是先将某口线输出高电平,延迟一段时间后再输出低电平。
通过改变延迟时间可以改变单片机的输出频率。
单片机的延时主要有两种方式,即软件延时和使用定时/计数器延时。
其中软件延时不是很精确,而电子琴电路由于每个音符的频率值要求比较严格,因此我们选用定时/计数器延时。
由于本课程设计是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。
因此,我们只需弄清楚音乐中的音符和对应的频率,利用单片机的定时/计数器来产生方波频率信号即可。
单片机课程设计实验报告实验题目:频率可控的正弦波信号发生器专业:计算机科学与技术分组成员:指导教师:2014 年12月31日《单片机原理与应用》课程设计一.设计时间2014年12月29日-------12月31日二.设计地点三.设计目的1.巩固学习《单片机原理与运用》课程知识2.熟练掌握Keil uVision4和ISIS 7 Professional的安装与应用3.熟练掌握C语言的知识,巩固A/D,D/A模块的学习4.培养查阅资料,独立思考问题的能力四.设计小组成员五.指导老师六.设计课题频率可控的正弦波信号发生器七.实验内容表1.实验元件清单电子元件名称元件英文名称型号数量单片机芯片SCM AT89C51 1D/A转换器D/A DAC0832 1示波器OSCILLOSCIPE 1运算放大器OPAMP 1 电阻RES 3开关SWITCH 3●CPU芯片—AT89C511.AT89C51概述AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
2. AT89C51引脚说明AT89C51单片机引脚图如图3-2所示。
它有40个引脚,其中包含2个专用于主电源的引脚,2个外接晶体的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O 引脚。
●D/A转换器DAC0832当今世界在以电子信是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。
这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。
1、DAC0832的引脚及功能:DAC0832是8分辨率的D/A转换集成芯片。
与微处理器兼容。
电气信息学院单片机技术课程设计报告课题名称专业班级 10电气 班 学 号 学生姓名 指导教师 评 分2013年6月17日至6课程设计量化评分标准指导老师评语:1、例举设计过程中遇到的问题及其解决方法(至少两例)。
答:(1)问题说明:解决方法:(2)问题说明:解决方法:2、教师现场提的问题记录在此(不少于2个问题)。
答:摘要液晶显示电话防盗报警器是将数字技术、计算机技术、通讯技术、安全报警技术结合起来,利用家庭电话线进行报警的综合报警系统.系统的主要功能是当盗贼进入室内触动报警触发开关时,立即启动电话拨号报警程序,向主人告警。
系统集成了IIC总线器件—AT24C01、扫描键盘、16*2字符型液晶显示等子模块,并利用AT89S51单片机作为系统控制核心,负责控制检测输入/输出显示,模拟摘机、拨号报警、挂机、驱动液晶显示、读写EEPROM等一些列的程序动作,使整个系统操作简便并且充满人性化。
系统利用功能强大的C语言开发,并在软硬件设计中分别使用了Protel 99se 、keilC51开发平台。
结果表明,该产品具有有单片机;目录1 设计任务12设计方案 (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 系统原理图 (11)附录2 系统PCB图 (12)附录3 程序清单 (13)1 设计任务支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
用红、绿、黄发光二极管作信号灯。
如图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 系统的硬件原理框图单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB 的FLASH ROM ,设计时无需外接程序存储器,为设计和调试带来极大的方便。
南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。
键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的I O 口不够用时,可以考虑扩展8255或8155满足系统的要求。
2. 软件方案根据设计要求,程序框图如图2.2所示。
软件可由汇编语言完成,也可由C 语言完成。
软件设计可以分为以下几个功能模块: 主程序:初始化及键盘监控。
计时程序模块:为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。
显示程序模块:完成12个发光二极管(实际上只需驱动6个)和4个LED 数码管的显示驱动。
键盘扫描程序模块:判断是否有键按下,并求取键号。
图2.2 主程序流程图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中断处理流程图51、系统仿真过程 ......图5.1 xxxx 图2 仿真结果与分析当交通灯上电复位后,数码管显示p 西方向亮红灯。
显示器开始倒计时。
当按下结束键k2西的方向全灭。
图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附录1 系统原理图附录2 系统PCB图附录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;...排版打印时要注意的其它地方:1)页面设置——设计(论文)采用计算机打印,用标准的A4纸(210mm ×297mm),上、下页边距分别为25mm和20mm;左边距25mm;右边距20mm。