目錄
一、主要功能
二、使用步驟
三、硬件資源
四、軟件設計
五、實驗現象
聯系作者
一、主要功能
1、LCD1602液晶顯示
2、矩陣按鍵?
3、可以進行簡單的加減乘除運算
4、最大 9999*9999
二、使用步驟
系統運行后,LCD1602顯示數據,通過矩陣按鍵輸入
三、硬件資源
1、51單片機核心模塊
2、按鍵模塊
3、LCD1602顯示模塊
四、軟件設計
//操作簡介
// 按第一個數,再按'+-*/',再按'='顯示出結果,然后按C清屏
// 加最大9999+9999=19998
// 減最大9999-0 =9999
// 乘最大9999*9999=99980001
// 除 1/9=0.1111 保留小數點后4位
/* 接盤按鍵說明:
--------------------------------------------------| 1 | 2 | 3 | + | - - - - - - - - - - - - -| 4 | 5 | 6 | - |- - - - - - - - - - - - -| 7 | 8 | 9 | * |- - - - - - - - - - - - -| C | 0 | = | / |
--------------------------------------------------*/#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
//--------LCD1602-------------------
//P00-07==== D0-7
sbit rs=P2^7; //指令or數據
sbit wela=P2^6; //讀or寫
sbit lcden=P2^5; //使能信號
//--------LCD1602-------------------
//--------KEY-----------------------
//P1口
//--------KEY-----------------------
uchar code table[]= " ";long int data_a,data_b; //第一個數和第二個數
long int data_c; //計算結果uchar dispaly[10]; //顯示緩沖//************************************************************************/
// 描述: 延時t us函數
//************************************************************************/
void LCD_Delay_us(unsigned int t)
{while(t--); //t=0,退出
}
//************************************************************************/
// 描述: 延時t ms函數
//************************************************************************/
void LCD_Delay_ms(unsigned int t)
{unsigned int i,j;for(i=0;i<t;i++) //執行t次循環for(j=0;j<113;j++) //執行113次循環;
}
//************************************************************************/
// 描述: 1602液晶寫指令
//************************************************************************/
void write_com(uchar com) //1602液晶寫指令
{rs=0; //寫指令lcden=0; //使能1602 P0=com; //寫入指令comLCD_Delay_ms(1); //延時1mslcden=1; //使能1602LCD_Delay_ms(2); //延時2ms lcden=0; //使能1602
}
//************************************************************************/
// 描述:1602液晶寫數據
//************************************************************************/
void write_date(uchar date) //1602液晶寫數據
{rs=1; //寫數據lcden=0; //使能1602 P0=date; //寫入數據dateLCD_Delay_ms(1); //延時1mslcden=1; //使能1602LCD_Delay_ms(2); //延時2mslcden=0; //使能1602
}
五、實驗現象
B站演示視頻:【51單片機-B001】【protues仿真】基于51單片機簡易計算器仿真_嗶哩嗶哩_bilibili本項目使用Proteus8仿真基于51單片機簡易計算器包含:程序,仿真,文檔等主要功能如下:1、LCD1602液晶顯示2、矩陣按鍵3、可以進行簡單的加減乘除運算4、最大可以 9999*9999, 視頻播放量 8、彈幕量 0、點贊數 0、投硬幣枚數 0、收藏人數 0、轉發人數 1, 視頻作者 無憂電子設計, 作者簡介 Q:215138327 V:Kinpar 承接51,32單片機設計定做,51,32單片機protues仿真,實物,程序等。,相關視頻:【STM32單片機-A005】【Proteus仿真】煙霧溫濕度檢測系統,【STM32單片機-A004】【Proteus仿真】超聲波測距系統,基于51單片機的尋跡小車,Meta被DeepSeek逼瘋? 員工爆料:無法向小扎交代,正在瘋狂剖析復制中,基于51單片機的RLC測量儀系統,基于STM32單片機DHT11溫濕度檢測系統仿真,51單片機 籃球計時計分器2,51單片機 電機轉速控制 2,[25w04a快照]亡者回歸?劍格擋-SNBT列表兼容更多內容-我的世界,51單片機 熱電偶溫度控制系統https://www.bilibili.com/video/BV1VMfRYAEaC/https://www.bilibili.com/video/BV1VMfRYAEaC/
聯系作者
作者B站鏈接:https://space.bilibili.com/3493294220773802
專注于51單片機、STM32、Proteus、物聯網軟件開發,PCB設計。