久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2039|回復: 1
打印 上一主題 下一主題
收起左側

單片機小白,想做一個簡易計算器,但是程序遇到點問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:148987 發表于 2017-1-15 20:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
想做一個簡易計算器,但是程序遇到點問題,只會寫掃描函數  顯示函數和運算函數不懂。求大神給個思路。下面是我寫的一點程序,希望大神能指點一下!附件中有原理圖。。。。。。。。。。!


#include<reg51.h>

#include<intrins.h>

#include<math.h>

#define uint unsigned int

#define uchar unsigned char

sbit LSA=P2^2;                                     //138譯碼器控制數碼管位選

sbit LSB=P2^3;        

sbit LSC=P2^4;

#define smg P0                                                //P0控制數碼管段選

#define key P1                                                //P1控制矩陣鍵盤


uint x,i,j;

void ys(x)                                        //延時函數
{
        for(i=x;i>0;i--)
                for(j=110;j>0;j--);
}

uint code sz[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                                                0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};                        //共陰數組

void jzaj()                                                                //掃描函數
{
        key=0x7f;
        if(key!=0x7f)
        {
                ys(10);
                if(key!=0x7f)
                {
                        switch(key)
                        {
                                case(0x77):x=1;break;
                                case(0x7b):x=2;break;
                                case(0x7d):x=3;break;
                                case(0x7e):ysfh=1;break;
                        }
                        while(key!=0x7f);
                }
        }
        
        key=0xbf;
        if(key!=0xbf)
        {
                ys(10);
                if(key!=0xbf)
                {
                        switch(key)
                        {
                                case(0xb7):x=4;break;
                                case(0xbb):x=5;break;
                                case(0xbd):x=6;break;
                                case(0xbe):ysfh=2;break;
                        }
                        while(key!=0xbf);
                }
        }
        
        key=0xdf;
        if(key!=0xdf)
        {
                ys(10);
                if(key!=0xdf)
                {
                        switch(key)
                        {
                                case(0xd7):x=7;break;
                                case(0xdb):x=8;break;
                                case(0xdd):x=9;break;
                                case(0xde):ysfh=3;break;
                        }
                        while(key!=0xdf);
                }
        }
        
        key=0xef;
        if(key!=0xef)
        {
                ys(10);
                if(key!=0xef)
                {
                        switch(key)
                        {
                                case(0xe7):gl=1;break;
                                case(0xeb):x=0;break;
                                case(0xed):dy=1;break;
                                case(0xee):ysfh=4;break;
                        }
                        while(key!=0xef);
                }
        }
}





HC6800-ES V2.0 新版.pdf

759.71 KB, 下載次數: 7

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:148987 發表于 2017-1-15 20:21 | 只看該作者
上面漏了一句   uchar ysfh=0,dy=0,gl=0;  我的想法是令ysfh等于1,2,3,4來識別加減乘除,dy=1識別按下等號,gl=1識別按下清零鍵。想法是做一個兩位數的四則運算。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕91 | 久热中文字幕 | 伊人免费在线观看 | 精品少妇一区二区三区在线播放 | 亚洲视频在线看 | 日日操网站 | 成年男女免费视频网站 | 国产精品久久久久久久久久久久 | 欧美亚洲视频在线观看 | 91精品国产综合久久久动漫日韩 | 青青草一区 | 久久国产精99精产国高潮 | 国产做a爱片久久毛片 | 日韩欧美国产精品 | 一区中文字幕 | 日韩av一区在线观看 | 亚洲精品一区二三区不卡 | 久久国产激情视频 | 国产欧美一区二区三区在线播放 | 一区二区三区免费观看 | 久久一 | 国产精品国产成人国产三级 | 亚洲国产精品成人 | 91原创视频 | 国产精品日本一区二区在线播放 | 国产激情免费视频 | 亚洲色图综合网 | 久久国内精品 | 日韩国产在线 | 一区二区手机在线 | 亚洲成人a v | 欧美精品一区三区 | 天天综合日日夜夜 | 亚洲欧美日韩精品久久亚洲区 | 成年人在线视频 | 久久国产区 | 亚洲精品久久久久中文字幕欢迎你 | 日韩二区 | 一区精品视频在线观看 | 欧美一级视频免费看 | 日本特黄特色aaa大片免费 |