打印

基于51单片机的计算器怎样设计?

[复制链接]
5788|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
long131494521|  楼主 | 2011-5-31 19:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
lyjian| | 2011-5-31 19:45 | 只看该作者
你要干嘛?
做计算器卖吗?

使用特权

评论回复
板凳
NE5532| | 2011-5-31 20:08 | 只看该作者
本帖最后由 NE5532 于 2011-5-31 22:37 编辑
你要干嘛?
做计算器卖吗?
lyjian 发表于 2011-5-31 19:45


你觉得可能么,楼主会亏得内裤都不剩了。学生设计,开价5k-2W

使用特权

评论回复
地板
coody| | 2011-5-31 23:34 | 只看该作者
毕设,开价

使用特权

评论回复
5
long131494521|  楼主 | 2011-6-1 00:25 | 只看该作者
额…那能卖…设计要求设计一个计算器时钟…时钟弄好了…计算器部分卡壳了…所以求解

使用特权

评论回复
6
long131494521|  楼主 | 2011-6-1 00:27 | 只看该作者
5K?你觉得可能吗?本课证买才9000,为这个课题花5000?

使用特权

评论回复
7
李冬发| | 2011-6-1 01:23 | 只看该作者
人家要价是50000,不是5000。

使用特权

评论回复
8
NE5532| | 2011-6-1 08:36 | 只看该作者
5K?你觉得可能吗?本课证买才9000,为这个课题花5000?
long131494521 发表于 2011-6-1 00:27


你重修1年连学费下不了1万5吧,出来工作1年的工资得开2万吧,再加上你浪费1年时间,你说收你2万贵不贵?自己大学4年干嘛去了?

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
Ryanhsiung + 1 同问:大学4年干嘛去了啊
9
xwj| | 2011-6-1 08:44 | 只看该作者
唉~
无语。

使用特权

评论回复
10
123jj| | 2011-6-1 09:29 | 只看该作者
:L

使用特权

评论回复
11
jack_shine| | 2011-6-1 09:44 | 只看该作者
本帖最后由 jack_shine 于 2011-6-1 09:47 编辑

靠,一个计算器卖这么贵  还不如买iphone:lol

使用特权

评论回复
12
jack_shine| | 2011-6-1 09:46 | 只看该作者
只要会读写DS1602,那有什么难的,就用基本的运算语句就行了

使用特权

评论回复
13
delin17| | 2011-6-1 10:00 | 只看该作者
计算精度啊...
用加减乘除就做好了

使用特权

评论回复
14
lxyppc| | 2011-6-1 10:56 | 只看该作者
本帖最后由 lxyppc 于 2011-6-1 10:58 编辑

楼主我知道哪里有现成的代码,还调试好了的。
1602+51计算器。可以做加减乘除,开方之类的
你给我1000RMB,我就告诉你哪里有

我只负责告诉你代码的位置,保证你可以得到源代码,保证可用。

使用特权

评论回复
15
ewby| | 2011-6-1 11:39 | 只看该作者
你们一群绝对蛋疼的人啊

楼主给你发一个我上个月做课程设计写的,乱的不得了的计算器把。不过精度好像不高!。。。

