91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2024-02-01
  • 語言: 其他
  • 標簽: LCD1602??

資源簡介

//簡介:第一行顯示,距離系統爆炸時間 //第二行顯示,還剩 //第三行顯示,00時,00分,00秒 //第四行顯示, 周林 //按下旋鈕開關,開始設定秒,秒編輯位閃動。左右旋轉設定數值, //在按下開關,秒確定,設定分,分編輯位閃動左右調數值, //再按下,分確定,小時位閃動。左右轉調小時,再按一下。 //時間確定,開始倒計時。到達定時時間后停止,并閃動。

資源截圖

代碼片段和文件信息

//簡介:第一行顯示,距離系統爆炸時間
//第二行顯示,還剩
//第三行顯示,00時,00分,00秒
//第四行顯示,?????????????周林

//按下旋鈕開關,開始設定秒,秒編輯位閃動。左右旋轉設定數值,
//在按下開關,秒確定,設定分,分編輯位閃動左右調數值,
//再按下,分確定,小時位閃動。左右轉調小時,再按一下。
//時間確定,開始倒計時。到達定時時間后停止,并閃動。

#include?
#include?

/*********************?定義?********************************/
#define?LCD_data??P0???????//數據口
sbit?LCD_RS?=?P2?^?0;?//寄存器選擇輸入
sbit?LCD_RW?=?P2?^?1;?//液晶讀/寫控制
sbit?LCD_EN?=?P2?^?2;?//液晶使能控制
sbit?LCD_PSB?=?P2?^?3;?//串/并方式控制
sbit?LCD_RST?=?P2?^?5;?//液晶復位端口

sbit?sset=P3^4;//設置按鈕
sbit?spk=P1^4;
sbit?sadd=P2^7;
sbit?sdel=P2^6;

signed?char?second=0minute=0hour=0count=0keycount=0;
signed?char?key=0;
unsigned?char?code?DIS1[]?=
{
??“距離系統爆炸時間“
};
unsigned?char?code?DIS2[]?=
{
??“還剩:“
};
unsigned?char?code?DIS31[]?=
{
??“時“
};
unsigned?char?code?DIS32[]?=
{
??“分“
};
unsigned?char?code?DIS33[]?=
{
??“秒“
};
unsigned?char?code?DIS4[]?=
{
??“周林“
};
unsigned?char?code?table2[]=“0123456789“;

char?code?reserve[3]_at_?0x3b;?//保留0x3b開始的3個字節

/*********************延時子函數**************************/

void?delayNOP()//us延時子函數???(4.34us)
{
??_nop_();
??_nop_();
??_nop_();
??_nop_();
}

void?delayms(unsigned?int?ms)//ms延時子函數
{
??unsigned?char?y;
??while?(ms--)
??{
????for?(y?=?0;?y???????;
??}
}
//******************檢查LCD忙狀態**************************


bit?lcd_busy()//檢查LCD忙狀態?1忙,0閑
{
??bit?result;
??LCD_RS?=?0;
??LCD_RW?=?1;
??LCD_EN?=?1;
??delayNOP();
??result?=?(bit)(P0?&0x80);
??LCD_EN?=?0;
??return?(result);
}

//***********************寫指令數據***********************

void?lcd_wcmd(unsigned?char?cmd)//寫指令數據到LCD
{
??while?(lcd_busy())
??{
?;
??}
??LCD_RS?=?0;
??LCD_RW?=?0;
??LCD_EN?=?1;
??P0?=?cmd;
??delayNOP();
??LCD_EN?=?0;
}

void?lcd_wdat(unsigned?char?dat)//寫顯示數據到LCD
{
??while?(lcd_busy())
????;
??LCD_RS?=?1;
??LCD_RW?=?0;
??LCD_EN?=?1;
??P0?=?dat;
??delayNOP();
??LCD_EN?=?0;
}

void?writesmh(unsigned?char?addunsigned?char?date)//顯示個位和十位數據
{
unsigned?char?shige;
shi=date/10;
ge=date%10;
lcd_wcmd(0x80+add);
delayms(5);
lcd_wdat(table2[shi]);
delayms(5);
lcd_wdat(table2[ge]);
delayms(5);
}

//*********************初始化設定****************************

void?lcd_init()
{
??LCD_PSB?=?1;?//并口方式

??LCD_RST?=?0;?//液晶復位
??delayms(5);??//液晶復位
??LCD_RST?=?1;?//液晶復位
??delayms(5);??//液晶復位

??lcd_wcmd(0x34);?//擴充功能設定,擴充指令,選8位數據
??delayms(5);
??lcd_wcmd(0x30);?//功能設定,基本指令操作,選8位數據
??delayms(5);
??lcd_wcmd(0x0C);?//顯示開,關光標,關光標反白允許。
??delayms(5);
??lcd_wcmd(0x04);?//光標的移動方向
??delayms(5);
??lcd_wcmd(0x01);?//清除LCD的顯示內容
??delayms(5);

TMOD=0x01;
TH0=0x3C;
TL0=0xB0;
EA=1;
ET0=1;
TR0=0;
EX0=0;?//外部中斷0允許
IT0=1;?//外部中斷0為邊沿觸發方式
}

//*********************設定顯示位置子函數**********************

void?lcd_pos(unsigned?char?X?unsigned?char?Y)//設定顯示位置
{
??unsigned?char?pos;

??if?(X?==?1)
??{
????X?=?0x80;
??}
??else?if?(X?==?2)
??{
????X?=?0x90;
??}
??else?if?(X?==

評論

共有 條評論