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

  • 大小: 46KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-05-23
  • 語言: 其他
  • 標簽: 8255秒表??

資源簡介

附有實驗板原理圖,主要是51單片機利用8255擴展IO口,利用8255接入獨立按鍵,矩陣鍵盤,并有一個詳細的秒表程序,秒表有開始(繼續(xù))、記錄數(shù)據(jù)、查詢數(shù)據(jù)、復(fù)位功能,四位數(shù)碼管動態(tài)顯示分秒,兩個數(shù)碼管通過串行輸入顯示秒的下一個單位。

資源截圖

代碼片段和文件信息

//程序名:KeyBoard_8255_Apply
//功能描述:1.開機后,按下OPEN(K12)顯示HELLO-;
//2.按下RUN(K13)后,后兩位開始計數(shù)00-99;
//3.按下STOP(K15)后,停止運行,繼續(xù)顯示HELLO-?;
//4.按下+1(K14)后,對四位數(shù)碼管的最后一位做+1調(diào)整,0-9;
//硬件電路,J8中1,3短接,獨立按鍵
//調(diào)用函數(shù):Disp_HELLO();Disp_number();Disp_increment();
//Set_Init_Timer1();Delayx1ms(uint?cout);
#include
#include
#define?uchar?unsigned?char
#define?uint??unsigned?int
#define?COM8255?XBYTE[0XFFFF]
#define?PA8255??XBYTE[0XFFFC]
#define?PB8255??XBYTE[0XFFFD]
#define?PC8255 XBYTE[0XFFFE]
sbit?P1_2?=?P1^2;
sbit?P1_1?=?P1^1;
sbit?P1_0?=?P1^0;
sbit?SLCK?=?P2^4;
//函數(shù)聲明?
void?Disp_HELLO();
void?Disp_number();
void?Set_Init_8255();
void?Delayx1ms(uint?count);
void?Set_Init_Timer1();
void?Disp_increment();
uchar?code?dis_HELL[]={0x890x860xc70xc7};?????//四位數(shù)碼管HELL
uchar?code?dis_number[]={0xfc0x600xda0xf20x660xb60xbe0xe00xfe0xf6};?//四位串并轉(zhuǎn)換控制數(shù)碼管0-9
uchar?code?dis_count[]={0xc00xf90xa40xb00x990x920x820xf80x800x900xff};//四位數(shù)碼管0-9,
uchar?number=0numberhnumberli=0j=0;
void?main()
{
???Set_Init_Timer1();
??do{
???????Set_Init_8255();
??switch(PB8255)
??{
????case???????0xef:??Disp_HELLO();?break;?//K12按下
case???????0xdf:??TR1=1;?Disp_number();?break;?//K13按下
case???????0xbf:??Disp_increment();?break;?//K14按下
case???????0x7f:??Disp_HELLO();?break;?//K15按下

??}
????}while(1);
}
?void?Set_Init_Timer1() //定時器1初始化
?{
?? TMOD?=0X10;????//Timer?1Moder?1
TH1??=0X3C;????//50ms定時
TL1??=0XB0;
EA???=1;
ET1??=1;
?}
?/*******************************************************/
?//函數(shù)名:Run_Timer1() interrupt?3?using?1
?//功能:利用定時器精確定時50ms
?//說明:定時器1中斷服務(wù)程序
?/*******************************************************/
?Timer1_int() interrupt?3?using?1
?{
???static?unsigned?char?count?=0;
???TH1??=0X3C; //50ms定時
???TL1??=0XB0;
???count?++;
??????if(count?==20) ??//每秒時間到
??{
??????number++;
??count?=0;
??if(number==99) ?
??{
????number=0;
??}
??}
?}
?/******************************************************/
?//函數(shù)名:Disp_HELLO();
?//功能:動態(tài)顯示HELL串行口移位寄存器工作顯示o-
?//調(diào)用函數(shù) ??Delayx1ms(5)
?/******************************************************/
?void?Disp_HELLO()
?{ TR1=0;
???P1=0x7f; //四位數(shù)碼管顯示
???P2=dis_HELL[0];
???Delayx1ms(1);?
???P1=0xbf;
???P2=dis_HELL[1];
???Delayx1ms(1);?
???P1=0xdf;
???P2=dis_HELL[2];
???Delayx1ms(1);?
???P1=0xef;
???P2=dis_HELL[3];
???Delayx1ms(1);?

???SCON=0X00;??//串口方式0工作
???SBUF=0XFC;??//發(fā)送0字符
???while(!?TI);
???TI=0;
???SLCK=0;?
???SLCK=1; ???//產(chǎn)生上升沿,將74HC595存儲器數(shù)據(jù)輸出
???SBUF=0X02;??//發(fā)送-?字符
???while(!?TI);
????TI=0;
???SLCK=0;?
???SLCK=1; ???//產(chǎn)生上升沿,將74HC595存儲器數(shù)據(jù)輸出
???for(i=0;i<0xff;i++);//調(diào)整數(shù)碼管顯示效果
?}
?/************************************************************************/
?//函數(shù)名:void?Delayx1ms(uint?count);
?//功能:延時時間為1ms
?//輸入?yún)?shù),1ms計數(shù)
?//說明:總共延時時間為1ms?x?count
?/*********************************************************************/
void?Delayx1ms(uint?c)
{
??uint?j;
??while(c--!=0)
??{
??

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4383??2014-07-24?15:39??實驗板程序設(shè)計\8255?IO擴展.c
?????文件????????3384??2014-07-24?15:53??實驗板程序設(shè)計\99s計時器.c
?????文件??????262551??2014-07-27?23:11??實驗板程序設(shè)計\實驗板(實用版).DSN
?????文件????????3723??2014-07-24?15:34??實驗板程序設(shè)計\矩陣鍵盤.c
?????文件????????4333??2014-07-27?14:10??實驗板程序設(shè)計\秒表.c
?????目錄???????????0??2014-07-29?10:43??實驗板程序設(shè)計\

評論

共有 條評論

相關(guān)資源