求STC89C52微控制器運算及共陰4位八段數碼管顯示運算結果的C語言程式,一定是用C程式設計的,高手幫幫忙

時間 2021-09-01 18:43:15

1樓:匿名使用者

/*這個程式我編了一個上午,希望能對你有用。

執行時按下int0開始計時,再按下int1得到速度

由於我只有公陽極數碼管,(因為要除錯)p2為片選端因為我加了三極體,所以也是低電平有效,你是共陰極,片選端可以直接連p2上,

你自己把數字取反再除錯看看

速度的單位是釐米每秒,定義的l是1米,由於用浮點數表示速度在顯示部分會麻煩一點,所以就偷了下懶用的整數表示的,由於最終速度

顯示到數碼管上要加一個小數點,所以實際上程式中的v是以毫米每秒為單位,顯示到數碼管上縮小了10倍

*/#include

code unsigned char tab=

; //共陽數碼管 0-9 共陰極你要取反

unsigned char dis_baiwei=0xc0;//定義百位

unsigned char dis_shiwei=0xc0;//定義十位

unsigned char dis_gewei=0xc0; //定義個位

unsigned char dis_shifwei=0xc0; //定義十分位

unsigned char second,msecond;

unsigned long l=100000; //1米,以0.01mm為單位

unsigned int v; //速度

unsigned int t; //時間以0.01秒為單位

void clr(void);

void delay(unsigned int cnt)

main()

}/********************************/

/* 定時中斷 */

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

void tim(void) interrupt 1 using 1

dis_baiwei=tab[second/10];//十位顯示值處理

個位顯示處理,如果是共陰極就是0x80

dis_gewei=tab[msecond/10];//十位顯示值處理

dis_shifwei=tab[msecond%10]; //個位顯示處理

}void isr_int0(void) interrupt 0 using 1

void isr_int1(void) interrupt 2 using 1

2樓:菲菲大愛

執行時按下int0開始計時,再按下int1得到速度

由於我只有公陽極數碼管,(因為要除錯)p2為片選端因為我加了三極體,所以也是低電平有效,你是共陰極,片選端可以直接連p2上,

你自己把數字取反再除錯看看

速度的單位是釐米每秒,定義的l是1米,由於用浮點數表示速度在顯示部分會麻煩一點,所以就偷了下懶用的整數表示的,由於最終速度

顯示到數碼管上要加一個小數點,所以實際上程式中的v是以毫米每秒為單位,顯示到數碼管上縮小了10倍

*/#include

code unsigned char tab=

; //共陽數碼管 0-9 共陰極你要取反

unsigned char dis_baiwei=0xc0;//定義百位

unsigned char dis_shiwei=0xc0;//定義十位

unsigned char dis_gewei=0xc0; //定義個位

unsigned char dis_shifwei=0xc0; //定義十分位

unsigned char second,msecond;

unsigned long l=100000; //1米,以0.01mm為單位

unsigned int v; //速度

unsigned int t; //時間以0.01秒為單位

void clr(void);

void delay(unsigned int cnt)

main()

}/********************************/

/* 定時中斷 */

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

void tim(void) interrupt 1 using 1

dis_baiwei=tab[second/10];//十位顯示值處理

個位顯示處理,如果是共陰極就是0x80

dis_gewei=tab[msecond/10];//十位顯示值處理

dis_shifwei=tab[msecond%10]; //個位顯示處理

}void isr_int0(void) interrupt 0 using 1

void isr_int1(void) interrupt 2 using 1

3樓:匿名使用者

運算什麼?共陰4位八段數碼管接哪?

stc89c52微控制器連線4位8段共陰數碼管顯示運算結果的程式【c語言編寫】

4樓:李度言

dis_buf[5]=350.5/100; //得出百位3

count=350.5%100;//得出餘數50.5dis_buf[6]=50.

5/10; //得十位dis_buf[7]=50.5%10; //得餘數0.5dis_buf[8]=0.

5/1; //得個位0dis_buf[8]=0.5%1; 得5

微控制器STC89C52顯示0 99的C語言程式

include sbit p10 p0 0 數碼管1 公共端sbit p11 p0 1 數碼管2 公共端 define uchar unsigned char define uint unsigned intuchar dsy ge uchar dsy shi void delayms uint x...

stc89c52晶振頻率是多少

小衝帥 stc89c52最高運作頻率35mhz,stc89c52rc是stc公司生產的一種低功耗 高效能cmos8位微控制器,具有8k位元組系統可程式設計flash儲存器。stc89c52 支援2種軟體可選擇節電模式。擴充套件資料 stc89c52器件引數 1 增強型8051微控制器,6 時鐘 機器...

stc89C52微控制器P0口內加1K上拉電阻可以直接驅動兩位

奮鬥風雪 我勸你用共陽極數碼管吧,微控制器輸出電流一般一個p0 p3口的某一位是1ma,輸出電流極少,根本是驅動不了共陰極數碼管的。而共陽極,由於是灌電流 即輸入電流給微控制器 給微控制器 微控制器某一位最大接收電流是20ma,而數碼管一段一般是10ma左右才亮的。所以共陽極比較好,我現在也在做驅動...