模拟计算器设计实习报告.doc

上传人:大米 文档编号:562996822 上传时间:2024-01-23 格式:DOC 页数:15 大小:269KB
返回 下载 相关 举报
模拟计算器设计实习报告.doc_第1页
第1页 / 共15页
模拟计算器设计实习报告.doc_第2页
第2页 / 共15页
模拟计算器设计实习报告.doc_第3页
第3页 / 共15页
模拟计算器设计实习报告.doc_第4页
第4页 / 共15页
模拟计算器设计实习报告.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《模拟计算器设计实习报告.doc》由会员分享,可在线阅读,更多相关《模拟计算器设计实习报告.doc(15页珍藏版)》请在金锄头文库上搜索。

1、西安邮电大学专业课程设计报告书系部名称:学生姓名: 专业名称:班 级:实习时间:2012年12月10日至2012年6月21日 1实验报告内容1: 液晶模块的驱动电路设计(16*2)【一】 实验目的1 熟练运用protel99SE软件。1 初步了解各种型号的液晶驱动电路的设计思路,运用protel99SE设计驱动原理图原理图,并画出合理的封装PCB电路板。【二】实验原理 用2片164扩展行,2片595扩展列,用16个三极管进行led点阵的功率驱动。1、164:8位串入,并出移位寄存器;时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑

2、与,它将上升时钟沿之前保持一个建立时间的长度;主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。2、595:74595和74164功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些;74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感;与164只有数据清零端相比,595还多有输出端时能/禁止控制端,可以使输出为高阻态。3、三极管:三极管放大电流,加大扫描强度,提高点阵屏亮

3、度。【三】实验步骤简述1、运用protel99SE设计驱动原理图。2、对原理图进行检查错误。3、画PCB库元件4、封装PCB电路板。5、生成PCB并且布线。【四】设计中遇到的问题及解决方法(1) 我们在画原理图时,因为之前有使用过protel99SE软件,还算比较顺利。(2) 在生成PCB的时候,总是报告我们有很多错,在读懂这些错后,我们发现我们所有的错都是没有对各原器件进行封装,我们在库里也找不到那些元器件,我们就自己画库并进行添加,终于没有错了。(3) 我们生成PCB后又出现了无法布线的错误,在经过老师的指导及自己的琢磨之后,调整了芯片的摆放位置之后,我们才布线成功,才顺利的完成此次实习。

4、内容2:液晶显示应用系统开发 【一】 项目需求分析 题目四: 模拟计算器设计基本要求分析和主要功能:1. 使用矩阵键盘加12864液晶,实现基本的计算器功能;能实现加减乘除运算,浮点运算精确到小数点后2位.所需设备:单片机开发板,1602或12864液晶;【二】实施方案及本人承担的工作项目名:模拟计算器设计,是利用单片机开发板+12864液晶模块实现。在此模块中,我和同伴一块写程序,改程序,画图,制作PCB,我们配合默契,有条不紊的完成了此次试验。【三】程序框图首先,有一个将初始密码存入flash中的程序段)其次的程序流程如下图所示:开 始 进行特殊功能计算(sin, cos, tan, si

5、nh, cosh, log) 按键选择功能 是特殊功能不是特殊功能进行正常加减乘除运算(可进行回删)输出结果结束【五】实验结果 此程序最终在我们自己的开发板上成功的实现了老师所要求的全部功能,除此之外,我们还添加了特殊功能,可以输入带有小数点的数字,能够回删,能够计算sin, cos, tan, sinh, cosh, log等功能,并能够快速准确的计算出将结果。【六】设计中遇到的问题及解决方法(1) 首先,在刚开始进行此次实习内容的时候,由于刚开始对矩阵键盘复用的不熟悉导致我们走了很多弯路,也改了很多次,所以在同学的建议下我们采用了开发板最下面一行的键盘,才避免了复用的问题。(2)在完成了各

