版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计-PAGE3-《单片机课程设计》说明书学号:10121314姓名:芦金洋班级:10计Y指导教师:王建农2013年12月23日-2014年1月3日目录一、引言 31.1系统设计的意义与目的 31.2系统设计的基本要求和内容 3二、工作原理 42.1系统框图 42.2程序原理 42.3选题方案论证 52.3.1供电方式 52.3.2显示方案 6三、硬件设计 63.1单片机 63.1.1单片机的概述 63.1.2单片机的特点 63.2芯片介绍 73.2.1STC89C52芯片特性 83.4.2交通灯的状态显示 8四、软件设计 94.1程序设计语言 94.2程序设计软件 94.2.1编程软件 94.2.2烧录软件 104.3程序流程图 10五、调试测试 105.1调试 10。5.2测试过程 115.2.1通电测试 115.2.2基本测试 115.2.3复位测试 11六、结论 116.1特点 116.2存在的问题 12七、结束语 12参考文献 13附录 14图 14程序代码 15一、引言1.1系统设计的意义与目的(1)加强对单片机和C51语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正使用。
(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
(4)提高利用已学知识分析和解决问题的能力。
(5)提高实践动手能力。1.2系统设计的基本要求和内容任务:设计一个能够控制十二盏交通信号灯的模拟系统要求:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。1、东西绿灯亮,南北红灯亮2、黄灯亮3、东西红灯亮,南北绿灯亮二、工作原理2.1系统框图2.2程序原理1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所示,为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态0。中间可通过中断按钮产生中断,跳入中断程序执行中断。列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
5、通过脉冲中断编写中断程序,可实现中断。2.3选题方案论证2.3.1供电方式连接单片机控制芯片板和笔记本设备的USB接口,使用笔记本的电源,打开芯片板总开关正常通电。本方案的优点是系统简明扼要,节约成本;缺点是输出功率不高,笔记本要保持在通电的状态。HYPERLINK2.3.2显示方案采用LED数码管与LED有色发光二极管相结合的方法因为程序设计既要求倒计时数字显示输出,又要求有状态灯的亮灭等,为方便观看并考虑到现实情况,用LED数码管与LED灯分别显示时间与灯的亮灭情况。三、硬件设计3.1单片机3.1.1单片机的概述单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。3.1.2单片机的特点1.特点:(1)体积小巧,携带方便
USB接口通讯及供电,通讯速度快,无须外接电源
(2)活动自锁40Pin锁紧座(3)有电源和烧写状态指示灯,可直观了解编程器当前状态
(4)只需要USB供电,无需使用外部电源。周密的自保护方式,有效保证不损毁用户器件或编程器本身。
2、USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直流电源。
3、8位数码管(可做数码管的静态扫描以及动态扫描显示实验.
如:0-999
计数器实验,
18B20温度检测实验,遥控解码实验等都可以用数码管显示)。
ZX100实验板做8位电子钟实验图:
8位LED发光二极管(做
跑马灯实验
交通灯实验
)。
4、一路继电器控制(通过继电器可以控制其他电器设备的工作低压控制高压等实验
,不过为了安全,
建议不要控制电压超过30V的设备)
5、蜂鸣器(做单片机发声实验
播放音乐实验
报警实验等声响实验)
6、AT24C08外部EEPROM存储芯片(IIC总线元件实验)
7、SPI串行实时时钟
DS1302(熟悉SPI总线
用DS1302可以做一个万年历电子时钟
,比定时器做的精确很多哦)
8、
板上集成一体化红外接收头(方便学习红外遥控接收,
解码实验.)
9、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口,同时也可做为STC单片机下载程序的接口及仿真调试的接口)
10、字符液晶1602LCD接口,
采用接插件方式方便插拔(可显示两行,每行16个,共计32任意
ASCII码字符,它的功能应用比数码管丰富很多
显示的信息量更大
实验板1602液晶显示实物图:
11、图形点阵液晶12864接口,采用接插件方式方便插拔(可显示任意汉字和图形,是目前单片机
图文显示最常用的显示器件,我们实验板支持带字库的12864液晶,开发程序更方便.
3.2芯片介绍本设计选用了市面上较为常见的STC89C52单片机,STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。3.2.1STC89C52芯片特性主要性能:
(1)与MCS-51单片机产品兼容
、8K字节在系统可编程Flash存储器、
1000次擦写周期、全静态操作:0Hz~33Hz
、三级加密程序存储器
、
32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、
低功耗空闲和掉电模式
、掉电后中断可唤醒
、看门狗定时器
、双数据指针、掉电标识符
。
功能特性描述
(2)
STC89C52
是一种低功耗、高性能CMOS8位微控制器,具有
8K
在系统可编程Flash
存储器。使用高密度非易失性存储器技术制造,与工业80C51
产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8
位CPU
HYPERLINK3.4.2交通灯的状态显示 简单的十字路口交通灯基本拥有四个状态,依次循环显示这些状态,构成基本的交通灯控制系统。交通灯基本状态表S1S2S3S4东西向红灯时长20s南北向绿灯时长15s东西向红灯时长5s南北向黄灯时长5s南北向红灯时长10s东西向绿灯时长15s南北向红灯时长5s东西向黄灯时长5s四、软件设计4.1程序设计语言在本次设计中,采用了C语言作为程序编程的语言。4.2程序设计软件4.2.1编程软件程序设计选择了KeilμVision2.0编程环境的软件。这款软件支持众多不同公司的MCS51架构芯片,它集编辑、编译、仿真为一体,同时还支持PLM、汇编和C语言的程序设计,界面友好、简单易学,在调试程序。软件仿真方面都有很强大的功能。在初期的软件调试阶段,KeilμVision会提供非常便利的环境。4.2.2烧录软件程序设计还使用了单片机烧录软件STC_ISP_V483.exe软件。由于STC89系列的单片机具有系统可编程特性(ISP),省去购买通用编程器。把程序烧录进IC芯片,无须将单片机从已生产好的拆下,通过编程器将程序代码烧录单片机内部。直接下载到单片机中显示程序结果,若现实结果与预期不一致,再返回Keil软件修改程序,再次进行调试显示结果。有些程序尚未定型的产品可以一边生产,一边完善,加快了产品进入市场的速度,减小先产品由于软件缺陷带来的风险。4.3程序流程图五、调试测试5.1调试
1、接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对P1口的接线做了调整。即,P1.0接绿灯,P1.1接黄灯,P1.2接红灯,P1.3接绿灯,P1.4接黄灯,P1.5接L3红灯
2、从0100H单元开始连续运行,观察六个LED灯是否与交通显示情况对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。
3、调试完灯的显示后,从0100H开始连续运行,观察数码管显示的是否正常,如果不正常,则运用单步运行或断点运行进行分析和调试,直至满足要求。
4、整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。直至满足要求。。5.2测试过程5.2.1通电测试 编写程序之前检测硬件电路板是否有短路或设备连接不稳固等隐患。通电后打开电路板开关,LED数码管显示1234的字样。应为我的程序设计中仅用到了数码管和发光二极管,通过烧录软件将磁盘中的LED循环左移程序烧录芯片中运行,结果显示LED发光二极管电路连接良好,未发生短路状况。5.2.2基本测试 编写好的程序通过KeilμVision2.0编译生成.hex文件,再用烧录软件将.hex文件烧录到芯片中,通电后程序运行:初始状态为东西红灯亮,南北绿灯亮,双位数码管显示倒计时为20和15。状态2东西红灯亮,南北黄灯闪烁,数码管显示都为5。状态3东西绿灯亮,南北红灯亮,数码管显示15和20。状态4东西黄灯闪烁,南北红灯亮,都是5s。程序依次循环显示这四个状态。5.2.3复位测试 程序运行时,若在状态2、3、4显示的途中,按复位键RES_51键,程序立刻回转初始状态运行。反复测试成功。六、结论6.1特点系统采用了STC89C52芯片的硬件设计,简便、实用性强、操作简单、程序设计简便;同时采用了C语言作为程序编程的语言,可读性和可移植性高于汇编语言。采用STC89C52芯片I/O:P1.0~P1.7口做LED有色发光二极管来显示东西南北向的红绿灯;红绿灯亮灭显示:0为点亮,1为熄灭;黄灯闪烁显示:P1.1=~P1.1;四位LED数码管动态显示倒计时,前两位显示东西向,后两个显示南北向的倒计时。6.2存在的问题程序设计过程中东西南北时间为固定值,若考虑到车流高峰时,固定设置的红绿灯时间可能会造成交通更加堵塞,易发生交通事故。程序过于简单,只能适用于一些车流简单的小路段使用。七、结束语本设计能够实现对十字路口人车通行的指示,提高通行质量,主要适用于通流量较小的十字路口,适合普通通行方式的十字路口。对于一些复杂的通流量大的十字路口效果就差了,它对于转弯没有指示,需要改进的是,在各个方向加上一个指示转弯的指示灯。再通过程序实现对定时的改变,便可使此交通灯系统实现全方位的指示。由于时间有限,在此就不做此项扩展。参考文献[1]王建农:用单片机实现多路电量脉冲测量的接口设计.微计算机信息,2005,9(2):133~135.[2]谭浩强:C程序设计(第三版)北京:清华大学出版社,2005-7:95~104[3]温欣玲张玉叶:基于单片机交通灯智能控制系统研究,微计算机信息1999:90-91[4]周美珍,江志华:单片机控制交通灯的硬件与软件设计,家庭电子,2005:9(20):20-21附录图交通灯程序控制线路图十六进制数形转换表交通灯电路显示图程序代码//写入头文件AT89S52.H#include"AT89S52.H"/****************初始变量设定*****************/sbitp1_0=P1^0;//定义P1口的8位sbitp1_1=P1^1;sbitp1_2=P1^2;sbitp1_3=P1^3;sbitp1_4=P1^4;sbitp1_5=P1^5;sbitp1_6=P1^6;sbitp1_7=P1^7;bitflag=0;//定义显示状态控制位intns_time;//定义东西,南北红黄绿各自的时间初值分别为20,15,5秒intew_time;intns_time_red=20;intns_time_green=15;intns_time_yellow=5;intew_time_red=20;intew_time_green=15;intew_time_yellow=5;charpoint=20;//定时的控制次数初值设定inta=0;//南北,东西两方向切换状态标志初值设定charcodeled_discode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳极显示0-F对应的字型码charcodetable[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};/**************延时子函数**************/delay(intt)//延时子函数{ while(t--);}/***************显示倒计时**********************************/voiddisplay(intew_time,intns_time){ charqian_bit,bai_bit,shi_bit,ge_bit; qian_bit=ew_time/10; P0=led_discode[qian_bit];//显示东西十位 P3=P3&0x0f; P3=P3|0xe0; delay(500); bai_bit=ew_time%10;P0=led_discode[bai_bit];//显示东西个位 P3=P3&0x0f; P3=P3|0xd0; delay(500); shi_bit=ns_time/10; P0=led_discode[shi_bit];//显示南北十位 P3=P3&0x0f; P3=P3|0x70;delay(500); ge_bit=ns_time%10;P0=led_discode[ge_bit];//显示南北个位 P3=P3&0x0f; P3=P3|0xb0;;delay(500);}/**************t0中断定时子函数*****************/inttint()interrupt1using2//t0中断(定时器0中断)子函数{ TH0=0x3c;//定时50ms初值设定 TL0=0xb0; point--;//20次T0定时次数控制 if(point==0)//如果20次到了,改变显示的东西南北方向的时间 { flag=1; point=20; if(ns_time!=0) ns_time--; if(ew_time!=0) ew_time--; }}/*********************主函数******************/voidmain(void){ TMOD=0x01;//设置定时方式1 TH0=0x3c;//定时初值50MS TL0=0xb0; TR0=1;//T0溢出中断请求开启 EA=1;//总中断开启 ET0=1;//T0中断开启 EX0=1; //外部中断INT0开启 IT0=1; //设置开关下降沿有效 EX1=1; //外部中断INT1开启 IT1=1; //设置开关下降沿有效 ns_time=ns_time_green;//东西南北红黄绿灯时间赋值 ew_time=ew_time_red; ew_time_red=ns_time_green+ns_time_yellow; if(!a)//a=0,东西显示20开始倒计时,南北15开始倒计时 { ew_time=ns_time_red; ns_time=ew_time_green+ew_time_yellow; } while(!a)//a=0,进入循环 { if(ns_time-5>0)//南北红灯,东西绿灯 { //while(!flag); display(ns_time,ns_time-5);//flag=0,显示东西20s,南北15s p1_1=1; p1_6=1; p1_7=0;//东西红灯亮 p1_4=0;//南北绿灯亮 } if(ns_time<=5)//东西时间<=5时,东西红灯,南北黄灯闪烁, { while(!flag); display(ns_time,ns_time);//东西,南北均从5开始倒计时显示 display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(ns_time,ns_time); display(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟台东方威思顿电气有限公司2026届校园招聘200人备考题库含答案详解
- 2025年可克达拉职业技术学院第四批次面向社会公开招聘教师12人备考题库及1套参考答案详解
- 2025年北海市高德粮库有限公司公开招聘会计主管的备考题库附答案详解
- 2026年陕西机电职业技术学院单招职业适应性测试题库含答案详解(研优卷)
- 2026年防城港职业技术学院单招职业适应性考试题库附参考答案详解(黄金题型)
- 2025年富源发展投资集团有限公司面向社会公开引进高层次人才二次挂网备考题库及完整答案详解
- 2026年黎明职业大学单招职业倾向性测试题库附参考答案详解(巩固)
- 2026年陕西省延安市单招职业倾向性考试题库附答案详解(预热题)
- 2026年鞍山职业技术学院单招职业技能考试题库附答案详解(黄金题型)
- 2026年阳江职业技术学院单招职业技能测试题库及答案详解(易错题)
- 常压储罐完整性管理系统:构建、应用与展望
- 电力线路巡检报告模板
- 劳务合同2026年合同协议
- 2025年高职(金融科技应用)金融科技基础专项测试试题及答案
- 理疗店应急预案(3篇)
- 2026年新疆生产建设兵团兴新职业技术学院单招职业技能测试题库及答案详解一套
- 鼾症科普宣传课件
- 义务教育《英语课程标准》(2025年修订版)原版核心框架+深度解读+测试题及答案
- 配电箱设备防护维护技术方案
- 2026年苏州工业职业技术学院单招综合素质考试题库附答案
- 2025版《煤矿安全规程》解读
评论
0/150
提交评论