版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河 南 理 工 大 学万 方 科 技 学 院单 片 机 课 程 设 计 20112012学年 第 1 学期课 程 名 称:单片机原理与应用实例仿真设 计 题 目: 单片机课程设计 学 生 姓 名: 学 号: 0926304017 专 业 班 级:计算机科学与技术01班 指 导 教 师: 2011-10-24目 录一概述2二功能概述22.1设计任务:交通灯的硬件和软件设计22.2设计目的2三硬件设计23.1定时器33.2定时器计数器的概念33.3定时器计数器的相关寄存器33.4 定时器计数器的编程4四软件设计54.1定时器初始化5五电路图及仿真设计55.1设计完成原理图如下55.2南北跳转到黄灯
2、5s,东西仍为红灯65.3程序代码7六总结12参考文献13一概述引 言近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机设计交通灯控制器,. 二功能概述2.1设计任务:交通灯的硬件和软件设计2.2设计目的1.进一步熟悉和掌握单片机的结构和工作原理。2.掌握单片
3、机的接口技术及相关外围芯片的外特性,控制方法。3.通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5.通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。三硬件设计基础知识交通灯控制器实例主要使用了89C52定时器,基础知识主要包括交通灯的变化规律、定时器概念和工作方式、以及数码管的动态显示方式。3.1定时器定时器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用。首先介绍交通灯以及定时器计数器的基础知识,接着介绍本实例的硬件电路构
4、成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。3.2定时器计数器的概念89C52片机内有两个可编程的定时器计数器T0、T1。当定时器计数器用作“定时器”时,每经过1个机器周期(12个时钟周期),计数器加1。当定时器计数器用作“计数器”时,计数器在对应的外部输入管脚(T0为P3.4引脚,T1为P3.5引脚)上每发生一次1到0的跳变时加1。使用“计数器”功能时,外部输入每个机器周期被采样一次。当某一周期管脚状态采样为高电平而下一周期采样为低电平时,计数器加1。由于检测下降沿跳变需要两个机器周期(24个时钟周期)的时间,所以技术频率最大值只能为时钟周期的124。计数器
5、对外部输入信号的占空比并无限制,但为了保证给定的电平信号在其改变之前至少被采样一次,外部输入信号必须至少保持一个完整的机器周期。3.3定时器计数器的相关寄存器与定时器计数器相关的寄存器有定时器计数器工作方式寄存器(TMOD)、定时器计数器控制寄存器(TCON)。TCON已经在2.5节受控输出实例中介绍过,因此,在本例中主要介绍TMOD寄存器。定时器计数器工作方式寄存器(TMOD),字节地址89H,不可进行位寻址。定时器计数器工作方式寄存器(TMOD)的8位分为两组,高4位控制T1,低4位控制T0。TMOD每一位的功能如下。GATE:门控位。GATE0,仅由运行控制位TRX(X0,1)1来启动定
6、时器计数器运行;GATE1,由运行控制位TRX(X0,1)1和外部中断引脚上的高电平共同来启动定时器计数器运行。CT:定时器模式和计数器模式选择位。CT0,为定时器模式;CT1,为计数器模式。M1、M0:工作方式选择位。M1、M0的4中编码对应4种工作方式,对应关系见表210。3.4 定时器计数器的编程(1)初始化定时器计数器的初始化编程包括以下几个部分。根据要求给定时器计数器方式寄存器(TMOD)送一个方式控制字,以设定定时器计数器的工作方式。根据需要给TH和TL寄存器送初值,以确定需要的定时时间或计数的初值。根据需要给中断允许寄存器(IE)送中断控制字,以开放相应的中断和设定中断优先级。给
7、TCON寄存器送命令字以启动或禁止定时计数器的运行。(2)定时器计数器初值的计算。计数器初值:设计算器的模值位M,所需的计数值为C,计数初值设定为TC,则TC=M-C (M等于2的13次方,16次方,8次方)。定时器初值:设定时器的模值为M,需要的定时时间为T,定时器的初值设定为TC,则TC=M-T/t(M等于2的13次方,16次方,8次方)。四软件设计交通灯控制器实例使用了89C52片机的定时器,首先分定时器初始化,定时器中断服务程序两个部分介绍定时器计数器的软件编程,其次在画出程序流程图的基础上编写软件程序,并给出完整的交通灯控制器程序实例。4.1定时器初始化为了使定时器时间准确,避免因为
8、定时器重装而引起的累计误差,应将定时器设置为初值自动装置的8位定时器/计数器,即定时器工作在工作方式2.在12MHz晶振条件下,8位定时器的最长定时时间是0.256ms,为了方便计算取定时时间为0.25ms,所以,定时0.5s需要定时器中断2000次。下面计算定时器的初值。定时器初值TH0=(65536-50000)/256;TL0=(65536-50000)%256;每0.5ms定时器中断发生,num+1,程序跳转到中断服务程序T0-INT开始执行。中断服务程序每次将定时器中断计数变量减1,但定时器中断计数变量为0时,0.5s定时时间到,将位变量SECOND-FLAG置为1.定时器中断服务程
9、序通过RETI指令返回,程序将跳转到进入中断前的断点继续执行。五电路图及仿真设计5.1设计完成原理图如下在电路连接完成后,将写好的程序放入单片机,运行。5.2南北跳转到黄灯5s,东西仍为红灯在南北转换为红灯的同时,东西灯转换到绿灯持续25s;东西转换为黄灯持续5s,南北红灯不变;如此循环,从而实现交通灯的作用。5.3程序代码#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit kai=P30;sbit jia=P31;sbit jian=P32;bit guan=1,flag=0,ci=0
10、;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar i,num;uchar max=30;void delay(uchar z)uchar x,y;for(x=0;x<z;x+)for(y=0;y<110;y+);void key()while(!kai)delay(10);if(!kai) guan=guan;while(!kai);void tiao()bit sub,add;if(bit)(P3&0x02)=0)delay(5);if(bit)(P3&0x02)=0
11、)add=(bit)(P3&0x02);max+;if(max>30)max=30;while(!add)add=(bit)(P3&0x02);if(bit)(P3&0x04)=0)delay(5);if(bit)(P3&0x04)=0)sub=(bit)(P3&0x04);max-;if(max<6)max=6;while(!sub)sub=(bit)(P3&0x04);void main()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;while(1)key(
12、);if(guan)ET0=1;TR0=1;if(!flag) if(num<2*(max-5) P2=0xde;P0=0XF2;P1=table(max-num/2)/10; delay(1);P1=0xff; P0=0xf1;P1=table(max-num/2)%10;delay(1);P1=0xff;else if(num<2*max)if(num%2)P2=0x2e;else P2=0x3e;P0=0XF2;P1=table(max-num/2)/10;delay(1);P1=0xff;P0=0XF1;P1=table(max-num/2)%10;delay(1);P1=
13、0xff; if(flag)if(num<2*(max-5)P2=0xf3;P0=0XF2;P1=table(max-num/2)/10;delay(1);P1=0xff;P0=0XF1;P1=table(max-num/2)%10;delay(1);P1=0xff;else if(num<2*max)if(num%2)P2=0x35;else P2=0x37;P0=0XF2;P1=table(max-num/2)/10;delay(1);P1=0xff;P0=0XF1;P1=table(max-num/2)%10;delay(1);P1=0xff; elseTR0=0;num=0
14、;tiao();P0=0XF2;P1=tablemax/10;delay(1);P1=0xff;P0=0xF1;P1=tablemax%10;delay(1);P1=0xff;void time() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;i+; if(i=10)i=0;num+;if(num=2*max)num=0;flag=flag;六总结回顾起此次单片机课程设计,我仍感慨颇多,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。在实际设计中才发现,书本上理论性的东西与在实际运用
15、中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我发现单片机原理应用行很强,只看也不中,只有自己动手去做才会发现自己确实有太多的不足,许多的原理,程序看似简单,真正去做才知道知识并没有自己想象的那样扎实。从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。树立了对自己工作能力的信心,相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渭南公园安全生产管理讲解
- 湖南财经工业职业技术学院《检测技术与传感原理》2024-2025学年第二学期期末试卷
- 昆明艺术职业学院《社会调查原理与方法》2024-2025学年第二学期期末试卷
- 企业管理制度
- 上海出版印刷高等专科学校《设计文案写作》2024-2025学年第二学期期末试卷
- 湖北生物科技职业学院《酒店管理概论》2024-2025学年第二学期期末试卷
- 2026贵州黔东南州瑞榕实业发展有限责任公司招聘2人笔试模拟试题及答案解析
- 2026内蒙古锡林郭勒盟锡林浩特爱心口腔防治所招聘1人考试参考试题及答案解析
- 2026广西贵港桂平市农业投资发展有限公司招募见习人员1人考试参考试题及答案解析
- 八年级数学苏科版上册 1.2全等三角形 课时练( 含简单答案)
- 2023年湖南安全技术职业学院单招综合素质模拟试题及答案解析
- 《商场消防设施管理研究(论文)5400字》
- GB/T 5973-1986钢丝绳用楔形接头
- GB/T 1303.1-1998环氧玻璃布层压板
- 变电站的主要一次设备(课堂PPT)
- 地基处理第1章概述叶观宝课件
- 细菌的生长繁殖与变异
- 卫生专业技术人员基本信息表
- 小作文开头段基本句型
- 国外马克思主义
- 【精品班会】班主任德育教育课件:我的治班方略(共17张ppt)
评论
0/150
提交评论