/*计算器,在菜单界面按3进入*/
void Calculator () _task_ 6  
{         
        uchar step=0,step0=0,n=0,m;
        char step2=-1;
        char calculate[10]={0};
        long int calculate2[10]={0};
    Check_Busy();Disp_HZ(0x80,calculator_word1,16);Check_Busy();Disp_HZ(0x90,calculator_word2,16);Delay(200);
        while(1){
                if((key == 0)|(key == 1)|(key == 2)|(key == 3)|(key == 4)|(key == 5)|(key == 6)|(key == 7)|(key == 8)|(key == 9))
                {
                        Check_Busy();Disp_ZF(0x90+step,key+48);calculate[step]=key;step++;Delay(200);
                }
                else if((key =='B')| (key =='O')|(key =='S')|(key =='R'))
                {
                        switch(key)
                        {
                                case 'B':Check_Busy();Disp_ZF(0x90+step,'+');calculate[step]=key;step++;Delay(200);break;
                                case 'O':Check_Busy();Disp_ZF(0x90+step,'-');calculate[step]=key;step++;Delay(200);break;
                                case 'S':Check_Busy();Disp_ZF(0x90+step,'*');calculate[step]=key;step++;Delay(200);break;
                                case 'R':Check_Busy();Disp_ZF(0x90+step,'/');calculate[step]=key;step++;Delay(200);break;
                        }
                        step0 = step;
                        for(;(step0-step2-2)>0;step0--)
                        {
                                calculate2[n] = calculate2[n] + calculate[step0-2]*pow(10,step-step0);
                        }
                        step2=step-1;
                        n++;
                        calculate2[n]=calculate[step-1];
                        n++;
                }
                else if((key == 'X'))
                {
                        Check_Busy();Disp_ZF(0x88,'=');Delay(200);
                        step0 = step;
                        for(;(step0-step2-1)>0;step0--)
                        {
                                calculate2[n] = calculate2[n] + calculate[step0-1]*pow(10,step-step0);
                        }
                        for(m=0;m<(n/2);m++)
                        {
                                switch(calculate2[m*2+1])
                                {
                                        case 'B':calculate2[m*2+2]=calculate2[m*2]+calculate2[m*2+2];break;
                                        case 'O':calculate2[m*2+2]=calculate2[m*2]-calculate2[m*2+2];break;
                                        case 'S':calculate2[m*2+2]=calculate2[m*2]*calculate2[m*2+2];break;
                                        case 'R':calculate2[m*2+2]=calculate2[m*2]/calculate2[m*2+2];break;
                                }
                        }
                        Check_Busy;Disp_ZF(0x89,48+calculate2[(m+1)*2-2]%10000000/1000000);
                        Check_Busy;Disp_ZF(0x8a,48+calculate2[(m+1)*2-2]%1000000/100000);
                        Check_Busy;Disp_ZF(0x8b,48+calculate2[(m+1)*2-2]%100000/10000);
                        Check_Busy;Disp_ZF(0x8c,48+calculate2[(m+1)*2-2]%10000/1000);
                        Check_Busy;Disp_ZF(0x8d,48+calculate2[(m+1)*2-2]%1000/100);
                        Check_Busy;Disp_ZF(0x8e,48+calculate2[(m+1)*2-2]%100/10);
                        Check_Busy;Disp_ZF(0x8f,48+calculate2[(m+1)*2-2]%10); Delay(200);
                }
                else if(key=='Y')
                {
                        if(step!=0)
                        {
                                step=0;step0=0;step2=-1;n=0;
                                calculate[0]=0;calculate[1]=0;calculate[2]=0;calculate[3]=0;calculate[4]=0;
                                calculate[5]=0;calculate[6]=0;calculate[7]=0;calculate[8]=0;calculate[9]=0;
                                calculate2[0]=0;calculate2[1]=0;calculate2[2]=0;calculate2[3]=0;calculate2[4]=0;
                                calculate2[5]=0;calculate2[6]=0;calculate2[7]=0;calculate2[8]=0;calculate2[9]=0;
                            Check_Busy();Disp_HZ(0x80,calculator_word1,16);Check_Busy();Disp_HZ(0x90,calculator_word2,16);Delay(200);
                        }
                        else {os_create_task(1);os_delete_task(6);}
                }
        }
}


能不能看得懂就看楼主造化了哈,因为我现在也看不懂了哈

使用特权

评论回复
16
huangqi412| | 2011-6-1 12:02 | 只看该作者
:lol  LS不厚道,破坏行价。。。驱逐出电工协会。   
毕业设计一律按NE5532的2W底限执行。:lol

使用特权

评论回复
17
电子write_cai| | 2011-6-1 12:12 | 只看该作者
唉~
无语。
xwj 发表于 2011-6-1 08:44
xwj 好多“无语”!

使用特权

评论回复
18
电子write_cai| | 2011-6-1 12:14 | 只看该作者
:lol  LS不厚道,破坏行价。。。驱逐出电工协会。   
毕业设计一律按NE5532的2W底限执行。:lol
huangqi412 发表于 2011-6-1 12:02
:shutup:

使用特权

评论回复
19
NE5532| | 2011-6-1 12:58 | 只看该作者
哈哈,15L的蛋也够疼了,整个程序没一行注释。:lol

使用特权

评论回复
20
123jj| | 2011-6-1 13:17 | 只看该作者
呵呵,蛋疼蛋疼~~~   :lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

14

帖子

0

粉丝