久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3762|回復: 0
收起左側

ARM歷程十—鐘表設計

[復制鏈接]
ID:71259 發表于 2014-12-29 20:03 | 顯示全部樓層 |閱讀模式
程序視頻:自制鐘表

#include "S3C2440addr.h"
#include "math.h"
#define pi 3.141593


U16 SEC, MIN, HOUR, TmpSEC_10, TmpMIN_10, TmpHOUR_10,TmpSEC_1,TmpMIN_1,TmpHOUR_1;
U16 SEC_x, SEC_y, MIN_x, MIN_y, HOUR_x, HOUR_y, OldMIN=10000;
U16 PandColor_big[30][30];
U16 PandColor_sml[30][30];

extern U16 Flag;
extern U16 fz;
extern const unsigned char gImage_goback[7442];
extern const unsigned char gImage_yy[147968];
extern const unsigned char gImage_back[261120];

void DiyClk(void)
{
  
  U16 k;   
  LCD_Img(gImage_back);                         //畫背景圖片
  Paint_Clock(52,0,272,272,gImage_yy);        //畫鐘表面板
  Paint_Bmp_Rnd(200,95,61,61,2,30,gImage_goback);//畫返回圖標(右下角)

  ReadPand( 347, 135, 5, 1 );//讀以點(347,135)為圓心 5 為半徑的
                            //像素點的信息,存入數組PandColor_big中
               
  ReadPand( 311, 56, 5, 0 ); //讀以點(347,135)為圓心 5 為半徑的
                               //像素點的信息,存入數組PandColor_sml中
  fz = 1 ;

  while(Flag == 1)                               //Flag == 1表示進入時針子程序
    {
//////////////////////////////////////////////////////////////  
     TmpSEC_1 = rBCDSEC & 0x0f;  
     TmpSEC_10 = rBCDSEC >> 4;
     TmpMIN_1 = rBCDMIN & 0x0f;
     TmpMIN_10 = rBCDMIN >> 4;   
     TmpHOUR_1 = rBCDHOUR & 0x0f;
     TmpHOUR_10 = rBCDHOUR >> 4;
     TmpHOUR_10 &= 0x0003;                       
   
     SEC = (TmpSEC_10*10 + TmpSEC_1);
     MIN = (TmpMIN_10*10 + TmpMIN_1);
     HOUR = (TmpHOUR_10*10 + TmpHOUR_1);//把時間處理成常見的int
                                        //變量形式,方便計算轉角
///////////////////////////////////////////////////////////////   

///////////////////////////////////////////////////////////////   
     SEC_x = 240 + (int)(107*sin(pi*SEC/30.0));
     SEC_y = 135 - (int)(107*cos(pi*SEC/30.0));   
   
   
     MIN_x = 240 + (int)(90*sin(pi*MIN/30.0));
     MIN_y = 135 - (int)(90*cos(pi*MIN/30.0));//把角度轉化為坐標
   
   
     HOUR_x = 240 + (int)(60*sin(pi*(30*HOUR+MIN/2)/180));
     HOUR_y = 135 - (int)(60*cos(pi*(30*HOUR+MIN/2)/180));
///////////////////////////////////////////////////////////////   
   
///////////////////////////////////////////////////////////////   
  if ( MIN != OldMIN )         //每分鐘刷新一次鐘面
     {
      
      
     
    Paint_Clock(52,0,272,272,gImage_yy); //顯示表盤圖片   
   
     heavyLine( MIN_x, MIN_y,0x3e0);      //分針的位置和著色   
   
     heavyLine( HOUR_x, HOUR_y,0x01f);    //時針的位置和著色   
     
    Pand(240,135,8,0x9871);              //鐘的中心位置顯示一個
                                          
    //半徑為8 著色為0x9871
                                          
    //的小圓斑   
                                       
      }
///////////////////////////////////////////////////////////////      
    RedPix( SEC_x, SEC_y );      //秒,在對應位置打點

  if ( SEC % 5 == 0 )   
    WritePand( SEC_x, SEC_y, 5 ,0 );//將數組PandColor_big中的像素信息寫入
                                    //以(SEC_x,SEC_y)為圓心5 為半徑的顯示
                                    //緩沖區內
                           
    else
   
   
    WritePand( SEC_x, SEC_y, 5 ,1 );//將數組PandColor_sml中的像素信息寫入
                                    //以(SEC_x,SEC_y)為圓心5 為半徑的顯示
                                    //緩沖區內
     
    OldMIN = MIN ;
///////////////////////////////////////////////////////////////////     
    }
     
    OldMIN = 10000;
      
    fz = 0 ;   
  }

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www婷婷| 日韩在线看片 | 高清视频一区二区 | 东方成人av | 日韩一级片视频 | 中文字幕一区在线观看 | 国产一级片在线播放 | 亚洲狠狠| a在线观看 | 国产日韩中文字幕 | 成人黄色小视频 | 久久黄视频 | 五月婷婷影院 | 亚洲男人av| 日韩和的一区二区 | 国产精品久久久久久久久久辛辛 | 日韩精品在线播放 | 亚洲精品一| 日韩精品毛片 | 国产一区免费视频 | 波多野结衣一区二区三区 | 福利影视 | 亚洲欧美视频在线观看 | 性史性dvd影片农村毛片 | 在线日韩视频 | 免费网站av| 欧美精品一区在线观看 | 在线观看黄色小视频 | 日韩精品在线播放 | 欧美日韩成人一区二区 | 久久成人综合 | 偷拍一区二区 | 在线观看国产免费视频 | 欧美日韩精品一区 | 91精品又粗又猛又爽 | 影音先锋在线视频 | 国产手机在线视频 | 中文在线视频 | 日韩免费高清视频 | 性巴克成人免费网站 | 亚洲视频免费看 |