當前位置:編程學習大全網 - 編程軟體 - 用C51系列的單片機控制 在8位數碼管動態顯示秒表 要c語言版程序 謝謝

用C51系列的單片機控制 在8位數碼管動態顯示秒表 要c語言版程序 謝謝

顯示程序和硬件關聯,如驅動方式、位數等,所以沒有統壹的程序,假定動態顯示,大概思路如下:

1、設置定時中斷,定時中斷時間是5毫秒;

2、中斷程序完成秒計時,秒數發生變化時,要將秒數對應的顯示碼放到顯示緩沖區;

3、每次中斷循環顯示壹位數碼管;

下面是我曾經寫的壹個顯示程序(顯示緩沖區G_Disp_Buf):

#define PIN_SDIN P0_0

#define PIN_ST P0_1

#define PIN_SH P0_2

#define LOC_D1 0x08

void Display(void)

{

unsigned char i,ch,loc;

if(g_disp_location>3) g_disp_location=0; // display one digit every time, total 4 digits.

ch=G_Disp_Buf[g_disp_location];

loc=LOC_D1; // D1 position,P0_3-P0_6 located D1-D4

for(i=0;i<g_disp_location;i++) loc <<=1;

P0 &=0x87; // P0_3-6 clear, disable display

PIN_ST=0;

for(i=0;i<=7;i++) // output one character

{

PIN_SH=0;

if((ch&0x80)==0) PIN_SDIN=0;

else PIN_SDIN=1;

ch <<=1;

PIN_SH =1;

}

PIN_ST=1; // character ready

P0 |=loc; // set D1,D2,D3 or D4 ,enable display

g_disp_location++;

}

  • 上一篇:雪地奔馳韃靼裝甲車修改教程參數修改方法
  • 下一篇:寶馬的限速功能有什麽問題?寶馬限速功能失靈怎麽辦?
  • copyright 2024編程學習大全網