女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機實現(xiàn)液晶顯示兩種狀態(tài)的切換程序

Wildesbeast ? 來源:單片機教程網(wǎng) ? 作者:單片機教程網(wǎng) ? 2020-08-23 11:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

硬件電路:51最小系統(tǒng),沒有采用總線方式,直接的I/O形式,包括矩陣鍵盤,1602液晶,一個數(shù)碼管LED4個,蜂鳴器等。

/////design by HUAZ 2006.8.9

//單片機液晶秒表計算器完整修改版本

可以實現(xiàn)兩種功能的切換,其他功能自行對照代碼研究。4*4矩陣鍵盤,第一排前三列是實現(xiàn)小時分鐘秒的加。第二排前三列是實現(xiàn)小時分鐘秒的減。當(dāng)然還可以通過設(shè)置矩陣鍵盤的鍵值,來實現(xiàn)加減乘除四則運算,由數(shù)碼管顯示參與運算的數(shù)字以及最終的運算結(jié)果

#include《reg51.h》

#include《stdio.h》

#include《stdlib.h》

#include《intrins.h》

#include《absacc.h》

#define uchar unsigned char

#define uint unsigned int

#define wc 0x8fff

#define wd 0xdfff

#define rc 0xbfff

void displayListChar(unsigned char X, unsigned char Y, uchar DData);

uchar dispbuf[]={‘’0‘’,‘’1‘’,‘’2‘’,‘’3‘’,‘’4‘’,‘’5‘’,‘’6‘’,‘’7‘’,‘’8‘’,‘’9‘’,‘’:‘’};

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x82,0xf8,0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e,0x00

};

uchar second;

uchar temp1;

uchar minute;

uchar hour;

uint tcnt,g;

uchar suanfa;

bit flag2;

bit flag1=1;//////控制計算器還是液晶調(diào)整的狀態(tài)燈

uint i=0,f,m,g,s,t;// for里的計數(shù)值,用于循環(huán)

// 用來標記按了什么,如+,-.*,或是/

sbit P2_0=P2^0;// 定義P2.0口用來,當(dāng)計算值超過15時,P2.0所對應(yīng)的燈閃幾下

sbit P2_1=P2^1;// 定義P2.1口用來,當(dāng)除數(shù)為0時,P2.1所對應(yīng)的燈閃幾下

sbit P2_2=P2^2;

sbit P2_3=P2^3;

uint num[4]={0}; //用于記錄外面輸入的數(shù)字

uint Tablenum;

sbit P3_4=P3^4;

sbit P3_5=P3^5;

void jieguo(void);

void Settime(uchar verify);

uchar kbscan(void);///鍵盤掃描

void Show_Time(void);////顯示時間

void Settime(uchar verify);//verify 在這里為調(diào)整的意思

uint transfor( uchar key1);

void delay400ms(void) ;

void delay200ms(void);

void delay5ms(void);

void delay_1s(void);

void dlms(void);

void dlms1(void)

{

uint g=20000;

while(--g); //延時100mS鐘

}

void clr(void)

{

i=0;

suanfa=0;

Tablenum=0;

for(f=0;f《4;f++)

{

num[f]=0;

}

P2_0=1;

P2_1=1;

P2_2=1;

P2_3=0;

P3_4=0;

P3_5=1;

P0=0xc0;

P3_5=0;

}

//***************************************以下單片機液晶顯示****************************************************

void waitLcd() //just wait until 液晶不忙為止

{

char temp;

bit flag=1;

while(flag==1)

{

temp=XBYTE[rc];

if (temp》》7==0) flag=0;

P1=temp;

}

P1=0xff;

}

//just wait until 液晶不忙為止

void WriteCommand_Lcd(bit isCheck,char c)

{

if (isCheck==1) waitLcd();

XBYTE[wc]=c;

}

void writedata(char c)

{

waitLcd();

XBYTE[wd]=c;

}

void LcdInit()

{

delay5ms();

delay5ms();

delay5ms();

WriteCommand_Lcd(0,0x38); //三次顯示模式設(shè)置,不檢測忙信號

delay5ms();

WriteCommand_Lcd(0,0x38);

delay5ms();

WriteCommand_Lcd(0,0x38);

delay5ms();

WriteCommand_Lcd(1,0x38); //顯示模式設(shè)置,開始要求每次檢測忙信號,8位2行5*7

WriteCommand_Lcd(1,0x08); //關(guān)閉顯示

WriteCommand_Lcd(1,0x01); //清顯示

WriteCommand_Lcd(1,0x06); // 文字不動,光標右移

WriteCommand_Lcd(1,0x0C); // 顯示開及光標設(shè)置

}