6、个小程序块的编写之后,我们把它进行了整合,可是但我们第一次下载时却们又出现我们想要的结果,液晶上不显示任何东西,我们检查了很多遍,最后才发现是液晶初始化出现了问题,导致液晶没有正确的初始化,就显示不了我们想要的结果,在改正之后我们的程序终于有的能够计算能够显示,但还是有很多的不足,再后来老师的建议下,我们又加了一个回删的功能,才使得程序变得完整。【七】总结由于这是我第一次把按键控制在液晶上显示字符及数字,所以在编程过程中出现了一些问题,但最终还是在自己的努力,老师的指导和同学的帮助之下完成了此次试验。通过这次实验,我对按键控制单元和液晶显示单元有了进一步的认识,知道如何显示一个字符串,如何在指

7、定位置进行显示,也更加清楚得了解到了单片机的各个控制单元,以及液晶的内部原理。与此同时,我也领悟到了,要想做好一件事,更加完美的,出色的完成课程设计,不仅要对各自的原理知道的非常清楚外,还要学会虚心学习,虚心求教。而且,团队合作也是一个很关键的因素。附录:主要源程序以及电路原理图或PCB版图/*算法部分*/ void xianshi (float s,uchar a1,uchar b1) uchar k,pd=1,su,aa,bb; long int j,s1,s2; char i; aa=a1;bb=b1;k=0; if(s0.0)s=s*(-1);print(aa,bb,-); s1=s*

8、1000; s1=s1/1000; if(s1.0)print(aa,bb,0); aa+;else while(pd=1) j=cifang(k); su=s1/j%10;if(su=0) if(s-1;i-) j=cifang(i);su=s1/j%10;su+;shux1(su,aa,bb);aa+; print(aa,bb,.); aa+; s1=s*1000; s1=s1/100; s1=s1%10+1; shux1(s1,aa,bb); aa+; s1=s*1000; s1=s1/10; s1=s1%10+1; shux1(s1,aa,bb); void xianshi2 (flo

9、at s,uchar a1,uchar b1,uchar d) uchar k,pd=1,su,aa,bb; long int j,s1,s2,s3; char i; aa=a1;bb=b1;k=0; if(s0.0)s=s*(-1);print(aa,bb,-); s1=s*1000; s1=s1/1000; if(s1.0)print(aa,bb,0); aa+;else while(pd=1) j=cifang(k); su=s1/j%10;if(su=0) if(s-1;i-) j=cifang(i);su=s1/j%10;su+;shux1(su,aa,bb);aa+; if(d=1

10、) print(aa,bb,.); aa+; s1=s*10000; s1=s1/1000; s1=s1%10+1; s2=s*10000; s2=s2/100; s2=s2%10+1; s3=s*10000; s3=s3/10; s3=s3%10+1; if(s1!=1)|(s2!=1) shux1(s1,aa,bb); aa+; if(s2!=1) shux1(s2,aa,bb); aa+; if(s3!=1)/ shux1(s3,aa,bb); /*特殊功能部分*/void mas(float s)uchar tmp1; float a; clr(); a=s; xianshi(a,0,

11、1); print(0,2,sin cos log); print(0,3,sinh exp tan); tmp1=0; while(tmp1=0) tmp1 = Keyscan(); while(Keyscan()0); if(tmp18)tmp1=0; shux1(tmp1,0,4); switch(tmp1) case 1: a=cos(s);break;/对应显示cos case 2: a=sin(s);break;/对应显示sin case 3: a=log(s);break;/对应显示log case 4: a=sinh(s);break;/对应显示sinh case 5: a=c

12、osh(s);break;/对应显示cosh case 6: a=tan(s);break;/对应显示tanwhile(tmp1!=12)tmp1 = Keyscan(); while(Keyscan()0);clr(); print(0,1,结果);xianshi(a,0,2);tmp1=0;while(tmp1=0)tmp1 = Keyscan(); while(Keyscan()0);ql=1; float shuzi(uchar a,uchar b) uchar d=0,tmp=0,biao=1,b2=0,aa,bb; float l1=0,l=0,b21=0; biao=1;aa=a; while(biao=1)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号