综合电子电路设计与调试实验报告可编程顺序控制器.doc_第1页
综合电子电路设计与调试实验报告可编程顺序控制器.doc_第2页
综合电子电路设计与调试实验报告可编程顺序控制器.doc_第3页
综合电子电路设计与调试实验报告可编程顺序控制器.doc_第4页
综合电子电路设计与调试实验报告可编程顺序控制器.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

综合电子电路设计与调试实 验 报 告题目: 可编程顺序控制器 学院: 专业: 班级: 姓名: 学号: 2009年 11 月 30 日课 堂考 勤(20分)实 验报 告(20分)PCB制作、安装焊接软硬件调试(60分)总 评成 绩指 导教 师综合电子电路设计与调试 可编程程序控制器(一)研制意义在我们日常生活中,可编程顺序控制器的通用性极强,在工业和家电控制中经常采用顺序控制器,实现工作的节拍运行,也就是第一步工作完成了,才开始下一步,每一步都有持续的时间。作为传统继电接触控制的替代产品,这个系统由于它可以通过软件编程来改变控制过程,而且具有硬件电路简单,编程容易,抗干扰能力强及可靠性高等优点,并且非常适合于在恶劣的工业环境下使用。(二)研制任务a.研制一款基于AT89C51单片机、采用JQC-3F继电器和LCD1602C液晶显示器的可编程顺序控制器;b.硬件电路的设计与制作,软件程序的编写与调试;c.设计报告的撰写。(三)设计要求 a.键盘图例 键盘按键布局 键盘内码值(ASCII码) b.显示图例(四)系统硬件框图(五)硬件各单元电路设计及原理图 a.继电器输出单元电路由于AT89C51复位时P0口(接上拉电阻)为FFH,系统一开机,继电器触点就会闭合,因此在P0口的输出与ULN2003之间加了74LS04反向器,这样使得系统在开机时发光二极管就处于暗的状态。(1)若P0.0=1,则OUT1=0V 继电器的VCC和GND之间的电压差为12V 继电器线圈通电 常开触点闭和(AA为常开触点,B为常闭触点) LED亮。(2)若P0.0=0,则OUT1=12V 继电器的 VCC和GND之间的电压差为0V 继电器线圈不通电 常开触点不闭和(AA为常开触点,B为常闭触点) LED暗。b.继电器输出单元电路原理图 c.夜晶显示单元电路(1)AT89C51的P1.0P1.7控制LCD1602C液晶显示器的8根数据线(DB0DB7)。(2)AT89C51的P3.5P3.7分别控制LCD1602C液晶显示器的3条控制线(RS、R/W、E),其中P3.5控制RS,P3.6控制R/W,P3.7控制使能端口 E。d.液晶显示单元电路原理图e.键盘输入单元电路(1)系统中的键盘输入单元电路是采用44阵列键盘,与单片机AT89C51的P2口连接;(2)按键S1S15采用扫描方式得到键盘码;(3)按键S16作为单片机复位按键。f.键盘输入单元电路原理图g.电源保护电路(六)系统软件主程序流程图系统功能及工作过程描述:a.先接通电源,调整输入电压为5V左右,液晶显示器分两行显示Please Input和 Number:,我从键盘输入我的学号:06220404。弹出两行字母分别为:Name:Xuyanxin和Number:06220404;b.间隔60秒左右紧接着分两行显示PLEASE INPUT HOW和MANY STAGE:( ),输入数字2,弹出两行字母分别为:STEP_OUT_TIME和INPUT:。我从键盘输入1_1100_10,按输入键,接着输入2_0101_10,连续按输入键和执行键;c.可以观察到有四盏绿灯先是仅有前两盏亮,维持10秒后就是第2和第4盏灯亮,又维持了10秒,最后弹出了两行字母OVER和PLEASE RESET,结束整个测试过程。(七)系统调试 a.系统硬件调试(1)ULN2003的1脚为输入端,1016脚为输出端,8脚接地,9脚接电源(+12V);(2)若输入端1脚为低电平,则对应的输出端16脚输出为+12V,继电器不会动作。(继电器的VCC和GND之间的电压差为0V继电器线圈不通电常开触点不闭合);(3)若输入端1脚为高电平,则对应的输出端16脚输出为0V,继电器常开触点闭合。(继电器的 VCC和GND之间的电压差为+12V继电器线圈通电常开触点闭合)。b.系统软件调试(1)LCD显示:在任意位置显示任意字符或字符串;清屏,光标闪烁及移动;最后的实时输出显示。(2)显示按键对应的功能:当有键按下时,运行相应的程序,观察LCD上是否能显示键值或相应功能。可以同时观察DATA及SFR窗口中相应寄存器中的数据是否正确。c.系统综合调试(1)系统上电时,LCD上显示“*PLEASE INPUT HOW MANY STAGE ()BU”。(2)按数字键,键入要求的步骤数,例如要实现3个步骤,则只需按在括号内键入3就可以了,输入后按确认键。(3)接着输入控制数据,每输入一个步骤后按输入键,可以在RAM数据窗口查看每一步数据是否已保存。(4)按执行键,按下此键后,系统就会按照输入的数据执行,控制每一步的工作时间和继电器状态,并且会在LCD上显示出来。d.调试的主要事项(1)调试使用仪器:万用表,电压电流输出器,起子,测试探头,以及Proteous和Keil软件;(2)调试过程中出现的故障,原因及解决方法:当接通电源后,接在电源旁边的红灯并没有亮,经过发现是因为正负极搞错了,于是我又重新参看PCB原理图,找到正极的准确位置,把原来的灯取出来,然后又焊上了一个,结果红灯一接通电源就亮了;当前期软件显示正确无误的前提下,结果出现了四盏绿灯没有按照预测的那样亮起来,原因是我用的是AT89C51的芯片,但是里面烧写的程序中关于倒计时的部分是不能在其中实现的,这能在AT89C52芯片中才可以的,结果通过换芯片,四盏绿灯按照程序准确的显示了亮灭情况;此外,在调试软件程序编程过程中,一开始总是实现不了输入学号后弹出姓名和学号,原来是因为我对于Keyscan这个函数的调用不是很熟悉,经过老师的指导和协助,最终我编好了整个程序,并在Proteous中进行了仿真,一切都显示正确。(七)设计电路的优缺点及自身收获和体会 a.电路的优缺点: (1)电路的优点:这次试验研制的是一款基于AT89C51单片机、采用JQC-3F继电器和LCD1602C液晶显示器的可编程顺序控制器,它的设计电路简单易行,功能较强。由于采用编程来控制要实现的目的,具有很大的灵活性,可以通过变换程序达到多种功能; (2)电路的缺点:这次试验我们采用2K的电阻代替了阻值较小的电阻,因此使得四盏绿灯亮度不够。本次没有采用继电器,容易使四盏绿灯的电压不是很稳定。而且本次试验没有使用继电器,使绿灯的电压不能很稳定。 c.试验过程中的收获和体会 在此次试验中,我学会了如何运用Proteous和Keil软件调试程序,懂得了一些基本的函数调用方法和一些新函数的使用(如Keyscan函数的使用),看到自己编写的程序仿真成功,让我很开心,尝到了学习的乐趣和成就感。当然,在调试过程中,我发现我的红灯不亮时,原因竟然是因为我的正负极接错了,所以我总结了一下自己,焊板时一定要参照PCB原理图,认真仔细,关注每一个引脚,相信我以后会做的更好。 (八)附录 a.硬件电路原理图和PCB图 (1)完整的硬件电路原理图 (2)PCB原理图 b.软件程序源代码(核心程序) void yanxin() uchar j;uchar code row1=Name:Xuyanxin; /12个字符uchar code row2=Number:06220404;init(); /初始化液晶 write_com(0x01); write_com(0x0f); write_com(0x0c); for(j=0;j30;j+) delay(250); write_com(0x82); write_com(0x80+1); /向液晶发出命令,命令代码为0x80,表示设置光标在第一行的开始,见文档1602液晶说明.pdf的4.3.1节 for(j=0;j12;j+) write_shu(row1j); /向液晶提供需要显示的字符write_com(0x80+0x40+1);/向液晶发出命令,光标移动到第二行,并空出第一个字符 for(j=0;j15;j+) write_shu(row2j); /向液晶提供需要显示的字符 void Xu() uchar i,j,g,h;uchar code line1=Please Input; /12个字符 uchar code line2=Number:;init(); /初始化液晶 write_com(0x80); /向液晶发出命令,命令代码为0x80,表示设置光标在第一行的开始,见文档1602液晶说明.pdf的4.3.1节 for(i=0;i12;i+) write_shu(line1i); /向液晶提供需要显示的字符 write_com(0x80+0x40);/向液晶发出命令,光标移动到第二行,并空出第一个字符 for(i=0;i0) h=g; g=0; if(h=0x30 & h=0x39) if(q=1) write_com(0x0f); write_as(0x80+0x40+8+i,h); i+; q=0; /判断是否是确认键 if(h=12) break; h=0; void start()/开机提示,并输入步数 uchar i,b,temp0,temp1; uchar code start=PLEASE INPUT HOW; uchar code start1= MANY STAGE:( ); write_com(0x80); for(i=0;i16;i+) write_shu(starti); write_com(0x80+0x40); for(i=0;i0) temp1=temp0; temp0=0; if(temp10x30&temp1=0x39) write_shu(temp1); write_com(0x80+0x40+14); b=temp1; if(b!=0) while(temp1=12) bu=b;/ascii 码 write_com(0x80+0x40+14);write_com(0x0c); write_shu(bu); input(); void input()/输入步数,操作,时间 uchar i,j,temp0,temp1; uchar b9; uchar code table=STEP_OUT_TIME; uchar code table1=INPUT:; write_com(0x01); write_com(0x82); for(i=0;i16;i+) write_shu(tablei); write_com(0x80+0x40); for(i=0;i6;i+) write_shu(table1i); i=0; j=0; write_com(0x0f); while(i0) temp1=temp0; temp0=0; if(i=0x30&temp1=0x39)|(temp1=0x5f)&(j9) bj=temp1; if(q=1) write_com(0x0f); write_as(0x80+0x40+6+j,bj); j+; q=0; if(temp1=11)/清除键功能 write_com(0x80+0x40+6); write_com(0x0c); for(j=0;j9;j+) bj=0x30; write_shu(bj); write_com(0x80+0x40+6); write_com(0x0f); j=0; if(j=9) write_com(0x0c); if(temp1=13)/输入键功能 for(j=0;j9;j+) aij=bj; write_as(0x80+0x40+6+j,aij); for(j=0;j9;j+) bj=0x30; i+;if(i(bu-0x30) write_com(0x80+0x40+6);for(j=0;j9;j+) write_shu(0x2a); j=0; if(i=(bu-0x30)&(temp1=14) while(1) excute(); /执行命令 并OVER void excute() /执行命令 并OVER uchar m; uchar i,j; uchar shi,ge; uchar code table2=BEGIN; uchar code table3=OVER; uchar code table4=PLEASE RESET; i=0; j=0; m=(a07-0x30)*10+(a08-0x30); write_com(0x80+0x40); for(j=0;j5;j+) write_shu(table2j);TR0=1; /定时器开始工作while(i=(bu-0x30) for(j=0;j6;j+) write_as(0x80+0x40+6+j,aij);d1=ai2-0x30; d1=!d1;d2=ai3-0x30; d2=!d2;d3=ai4-0x30; d3=!d3;d4=ai5-0x30; d4=!d4; if(tt=1) tt=0; m-;/倒计时 if(m=0) shi=m/10; ge=m%10; write_com(0x80+0x40+6+7); write_shu(0x30+shi); write_shu(0x30+ge); TR0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; i+; if(i=(bu-0x30)/over write_com(0x01); write_com(0x80+6); for(j=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论