《基于C51单片机的简易计算器的设计答辩PPT.ppt》由会员分享,可在线阅读,更多相关《基于C51单片机的简易计算器的设计答辩PPT.ppt(43页珍藏版)》请在三一办公上搜索。
1、毕业答辩报告,基于单片机的简易计算器的制作,1,3,4,5,6,7,8,9,CL,0,2,很高兴各位老师能够在百忙之中听我的毕业答辩!,Design by XXX2011-04,课题,背景,单片机已逐渐成为电子产品研制和开发中首选的控制器,它的应用越来越成为人们关注的焦点,计算器在日常生活中是比较常见的电子产品之一。用单片机来实现计算器的基本功能这一课题不仅能与生活实际相结合,又能很好的验证应电专业学生的基础知识和动手能力,其难度适合专科生设计制作。,设计要求,(1)计算器能显示8位数字,开机运行时,只有数码管最低位显示为“0”,其余位全部不显示;(2)具有44键盘,分别表示09、/、和清零键
2、CL,输入的数字从设计的键盘输入;(3)可对两个无符号数进行加、减、乘、除运算,并显示计算结果。(4)结果溢出时发出“嘀”报警声。(5)制作出实物,写出合格的毕业论文。(6)相互协作完成任务。,本设计收获或成效,(1)查阅资料、熟悉计算器模拟系统的工作原理和设计思路。(2)掌握单片机软件编程方法,了解硬件设计制作和方法。(3)提高电路制作(protel99se软件)和调试能力。(4)提高毕业论文的撰写能力。(5)提高与人合作的能力和意识。,合作共赢,吴乐平:主要负责软件的编写设计,同时负责电路的修改。PPT的制作策划。张立宝:硬件的设计各自论文的缮写,合作共赢。,8,任务进程,选择适合自己的毕
3、业课题课题申报表,任务书的下达查找资料,策划任务PCB板画板(使用Altium DXP画板),软件设计及编写(KEIL、及C-Free),Proteus软件的仿真、调试。后期细微修改。提交PCB文件进行打样,购买元器件,焊接元件,烧录软件,调试实物。成果汇报PPT制作。毕业论文的编写及修改,答辩。,使用到的工具软件,使用到的工具:电烙铁、可调电源、万用表、钻孔台、示波器、计算机等。使用到的软件:Altium DXP、Proteus ISIS、KEIL、C-Free、MS Office、STC ISP、Atmel ISP、Adobe Photoshop等。,硬件部分的设计,多个方案的对比,方案一
4、:在一开始设计的时候,我们采用了P0口(P0口加上10K上拉电阻)作为段码驱动显示,P2口作为位驱动,P1口作为键盘驱动识别,这样,P0口作为段驱动,可以使数码管更亮(通过调节上拉电阻的阻值,单片机其他准IO口内部有30K的上拉电阻,这里采用10K的上拉电阻,可以比其他IO口输出更大的电流)缺点,键盘布局不适合使用操作,PCB布线较多的跳线。方案二:采用P1口段驱动显示,P2口位驱动,在段驱动加上74LS244缓冲器,使显示更稳定,P0口加上10K上拉电阻作为键盘扫描识别。显示依然不够稳定,PCB布线跳线较多,如果开发为两块板,导线需要较多,不够稳定。,多个方案的对比,方案三:在设计确定方案的
5、过程中,我们设计了好几种方案,也不断地改进中,最终确定使用显示板使用MAX7219驱动两个共阴四位七段数码管显示数字。因为使用MAX7219驱动数码管显示,亮度稳定,不闪烁,具有10MHz连续串行口、独立的LED段控制、数字的译码与非译码选择、150A的低功耗关闭模式、亮度的数字和模拟控制、高电压中断显示、共阴极LED显示驱动 等特点,同时,显示接口简单(只有VCC 5V电源输入,可以和单片机同源供电,GND端,LOAD数据装载输入端,CLK时钟输入端,和DIN串行数据输入端。,硬件布局,仿真电路图,仿真中,电源部分的设计,电源部分的设计没有涉及到变压,整流部分,只是对器件BNC(DC头)的直
6、流5V电压进行开关设计,电源指示,稳压,限压,滤波作用,其中使用到了5.1V/1W稳压管,使供给单片机的和其他部分模块的电源限制在5V,或低于5V。,LED,5.1V稳压管,DC头,串口 RS232程序下载,左边的原理图为程序烧写模块,使用串口进行程序的下载。适用于STC 51系列单片机,Atmel的89S51平预留有接插件,方便程序下载,下载板需另外制作。,单片机周边设计,在进行I/O口工作分配的时候,考虑到布线及产品的美观性,以及操作的简易性,P1口为显示驱动,P0口接上拉电阻(103,10K),用于键盘扫描,蜂鸣器由P34口驱动,使用上电自动复位,时钟部分使用12MHz晶振。,驱动显示接
7、口显示板供电口,复位时钟电路,103排阻,P0键盘扫描,单片机周边设计,P3.0,P3.1专用单片机程序下载,其他I/O口未使用。P2口闲置,备以后扩展使用。J20其中三个引脚接到P1.0,P1.1,P1.2,分别为LOAD(数据装载输入端),CLK(单片机提供给显示驱动芯片MAX7219的时钟信号),DIN(串行数据输入),加上两个电源端口,驱动显示板。,驱动显示接口显示板供电口,复位时钟电路,103排阻,P0键盘扫描,键盘扫描,键盘扫描由P0口驱动。采用4*4键盘设计,满足设计要求的所有功能。,显示板,显示板电路原理图,使用MAX7219驱动数码管,它将单片机传送过来的显示信号进行解码,驱
8、动数码管显示。具有亮度稳定,不闪烁,可达10MHz的扫描频率。显示信号传输用线少,适合把主板和显示板分开设计。接口定义为(只有VCC 5V电源输入,可以和单片机同源供电,GND端,LOAD数据装载输入端,CLK时钟输入端,和DIN串行数据输入端)。,MAX7219显示驱动IC,驱动显示接口显示板供电口,显示亮度控制,两块7段四位数码管,主板原理图,显示板原理图,设计好的-主板,设计好的-显示板,软件部分设计,显示端口定义,/使用时应保证本计算器的输入数值与输出数值均不大于65536 数码管驱动芯片用的MAX7219,运算和键盘扫描用STC89C51#include/调用库函数unsigned
9、char key,temp;#define DIN P1_0/串行数据输入引脚#define CLK P1_1/同步时钟#define LOAD P1_2/数据输入使能,延时,/-20ms延时子程序-void delay10ms(unsigned char time)unsigned char a,b,c;for(a=0;atime;a+)for(b=0;b20;b+)for(c=0;c120;c+);/用于键盘扫描蜂鸣器定时。,键盘扫描子程序,数据发送子程序,/-数据发送子程序-void send(unsigned char addr,unsigned char dat)unsigned c
10、har ADS,i,j;LOAD=0;i=0;while(i=1;j-),DIN=ADS/驱动MAX7219,将显示代码传送给MAX7219.,数据显示子程序,n0=n/10000000;n1=(n/1000000)%10;n2=(n/100000)%10;n3=(n/10000)%10;n4=(n/1000)%10;n5=(n/100)%10;n6=(n/10)%10;n7=n%10;/传输数据的编码,/-数据显示子程序-void display(unsigned long int n)unsigned char n0;unsigned char n1;unsigned char n2;un
11、signed char n3;unsigned char n4;unsigned char n5;unsigned char n6;unsigned char n7;,主函数(运算主程序),/-主函数-void main(void)unsigned long int first;unsigned long int second;unsigned long int result;/最终运算结果 unsigned char op;/用来存储+、-、*、/操作符键的值 unsigned char flag,flag1;P3_4=0;,LOOP:first=0;second=0;result=0;op
12、=0;flag=1;flag1=0;display(0);while(1)KeyScan();if(key0,主函数(运算主程序),KeyScan();if(key0 if(key=12&flag1=1)switch(op),case 13:result=first+second;break;case 14:result=first-second;break;case 15:result=first*second;break;case 16:result=first/second;break;first=0;second=0;display(result);key=0;flag=1;flag1=0;KeyScan();if(key=11)goto LOOP;,运算主程序设计,实物展示-未焊接的主板PCB,实物展示-未焊接的显示板PCB,实物展示-焊接好的主板PCB,实物展示-焊接好的显示板PCB,就要毕业了!,新的环境,新的开始,新的挑战,即将步入社会,步入职场,我们应当加倍努力。,谢谢观赏!Thanks,