網(wǎng)站主頁(yè)的要素衡水seo培訓(xùn)
目錄
一、主要功能
二、使用步驟
三、硬件資源
四、軟件設(shè)計(jì)
五、實(shí)驗(yàn)現(xiàn)象
聯(lián)系作者
一、主要功能
1、LCD1602液晶顯示
2、矩陣按鍵?
3、加減乘除,開(kāi)方運(yùn)算
4、帶符號(hào)運(yùn)算
5、最大 999*999
二、使用步驟
基于51單片機(jī)多功能計(jì)算器
包含:程序,仿真,文檔等
三、硬件資源
1、51單片機(jī)核心模塊
2、按鍵模塊
3、LCD1602顯示模塊
四、軟件設(shè)計(jì)
#include <REGX51.H>
#include<intrins.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
sbit RS = P2^5;
sbit RW = P2^6;
sbit E = P2^7; #define Data P0//數(shù)據(jù)端口
//全局變量
float num1;//第一操作數(shù)num1 (初始為零)
float num2;//第二操作數(shù)num2 (初始為零)
char yun_flag='+';//運(yùn)算符號(hào) yun_flag (默認(rèn)為+ )
char key_last;//上次按鍵狀態(tài)標(biāo)志 key_last
char sqrt_flag;//開(kāi)方鍵按下標(biāo)志 sqrt_flag
unsigned long pos_flag=1;//小數(shù)位權(quán)pos_flag (默認(rèn)為1)
char neg_flag;//正負(fù)標(biāo)志 neg_flag
char data c_num1[15]=" ";//c_num1 字符型第一操作數(shù) (數(shù)組不定義大小與其他變量沖突)
char data c_num2[15]=" ";//c_num2 字符型第二操作數(shù)
char error;//運(yùn)算法則錯(cuò)誤;
char len;//小數(shù)點(diǎn)后位數(shù)
/* 微秒延時(shí)函數(shù) */
/******************************************************************/
void DelayUs(unsigned char us)//delay us
{unsigned char uscnt;uscnt=us>>1; /*12MHz頻率*/while(--uscnt);
}
/******************************************************************/
/* 毫秒函數(shù)聲明 */
/******************************************************************/
void DelayMs(unsigned char ms)
{while(--ms){DelayUs(250);DelayUs(250);DelayUs(250);DelayUs(250);}
}
/******************************************************************/
/* 寫(xiě)入命令函數(shù) */
/******************************************************************/
void WriteCommand(unsigned char c)
{DelayMs(5);//操作前短暫延時(shí),保證信號(hào)穩(wěn)定E=0;RS=0;RW=0;_nop_();E=1;Data=c;E=0;
}
/******************************************************************/
/* 寫(xiě)入數(shù)據(jù)函數(shù) */
/******************************************************************/
void WriteData(unsigned char c)
{DelayMs(5); //操作前短暫延時(shí),保證信號(hào)穩(wěn)定E=0;RS=1;RW=0;_nop_();E=1;Data=c;E=0;RS=0;
}
/******************************************************************/
/* 寫(xiě)入字節(jié)函數(shù) */
/******************************************************************/
void ShowChar(unsigned char pos,unsigned char c)
{unsigned char p;if (pos>=0x10)p=pos+0xb0; //是第二行則命令代碼高4位為0xcelse p=pos+0x80; //是第二行則命令代碼高4位為0x8WriteCommand (p);//寫(xiě)命令WriteData (c); //寫(xiě)數(shù)據(jù)
}
/******************************************************************/
/* 寫(xiě)入字符串函數(shù) */
/******************************************************************/
void ShowString (unsigned char line,char *ptr)
{unsigned char l,i;l=line<<4;for (i=0;*(ptr+i)!='\0';i++)ShowChar (l++,*(ptr+i));//循環(huán)顯示16個(gè)字符
}
/******************************************************************/
/* 初始化函數(shù) */
/******************************************************************/
void InitLcd()
{DelayMs(15);WriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x06); //顯示光標(biāo)移動(dòng)位置WriteCommand(0x0c); //顯示開(kāi)及光標(biāo)設(shè)置WriteCommand(0x01); //顯示清屏}
五、實(shí)驗(yàn)現(xiàn)象
B站演示視頻:【51單片機(jī)-B002】【protues仿真】基于51單片機(jī)多功能計(jì)算器仿真_嗶哩嗶哩_bilibili本項(xiàng)目使用Proteus8仿真基于51單片機(jī)多功能計(jì)算器包含:程序,仿真,文檔等主要功能如下:1、LCD1602液晶顯示2、矩陣按鍵3、加減乘除,開(kāi)方運(yùn)算4、帶符號(hào)運(yùn)算5、最大999*999, 視頻播放量 0、彈幕量 0、點(diǎn)贊數(shù) 0、投硬幣枚數(shù) 0、收藏人數(shù) 0、轉(zhuǎn)發(fā)人數(shù) 1, 視頻作者 無(wú)憂電子設(shè)計(jì), 作者簡(jiǎn)介 Q:215138327 V:Kinpar 承接51,32單片機(jī)設(shè)計(jì)定做,51,32單片機(jī)protues仿真,實(shí)物,程序等。,相關(guān)視頻:【STM32單片機(jī)-A004】【Proteus仿真】超聲波測(cè)距系統(tǒng),【STM32單片機(jī)-A005】【Proteus仿真】煙霧溫濕度檢測(cè)系統(tǒng),基于51單片機(jī)的尋跡小車,基于51單片機(jī)煙霧報(bào)警系統(tǒng),基于51單片機(jī)的RLC測(cè)量?jī)x系統(tǒng),基于STM32單片機(jī)DS18B20溫度檢測(cè)系統(tǒng)仿真,51單片機(jī) 數(shù)控直流穩(wěn)壓穩(wěn)壓電源,51單片機(jī) 公交車報(bào)站系統(tǒng),基于51單片機(jī)自動(dòng)售貨機(jī),51單片機(jī) 熱電偶溫度控制系統(tǒng)https://www.bilibili.com/video/BV14xfoYbEHm/https://www.bilibili.com/video/BV14xfoYbEHm/
聯(lián)系作者
作者B站鏈接:https://space.bilibili.com/3493294220773802
專注于51單片機(jī)、STM32、Proteus、物聯(lián)網(wǎng)軟件開(kāi)發(fā),PCB設(shè)計(jì)。