版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机硬件实习报告题 目 : 模 拟 电 梯 设 计 学生姓名: 学号: 学院(系: 专业班级: 指导教师: 实习时间: 2011 年 2 月 21 日 2010 年 3 月 4 日目 录1.前言11.1设计背景11.2设计内容11.3硬件实习的目的12.硬件电路描述及设计12.1 电路连线及概述12.2 8255扫描键盘及与led接口电路图23.软件电路描述及设计33.1软件设计流程图34.源程序代码45.设计心得10参考文献101.前言1.1设计背景电梯作为现代高层建筑最常用的垂直运输工具,广泛应用于社会活动的各个角落,如何保证每台电梯都能够可靠运行,已成为提高物业管理水平和电梯技术进步
2、的关键所在。电梯运行质量直接由控制系统的功能决定,而控制系统软件又直接决定着控制系统运行的好坏。上位机监控对电梯安全运行和故障维修具有重要意义,在减少维修管理人员的同时,可及时发现故障,缩短故障候梯时间,实现管理的自动化。面向对象的程序设计更适合对现实生活中的描述,更加体现了软件的工业化的精神。1.2设计内容本文根据实验室提供的单片机实验箱,利用键盘、开关、数码管和 led模拟实现八层电梯的控制。并且设计急停开关和断电维修开关以模拟实物电梯的更多的运行功能。软件利用c语言,通过检测用户请求的按键信息,根据电梯运行到相应楼层送到单片机计数来确定楼层数,并送到数码管进行显示。硬件设计简单可靠,结合
3、软件,基本实现了八层电梯运行的模拟。1.3硬件实习的目的(1)利用所学过的知识,初步分析单片机原理及接口技术的能力;(2)进一步掌握硬件电路和软件功能的设计方法;(3)了解8255可编程并行接口芯片的工作原理,掌握8255的各种模式编程方法;(4)实验结果调试分析、总结及撰写技术报告的能力。2.硬件电路设计及描述2.1 电路连线及概述p1.0-p1.7接l0-l7八个发光二极管2.2 8255扫描键盘与led接口电路图3.软件设计流程及描述 3.1软件设计流程图4.源程序代码#include#include/*the address of 8255*/#define c8255 xbyte0x
4、f22b /8255command#define p8255a xbyte0xf228#define p8255b xbyte0xf229#define p8255c xbyte0xf22a#define p8255 xbyte0xf22a/* three tables */unsigned char code table= /segment value for led0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f;unsigned char code table1=/0x7f-light p10 .0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0
5、xfd,0xfe;unsigned char code table2= /p1=table1elevator.currentlevel|table2elevator.currentlevel0x80,0x40,0x20,0x10, /-extinguish the led on current floor0x08,0x04,0x02,0x01;void init();void keyscan();void currentshow(unsigned char); void delay();/2svoid delayms();/20msunsigned int move;unsigned int
6、currentfloor;unsigned int direction;unsigned int destination9;char times=0; unsigned int repairs; /0-do not repair; 1-repairing/* */ void main()unsigned char i,j;init(); /*init the elevator*/currentshow(currentfloor);while(1)while(repairs=250) / repairs=250 need to repairrepairs=p33;move=p31;keyscan
7、();while(move=254&destination0!=0) /moving key was pressed while(repairs=250) / repairs0;j-) /weather there are destinations downstairsif(destinationj=0x1)break; if(jbit orbreak;case 1: /risingif(currentfloor=8) /weather there are destinations upstairsmove=0;direction=2;else for(j=currentfloor+1;j8)
8、direction=2;elseif(destinationcurrentfloor+1!=0)/ move=0;destination0-;direction=0;destinationcurrentfloor+1=0;p1|=table2currentfloor;/extinguish the corresponding led/ |-bit orcurrentshow(currentfloor);currentfloor+;break;default: /stationaryfor(i=1;i9;i+) /decide up or downif(destinationi!=0)break
9、; if(icurrentfloor)/should updirection=1;elsemove=0;destination0-;direction=0;destinationcurrentfloor=0;/the destination is current level, /do nothing but extiguish the ledp1|=table2currentfloor-1;delay(); /2s/levelvoid init() /timer,elevator unsigned char i;/*timer and external interrupt init*/tmod
10、=0x01;th0=(65536-45872)/256;/50mstl0=(65536-45872)%256;ea=1;et0=1;ex0=1;ex1=1;it1=1;/*elevator init*/move=0;/*0-the elevator now will not move,commands comes from p30*/for(i=0;ilight the corresponding ledcase 0xfd:key=1;p1&=table1key;break;case 0xfb:key=2;p1&=table1key;break;case 0xf7:key=3;p1&=tabl
11、e1key;break;case 0xef:key=4;p1&=table1key;break;case 0xdf:key=5;p1&=table1key;break;case 0xbf:key=6;p1&=table1key;break;case 0x7f:key=7;p1&=table1key;break;destinationkey+1=1; /set the corresponding level destination0+; /total number of destination temp=p8255b; while(temp!=0xff) temp=p8255b;void cur
12、rentshow(unsigned char num)p8255c=0x0; /wei xuanp8255a=tablenum;void delayms()unsigned int i,j;/delay for 20msfor(i=20;i0;i-)for(j=110;j0;j-);void delay()tr0=1;while(times!=40)times=0;tr0=0;void t0_timer() interrupt 1th0=(65536-45872)/256;/50mstl0=(65536-45872)%256;times+;void extern0() interrupt 0
13、/wait to repairex1=0;if(repairs=0)repairs=1;elserepairs=0;ex1=1;void extern1() interrupt 3 /emergencydirection=0; /stop the elevatormove=0;5.设计心得本次实习我们选择了模拟日常生活中常见的电梯运行过程。这次实习让我对程序的设计、调试有了更深刻的认识。尤其是写单片机这类的与硬件相关的程序。在调试的时候会有不少意想不到的结果。这要求除了对程序充分了解,还要对硬件的特性,电路的连接也深刻认识。关于程序,总结如下:必须养成在写之前仔细分析需求、要求,画出流程图,先明确各个模块的作用。最后分块细化,从底向上设计的习惯。否则很容易出现程序写了一半发现理解出错,功能达不到的情况。还有程序注释必须及时,不能等到写完了再注释,否则可能之后连自己也看不懂程序。及时的修改记录也是必要的。对于硬件、电路:要熟练掌握如何用c、汇编语言操作芯片。要掌握常用芯片的用法、特性,至少要熟悉其datasheet,需要使用时通过查阅手册,能快速、熟练的使用该芯
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位管理制度呈现大全【员工管理】十篇
- 《物业管理服务业》课件
- 三年级数学数学广角课件
- 2024年农业综合开发和扶贫开发工作总结
- 2024年公司劳动社保科上半年的工作总结
- 空调机运输协议三篇
- 农业产品销售主管工作总结
- 通信科技前台工作总结
- 家政服务前台工作总结
- 机电装备话务员工作总结
- 年产30万吨高钛渣生产线技改扩建项目环评报告公示
- 07221美术设计与创意
- 2023年拓展加盟经理年终总结及下一年计划
- 网络安全技术及应用 第5版 习题及答案 贾铁军 习题集 第1章
- 有限空间作业审批表
- 认罪认罚悔罪书(4篇)
- 烟花采购协议书
- 高考作文模拟写作:“善言”与“敢言”+导写及范文
- 《建筑施工承插型盘扣式钢管支架安全技术规程》 JGJ231-2010
- 视频监控维护合同
- 国开大学2023年01月22588《管理线性规划入门》期末考试参考答案
评论
0/150
提交评论