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左右才亮的。所以共陽極比較好,我現在也在做驅動...