键盘显示板实验报告_第1页
键盘显示板实验报告_第2页
键盘显示板实验报告_第3页
键盘显示板实验报告_第4页
键盘显示板实验报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告实验名称:键盘显示板实验报告学院:电气工程与自动化学院专业班级:自动化113班学号:07号姓名:陈奎指导老师:王祖麟教授2012/7/28 目录第一章:器材准备 31.1:所需器材: 31.2:制作过程: 31.3:制作原理: 4第二章:键盘显示板制作 52.1:原理图 52.2:PCB 62.3:实物图 62.4:注意事项 62.5:实验目的 7第三章:总结: 9附:按键显示程序:第一章:器材准备1.1:所需器材铜板(100mm*75mm),开关(8个), 电阻500(8个),5K(4个),74HC595(2个) , 打印机,美工刀与直尺,剪刀,玻璃板,塑料饭盒,盐酸,双氧水,盛

2、水桶,木筷或竹筷,台钻,洗板水,热转印机、电烙铁等等,焊锡若干,砂纸。1.2:制作过程:1:用电脑制作原理图,进而利用自动不限生成PCB,所用软件为AltiumDesignerSummer09、制图。2:打印:用电脑将绘制好的PCB图打印出来,由于是双面板,所以要打印两张,可以用热转印纸或者白色广告纸,打印如果断线太多就要重新打印。3:将铜板用砂纸打磨,然后将打印纸中一张对准板子,贴上去,保持纸张不要移动,让背后包紧,放进热转印机中,热转印机的温度必须在150度以上,但是不要超过200摄氏度,铜板出来后,待其冷却后,小心的拿掉广告纸,在预先画好的四个角上的黑点处打洞,然后用铁丝将另一张也按照黑

3、点和铜板固定好,固定在另一面,这是要注意两变得孔,可以在打两个孔校正一下,准确无误后即可放入热转印机中,同样出来待其冷却后在揭去广告纸。4:腐蚀铜板,制作电路图。拿出铜板后,检查是否断线,断线的地方用黑色碳素笔棉花,待墨迹干却后,将其投入双氧水和盐酸3:1配置的腐蚀液中,时时观察,冒气泡时就来回拨动板子,待其上面的铜片腐蚀完以后,夹出板子,用清水冲先干净上面的腐蚀液。5:钻孔:按照孔的大小用粗细两个钻台分别给板子钻孔,孔要尽量和过孔吻合,差的太远就会给焊接器材带来很大麻烦的。6:焊接器件:按照布局,把相应的元器件焊接到相应的地方,尤其是595,比较难焊接。可以先练练在焊接。1.3原理铜板反应方

4、程式Cu+Hcl+H2O2=Cucl2+cl2+O2+H2O;有碳粉覆盖的地方不能反应没的地方铜被腐蚀掉。热过塑原理:经过加热,金属黏住周围的塑料,在热转印纸和铜板一起经过热转印机时由于高温热转印纸上的碳粉被铜板黏住,油墨电路图就留在了铜板上。第二章:键盘显示PCB2.1:键盘显示原理图:2.2:键盘显示PCB:2.3:实物图:2.4:实验注意事项:1:盐酸与双氧水的比例要恰当,双氧水过多腐蚀速度降低,盐酸过多容易造成断线。2:热转印要完全,不完全有时候会造成墨迹脱落,浪费铜板。3:电烙铁使用时注意不要烫伤人或烫坏电线,焊接前要对铜板预热,不然会直接影响焊接效果。4:腐蚀时时间不能太长,否则会

5、造成断线。5:铜板取出后要用清水清洗,防止腐蚀液滴到皮肤上。6:在将打印纸贴上铜板之前,一定要先用砂纸打磨铜板,除去铜板表面的氧化铜,否则,在腐蚀的时候就会造成墨迹大量脱落。7:由于这次制作的是双面板,所以成功的关键就是两边的孔要对准,可以在一面热转印成功后把另一面用铁丝固定在铜板上,最后在打孔校正位置,这样就不会错位了。8:画好原理图自动布线时经常会出现死机,解决办法是提前画个框,把图圈起来,这样就不会死机了。9:画图时595芯片中间不能过线,否则会导致焊接器材时有恨得的困难。2.5:实验目的:通过制作键盘显示双面板从而熟悉其整个制作流程、了解数码管键盘显示的原理、段码和位码收如何发送和接收

6、的,加强对PCB双面板制作过程的理解、提高实践动手能力;学习AltiumDesignerSummer09、等软件的使用,培养对专业的兴趣,同时制作键盘显示板也是为制作寻迹小车服务的,这是此次键盘显示板制作的直接原第三章:总结此次键盘显示板的制作,感触颇深啊,首先,这次实践使我进一步理解了键盘显示的原理,段码和位码的传送路径和数码管显示电路的设计和制作过程,为以后电子电路方面的学习积累了宝贵的经验,同时这次制板查找资料使我进一步了解了自动化专业的发展方向,在这次制板过程中,失败了好多次,也浪费好几块板子,画图时没注意空间,导致最后有的线没地方画,还有就是打印时没注意纸的放置,浪费了油墨,耗时耗材

