基於51微控制器的數字秒錶實現

2022-03-23 22:23:32 字數 2149 閱讀 6800

//

基於51微控制器的八位數字秒錶

//開發語言:c51

//所選晶元:at89s51

//開發者:jnu.bluecoffee

//開發日期:2023年6月18日

//#include 

<

reg51.h

>

#include 

<

intrins.h

>

#define

dig_none 0xff;

#define

dig_1 0x7f

#define

dig_2 0xbf

#define

dig_3 0xdf

#define

dig_4 0xef

#define

dig_5 0xf7

#define

dig_6 0xfb

#define

dig_7 0xfd

#define

dig_8 0xfe

#define

line  0xf7

//根據共陰共陽以及接法要調整

typedef unsigned 

char

byte;

typedef bit 

bool

;sbit start =p3

^0;sbit reset =p3

^1;byte data dis_digit;

byte data min;

byte data sec;

byte data msec;

bool

data isstarted;

byte data dis_digit;

byte data dis_index;

byte data dis_buff[8];

byte data dis_num[8];

//根據共陰共陽以及數碼管接法這裡要的表要調整

byte code number[11]

=;//0,1,2,3,4,5,6,7,8,9,關顯示,數碼管碼表

byte dis_buff[

8];        

//顯示緩衝區

byte dis_num[

8];         

//秒計數值, bcd碼

byte dis_index;

bit    scan_key();

void

proc_key();

void

delayms(byte ms);

void

update_buff();

void

msec_increment();

void

reset(

void

);bool

get_key(bit key);

//有效為1

void

mcu_init(

void

);void

timer0_overflow();

void

timer1_overflow();

//sbit    k1 = p3^2;

void

msec_increment()

//中斷裡面的設定

if(sec 

==60)if

(min 

==60

)min =0

;}void

mcu_init()

void

reset()

void

update_buff()

bool

get_key(bit key)

//有效為1,這裡按下為低電平

void

timer0() interrupt 

1void

timer1() interrupt 

3void

delayms(unsigned 

char

ms)    

//延時子程式

}void

main(

void)}

if(resetkey ==1

&&isstarted ==0

)    }}

}

基於51微控制器的數字氣壓計

1.概述 本設計是基於mpx4115的數字氣壓計,硬體處理電路為大氣壓感測器模擬訊號的採集 轉換 處理和顯示,並根據相應的軟體需求設計控制程式。2.硬體設計 1 硬體總體框圖 氣壓計的硬體主要由四部分組成,分別為微控制器最小系統 氣壓訊號採集電路 adc轉換電路和數碼管電路。2 氣壓訊號採集轉換電路...

51微控制器LED數碼管秒錶製作

要求 製作乙個led數碼管顯示的秒錶,用2位數碼管顯示計時時間,最小計時單位為百毫秒,計時範圍為0.0 9.9秒,按下第一次按鍵開始計時,第二次暫停,第三次秒錶清零,如果計時到9.9s,重新開始從0計時。proteus電路 如下 這裡我用的是共陽數碼管,在proteus中為ca,代表共陽 如下 in...

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...