找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2349|回復(fù): 0
收起左側(cè)

基于89C51單片機(jī)和1602做的簡(jiǎn)易計(jì)算器

[復(fù)制鏈接]
ID:937858 發(fā)表于 2021-7-24 17:43 | 顯示全部樓層 |閱讀模式
#include<reg51.h>   //頭文件
#define uint unsigned int //
#define uchar unsigned char
sbit lcden=P2^3; //定義引腳
sbit rs=P2^4;
sbit rw=P2^0;
sbit busy=P0^7;
char i,j,temp,num,num_1;
long a,b,c;     //a,第一個(gè)數(shù) b,第二個(gè)數(shù) c,得數(shù)
float a_c,b_c;
uchar flag,fuhao;//flag表示是否有符號(hào)鍵按下,fuhao表征按下的是哪個(gè)符號(hào)
uchar code table[]={
7,8,9,0,
4,5,6,0,
1,2,3,0,
0,0,0,0};
uchar code table1[]={
7,8,9,0x2f-0x30,
4,5,6,0x2a-0x30,
1,2,3,0x2d-0x30,
0x01-0x30,0,0x3d-0x30,0x2b-0x30};
void delay(uchar z) // 延遲函數(shù)
{
uchar y;
for(z;z>0;z--)
   for(y=0;y<110;y++);
}
void check() // 判斷忙或空閑
{
do{
    P0=0xFF;
    rs=0;     //指令
    rw=1;     //讀
    lcden=0;     //禁止讀寫(xiě)
    delay(1); //等待,液晶顯示器處理數(shù)據(jù)
    lcden=1;     //允許讀寫(xiě)
    }while(busy==1); //判斷是否為空閑,1為忙,0為空閑
}
void write_com(uchar com) // 寫(xiě)指令函數(shù)
{
P0=com;    //com指令付給P0口
rs=0;
rw=0;
lcden=0;
check();
lcden=1;
}
void write_date(uchar date) // 寫(xiě)數(shù)據(jù)函數(shù)
{
    P0=date;
rs=1;
rw=0;
lcden=0;
check();
lcden=1;
}
void init() //初始化
{
    num=-1;
lcden=1; //使能信號(hào)為高電平
write_com(0x38); //8位,2行
write_com(0x0c); //顯示開(kāi),光標(biāo)關(guān),不閃爍*/
write_com(0x06); //增量方式不移位 顯竟獗暌貧 柚?
write_com(0x80); //檢測(cè)忙信號(hào)
write_com(0x01); //顯示開(kāi),光標(biāo)關(guān),不閃爍
num_1=0;
i=0;
j=0;
a=0;     //第一個(gè)參與運(yùn)算的數(shù)
b=0;     //第二個(gè)參與運(yùn)算的數(shù)
c=0;
flag=0; //flag表示是否有符號(hào)鍵按下,
fuhao=0; // fuhao表征按下的是哪個(gè)符號(hào)
}
51hei.png

上圖的Proteus7.5仿真工程與hex文件下載: 真的設(shè)計(jì).rar (22.33 KB, 下載次數(shù): 25)

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表