void displayListChar(unsigned char X, unsigned char Y, uchar DData)

{

Y &= 0x1;

X &= 0xF;

if (X 《= 0xF)

{

Y &= 0x1;

X &= 0xF;

if (Y) X = 0x40;

X = 0x80;

WriteCommand_Lcd(0,X);

writedata(dispbuf[DData]);

}

}

//****************************************以上單片機液晶顯示驅(qū)動*****************************************************

//*****************************************************************************************************

//**********************************以下顯示時間*****************************************************

void Show_Time(void)

{

displayListChar(0,0,hour/10);

displayListChar(1,0,hour%10);

displayListChar(2,0,10);

displayListChar(3,0,minute/10);

displayListChar(4,0,minute%10);

displayListChar(5,0,10);

displayListChar(6,0,second/10);

displayListChar(7,0,second%10);

}

//**********************************以上顯示時間*****************************************************

void main(void)

{

TMOD=0x02; //置自動重裝載模式

TH0=0x06; //設(shè)初值

TL0=0x06; //設(shè)初值

TR0=1; //開始計數(shù)

ET0=1; //開定時器/計數(shù)器

EA=1; //中斷開

delay400ms();//啟動等待,等LCM講入工作狀態(tài)

LcdInit(); //LCM初始化

P3_4=0;

P2_0=1;

P2_1=1;

P2_2=0;

P2_3=1;

P3_5=1;

P0=0xc0;

P3_5=0;

while(1)

{

uchar key;

key=kbscan();

dlms();

// 0(11100111 0xe7)

///*****************************以下是單片機液晶顯示兩種狀態(tài)的切換********************

//**********************************************************************************************

if(key==0xe7)

{

dlms();

flag1=~flag1;

key=0x00;

if(flag1==1)

{

P2_0=1;

P2_1=1;

P2_2=0;///液晶狀態(tài)燈

P2_3=1;

}

if(flag1==0)

{

P2_0=1;

P2_1=1;

P2_2=1;

P2_3=0;///計算器狀態(tài)燈

}

dlms1();

}

///*****************************以上是單片機液晶顯示兩種狀態(tài)的切換*************

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44969

    瀏覽量

    649186
  • 液晶顯示
    +關(guān)注

    關(guān)注

    6

    文章

    599

    瀏覽量

    40842
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3825

    瀏覽量

    82740
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    液晶顯示屏出廠要做哪些安全檢測

    檢測:一、電氣安全檢測電氣安全測試測試內(nèi)容:確保液晶顯示屏在正常工作及故障狀態(tài)下,電氣部件不帶電,避免電擊危險。測試方法:接地電阻測試:檢查設(shè)備是否正確接地,防止電
    的頭像 發(fā)表于 06-30 14:59 ?80次閱讀
    <b class='flag-5'>液晶顯示</b>屏出廠要做哪些安全檢測

    液晶顯示模組短路修復(fù)及相關(guān)激光液晶面板線路修復(fù)方法

    一、引言 液晶顯示模組作為顯示設(shè)備的核心組件,其性能直接影響顯示效果。短路故障是液晶顯示模組常見問題,嚴重影響產(chǎn)品質(zhì)量與可靠性。同時,液晶
    的頭像 發(fā)表于 05-08 17:12 ?230次閱讀
    <b class='flag-5'>液晶顯示</b>模組短路修復(fù)及相關(guān)激光<b class='flag-5'>液晶</b>面板線路修復(fù)方法

    基于單片機中藥存放環(huán)境監(jiān)測系統(tǒng)的實現(xiàn)

    本項目基于STM32F103C8T6單片機作為核心控制單元,通過多種傳感器對環(huán)境進行實時采集,并通過液晶顯示屏和Wi-Fi無線通訊將監(jiān)測數(shù)據(jù)展示給用戶,達到環(huán)境預(yù)警和安全保障的目的。
    的頭像 發(fā)表于 01-23 09:42 ?680次閱讀
    基于<b class='flag-5'>單片機</b>中藥存放環(huán)境監(jiān)測系統(tǒng)的<b class='flag-5'>實現(xiàn)</b>

    貼片NTC熱敏電阻在液晶顯示中的應(yīng)用

    貼片NTC熱敏電阻在液晶顯示中的應(yīng)用
    的頭像 發(fā)表于 11-25 15:02 ?780次閱讀
    貼片NTC熱敏電阻在<b class='flag-5'>液晶顯示</b>中的應(yīng)用

    基于51單片機的LED點陣滾動顯示系統(tǒng)

    花樣;(4)可以利用“點陣LED字模生成工具”生成自己想要顯示的字符。仿真演示視頻:基于51單片機的LED點陣滾動顯示系統(tǒng)-仿真視頻設(shè)計介紹51單片機簡介51
    的頭像 發(fā)表于 10-22 14:12 ?637次閱讀
    基于51<b class='flag-5'>單片機</b>的LED點陣滾動<b class='flag-5'>顯示</b>系統(tǒng)

    單片機怎么寫入程序

    單片機(Microcontroller Unit,MCU)是一集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等功能集成在一個芯片上。單片機廣泛應(yīng)用于嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中。編寫
    的頭像 發(fā)表于 10-21 11:21 ?2316次閱讀

    基于MSP430單片機的軟件玻璃液晶驅(qū)動程序

    電子發(fā)燒友網(wǎng)站提供《基于MSP430單片機的軟件玻璃液晶驅(qū)動程序.pdf》資料免費下載
    發(fā)表于 10-18 10:41 ?0次下載
    基于MSP430<b class='flag-5'>單片機</b>的軟件玻璃<b class='flag-5'>液晶</b>驅(qū)動<b class='flag-5'>程序</b>

    液晶顯示屏原材料主要有哪些

    液晶顯示屏(LCD)是一廣泛使用的顯示技術(shù),它依賴于液晶材料的光學(xué)特性來控制光線的通過,從而在屏幕上產(chǎn)生圖像。液晶顯示屏的原材料非常多樣化
    的頭像 發(fā)表于 10-12 10:43 ?6504次閱讀

    液晶顯示屏是什么材料做的

    液晶顯示屏(Liquid Crystal Display,簡稱LCD)是一廣泛使用的顯示技術(shù),它利用液晶材料的光學(xué)特性來控制光線的通過,從而實現(xiàn)
    的頭像 發(fā)表于 10-12 10:41 ?3309次閱讀

    液晶顯示屏與led顯示屏的區(qū)別

    在現(xiàn)代電子設(shè)備中,顯示屏是人機交互的重要界面。隨著科技的發(fā)展,顯示屏技術(shù)也在不斷進步,其中液晶顯示屏(LCD)和LED顯示屏是兩種主流的
    的頭像 發(fā)表于 10-12 10:39 ?3285次閱讀

    單片機(MCU)驅(qū)動雙路LVDS 1920*1080分辨率液晶顯示屏的方案

    基于單片機的專業(yè)液晶顯示驅(qū)動方案
    的頭像 發(fā)表于 09-19 16:31 ?3545次閱讀

    單片機io口的四工作狀態(tài)

    )是單片機與外部世界進行數(shù)據(jù)交換的接口。每個I/O口可以配置為輸入或輸出狀態(tài),或者同時具備這兩種功能。I/O口的狀態(tài)可以通過編程來控制,以滿足不同的應(yīng)用需求。 2.
    的頭像 發(fā)表于 09-14 14:24 ?3713次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序單片機開發(fā)過程中的一個重要環(huán)節(jié),涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以
    的頭像 發(fā)表于 09-02 10:05 ?3304次閱讀

    單片機引腳懸空是什么電平

    下,其電平狀態(tài)通常有兩種可能:高電平或低電平。具體取決于單片機的內(nèi)部結(jié)構(gòu)和外部環(huán)境因素。 1.1 內(nèi)部結(jié)構(gòu)因素 單片機的I/O引腳內(nèi)部結(jié)構(gòu)通常包括一個上拉電阻和一個下拉電阻。上拉電阻連
    的頭像 發(fā)表于 08-28 09:51 ?4653次閱讀

    晶閘管的阻斷狀態(tài)兩種是什么

    晶閘管(Thyristor)是一半導(dǎo)體器件,具有單向?qū)щ娦裕瑥V泛應(yīng)用于電力電子領(lǐng)域。晶閘管的阻斷狀態(tài)兩種:正向阻斷狀態(tài)和反向阻斷狀態(tài)。以
    的頭像 發(fā)表于 08-14 16:49 ?1381次閱讀