7、,而且发现老师讲时好像什么都懂,但是到了实践的时候,却有点不知所措,还有就是没有听同学的劝告,有一次忘了打磨就将打印好的纸敷了上去,热转印出来才发现, 有的同学劝我把墨迹擦掉重新打印,而我比较懒惰,就没听他的话,在季节腐蚀了,结果大量墨迹脱落,不仅浪费材料,也浪费时间啊。同学之间的合作也是十分重要的,一个人的能力毕竟是有限的,就是你学的再好,也有不知道的东西,有时候你没听懂的东西别人就听懂了,大家互相帮助,效率是很高的,有的难关你攻破了,有的他攻破了,大家合作下,效率将是非常高的。本次实验,也使我进一步熟练了AltiumDesignerSummer09、软件的使用,以前竟然不知道有自动布线这个

8、功能,这次公家熟悉这个了,相信以后和它打交道的机会不会很少的,此次实践也使我的专业技能得到一定提高,动手能力有所增强,进一步熟悉了电路板的制作流程。最重要的是对所学的知识进行了运用,俗话说,百练不如一战,老师讲的再多,不实践是很难完全掌握的,在这次试验中,自己独立解决好多问题,明白了好多道理,做事不能盲目追求效率,要注意正确率,否则事倍功半,失败了可以重新来,没有多次失败积累的经验,怎么会有成功的喜悦,没有辛勤的劳动,怎么会有丰硕的果实,一分耕耘,一分收获,只有付出了才会有收获,这次制板,我失败了四次,原因很多,有图的问题,线的问题但我没有灰心,坚持了下来,虽然五一五天假期都花在这块板子上了,

9、但我一点也不后悔,我体验了过程,很满足了,多次的失败是我积累了丰富的经验,为以后的学习奠定了基础,相信我们的未来会更加美好!按键代码:/*名称:按键显示程序*作者:陈奎*日期:2012/7/24*/#include ".config.h"/* 宏定义*/#define cp (1<<7)#define cp_INIT() GPIO1DIR|= cp#define cpON() GPIO1DATA|= cp#define cpOFF() GPIO1DATA&=cp#define str (1<<6)#define str_INIT() GPIO

10、1DIR|= str#define strON() GPIO1DATA|= str#define strOFF() GPIO1DATA&=str#define sd (1<<7)#define sd_INIT() GPIO2DIR|= sd#define sdON() GPIO2DATA|= sd#define sdOFF() GPIO2DATA|=sd#define KEY (1<<5)#define KEY_INIT() GPIO1DIR&=KEYint i,j;int keyflag=9;int buf8 = 0;int com8 = 0x01,0

11、x02,0x04,0x08,0x10,0x20,0x40,0x80;int seg10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/* 定义全局变量*/static OS_STK stkTinyTask128;/* Function name: Tinyask* Descriptions: 主任务P2.5,6,7与键盘相连,在获得信号量后,键盘显示数字。* input parameters: pvData: 没有使用* output parameters: 无* Returned value: 无*/void CP()cpON();

12、cpOFF();void STR()strON ();strOFF();void senddate(int num) int i;for(i=0;i<8;i+)GPIO2DATA=(num&0x80);num<<=1;CP();void plus()if(j=39)j=0;buf0+; if(buf0>9) buf0=0; buf1+; if(buf1>9) buf1=0; buf2+; if(buf2>9) buf2=0; buf3+; if(buf3>5) buf3=0; buf4+; if(buf4>9) buf4=0; buf5+

13、; if(buf5>5) buf5=0; buf6+; if(buf6>4) buf6=0; buf7+; if(buf7>2) buf7=0; void key() if(GPIO1DATA&KEY)!=0) if(keyflag=i)switch(keyflag) case 0: buf2+; if(buf2>9) buf2=0; break; case 1: buf3+; if(buf3>5) buf3=0; break; case 2: buf4+; if(buf4>9) buf4=0; break; case 3: buf5+; if(bu

14、f5>5) buf5=0; break; case 4: buf6+; if(buf6>4) buf6=0; break; case 5: buf7+; if(buf7>2) buf7=0; break;keyflag=9;else if(GPIO1DATA&KEY)=0) OSTimeDlyHMSM(0,0,0,2);if(GPIO1DATA&KEY)=0) keyflag=i; if(i>8) i=0; void TinyTask(void *pvData) pvData=pvData;cp_INIT() ; str_INIT();sd_INIT();KEY_INIT();while(1)for(i=0;i<8;i+) send

温馨提示

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

评论

0/150

提交评论