當前位置:編程學習大全網 - 編程語言 - 單片機C語言實驗電腦時鐘編程

單片機C語言實驗電腦時鐘編程

#include<graphics.h>

#include<math.h>

#include<dos.h>

#define PI 3.1415926

//屏幕中心的坐標(640X480模式下)

#define mid_x 320

#define mid_y 240

int main()

{ int graphdriver=DETECT,graphmode;

int end_x,end_y;

struct time curtime;

float th_hour,th_min,th_sec;

initgraph(&graphdriver,&graphmode,"C:\\TC2"); //初始化VGA屏幕模式

setbkcolor(BLACK); //使用黑色的背景色

while(!kbhit(0)) //若有鍵盤輸入,則跳出,即是結束程序

{ setcolor(GREEN); //把畫筆設為綠色

circle(mid_x,mid_y,180); //鐘的外圓

circle(mid_x,mid_y,150); //鐘的內圓

circle(mid_x,mid_y,1); //畫出鐘的圓心

gettime(&curtime); //取得系統當前時間

th_sec=(float)curtime.ti_sec*0.1047197551; //把秒針的角度化為弧度,為以後繪制時方便,下同

th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0; //分針的弧度

th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0; //時度的弧度,註意整時是12等分的,所時乘的是3.14/180*5

//計算出時針的尾的坐標(時針長70)

end_x=mid_x+70*sin(th_hour);

end_y=mid_y-70*cos(th_hour);

setcolor(RED);

line(mid_x,mid_y,end_x,end_y); //用紅色線畫出時針

//計算出分針坐標(分針長110)

end_x=mid_x+110*sin(th_min);

end_y=mid_y-110*cos(th_min);

setcolor(RED);

line(mid_x,mid_y,end_x,end_y); //用紅色畫出分針

end_x=mid_x+140*sin(th_sec);

end_y=mid_y-140*cos(th_sec);

setcolor(RED);

line(mid_x,mid_y,end_x,end_y); //同上,畫出秒針,長為140

//畫出鐘盤上的刻度,刻度長20

line(140,240,160,240); //9點對應的大刻度

line(320,60,320,80); //12點對應的大刻度

line(500,240,480,240); //3點的刻度

line(320,420,320,400); //6點的刻度

line(410,395.7,400,378.4); //5點

line(475.7,330,458.4,320); //4點

line(475.7,150,458.4,160); //2點

line(410,84.3,400,101.6); //1點

line(230,84.3,240,101.6); //11點

line(164.3,150,181.6,160); //10點

line(164.3,330,181.6,320); //8點

line(230,395.7,240,378.4); //7點

sleep(BLUE); //這裏應該是打錯,停止壹秒,應為sleep(1000)

cleardevice(); //清除屏幕上的顯示

}

closegraph(); //關閉VGA屏幕,即返回文本方式

return 0;

}

  • 上一篇:樹有什麽好處?
  • 下一篇:燈箱海報用什麽軟件?現在廣告公司最常用的制圖軟件是什麽
  • copyright 2024編程學習大全網