回覆列表
-
1 # 使用者7063786766555
相關內容
- 51微控制器定時器0,TH0和TL0計算時間?
- 51微控制器,定時器的問題,在這個程式中,TH0,TL0是怎麼迴圈的?
- 求51微控制器組合語言,要求P1口LED燈閃爍,並且P2口接1個數碼管自動計數並且P3.2按鍵計數,求答案啊?
- AT89C51微控制器怎麼用匯編語言讓數碼管顯示學號?最好有電路圖?
- 用微控制器控制一個8段數碼管,其迴圈顯示數字0到9,每位數字顯示時間為一秒,定時功能用微控制器中斷顯示?
- AT89C51微控制器怎麼用匯編語言讓4個數碼管同時顯示1234?
- 用51微控制器組合語言,數碼管靜態輪流顯示1~F?
- 微控制器數碼管模擬的控制流程和模擬結果的步驟是什麼?
- 51微控制器程式(c語言版),按鍵矩陣控制數碼管顯示數字。十位數顯示不全?
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00};
uchar intnum;
uchar sec;
void init()
{
TMOD=0x01; // 定時器模式選擇,選擇T0定時器,方式1
TR0=1; //1 開啟定時器0
ET0=1; //定時器0中斷使能位
EA=1; //使能全域性中斷
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
void time0() interrupt 1 //50ms
{
//TF0=0; //定時器0溢位 ,清楚中斷
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
intnum++;//溢位值加1
if(intnum==20)
{
intnum=0;
sec++;
if(sec==100)
{
sec=0;
}
}
}
void disp(uchar num1,uchar num2)
{
P0=table[num1];
P2=table[num2];
}
void main()
{
init();
while(1)
{
uchar a,b;
a=sec/10;
b=sec%10;
disp(a,b);
}