亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Windows CE系統(tǒng)的模擬時(shí)鐘設(shè)計(jì)

        2012-07-12 05:07:14北方民族大學(xué)電氣信息工程學(xué)院侯秋華
        電子世界 2012年18期
        關(guān)鍵詞:秒針時(shí)針分針

        北方民族大學(xué)電氣信息工程學(xué)院 侯秋華 劉 煒

        基于Windows CE系統(tǒng)的模擬時(shí)鐘設(shè)計(jì)

        北方民族大學(xué)電氣信息工程學(xué)院 侯秋華 劉 煒

        本文介紹了一種基于Windows CE 6.0操作系統(tǒng)的模擬時(shí)鐘的設(shè)計(jì)方法,該設(shè)計(jì)以三星公司的S3C2440為核心,基于MFC編程,實(shí)現(xiàn)了鐘面上時(shí)分秒針的實(shí)時(shí)顯示。本設(shè)計(jì)編譯生成的.exe文件可做為Windows CE系統(tǒng)的一個(gè)應(yīng)用程序使用。

        ARM;S3C2440;Windows CE;模擬時(shí)鐘

        1.引言

        隨著科學(xué)技術(shù)的發(fā)展,嵌入式設(shè)備廣泛應(yīng)用于商業(yè)管理和工業(yè)控制等領(lǐng)域。本設(shè)計(jì)以ARM9嵌入式微處理器S3C2440為核心,基于MFC編程,在開(kāi)發(fā)板的液晶顯示屏上顯示模擬時(shí)鐘,實(shí)現(xiàn)了時(shí)分秒針的實(shí)時(shí)顯示。

        2.硬件平臺(tái)

        本設(shè)計(jì)以ARM9嵌入式微處理器S3C2440開(kāi)發(fā)板為核心,主要利用S3C2440內(nèi)置的RTC模塊,通過(guò)讀取系統(tǒng)時(shí)間來(lái)實(shí)時(shí)繪制時(shí)針,實(shí)現(xiàn)模擬時(shí)鐘的實(shí)時(shí)走動(dòng)。

        3.軟件設(shè)計(jì)

        3.1 對(duì)話框設(shè)計(jì)

        建立工程之后,在Resource View中設(shè)計(jì)模擬時(shí)鐘的界面,選定一個(gè)與S3C2440觸摸屏相符的對(duì)話框界面。模擬時(shí)鐘的顯示用程序?qū)崿F(xiàn),在對(duì)話框下方放置從Toolbox中選擇的控件。本設(shè)計(jì)總共用到九個(gè)控件:對(duì)話框控件,顯示時(shí)分秒的靜態(tài)文本控件,用于顯示數(shù)字的動(dòng)態(tài)控件,更改時(shí)間的控件和確定控件等。

        3.2 程序設(shè)計(jì)

        首先添加一個(gè)OnTimer()函數(shù)讀取系統(tǒng)時(shí)間并用作計(jì)時(shí)器的消息處理函數(shù),用于通知moniDlg類中的畫(huà)表盤(pán)刻度和指針的函數(shù)重新繪圖。添加設(shè)置時(shí)間按鈕函數(shù),用于導(dǎo)出軟鍵盤(pán),設(shè)置時(shí)間;確認(rèn)按鈕函數(shù)用于關(guān)閉軟鍵盤(pán),此時(shí)屏幕刷新。

        3.2.1 表盤(pán)刻度畫(huà)法

        在moniDlg類中添加畫(huà)表盤(pán)刻度的函數(shù)。程序創(chuàng)建兩種畫(huà)筆,設(shè)置不同的顏色和粗細(xì),來(lái)區(qū)分整點(diǎn)時(shí)刻和分點(diǎn)時(shí)刻。

        由于S3C2440開(kāi)發(fā)板顯示屏默認(rèn)的原點(diǎn)在左上角,根據(jù)S3C2440觸摸屏的大小確定圓心位置,這樣就確定了表盤(pán)的位置,表盤(pán)上的刻度都在以圓心為中心的圓環(huán)上。其坐標(biāo)可以通過(guò)三角函數(shù)推導(dǎo)出來(lái)。設(shè)圓心坐標(biāo)為(X,Y),半徑為R,表盤(pán)上其他點(diǎn)的坐標(biāo)為(X1,Y1),該點(diǎn)與圓心X軸夾角為A(0~360度),該點(diǎn)坐標(biāo)為(X1=X+RcosA,Y1=Y+RsinA)。

        由于我們習(xí)慣上使用逆時(shí)針的角度,而表針是順時(shí)針轉(zhuǎn)動(dòng),即在S3C2440上,坐標(biāo)跟我們實(shí)際用到的坐標(biāo)方向不同,所以我們應(yīng)先算出從12點(diǎn)開(kāi)始的每個(gè)刻度的正余弦值,即有60個(gè)數(shù)組元素的正余弦數(shù)組,為計(jì)算每個(gè)刻度跟時(shí)分秒針在表盤(pán)中的位置做準(zhǔn)備。校正后的角度值,按順時(shí)針重新排列三角函數(shù)值,得到如下正余弦數(shù)組:

        圖1 表盤(pán)畫(huà)法流程圖

        圖2 指針畫(huà)法流程圖

        3.2.2 指針畫(huà)法

        在moniDlg類中添加刻畫(huà)指針的函數(shù)。時(shí)分秒針主要用長(zhǎng)短和粗細(xì)區(qū)分,亦可設(shè)置指針顏色。繪制指針以角度值為控制變量,根據(jù)前面畫(huà)表盤(pán)計(jì)算出的校正后的角度值及定義的時(shí)分秒針的長(zhǎng)度,算出時(shí)分秒針起始的坐標(biāo)值。利用讀取的系統(tǒng)時(shí)間算出坐標(biāo),用函數(shù)MoveTo(x1,y1)和LineTo(x2,y2)實(shí)現(xiàn)指針的連接并實(shí)時(shí)顯示。為了讓模擬時(shí)鐘看起來(lái)更加平滑美觀,本文設(shè)計(jì)每2分鐘,時(shí)針移動(dòng)1度;每10秒鐘,分針移動(dòng)1度;秒針則是每秒移動(dòng)一格即6度。因此要計(jì)算時(shí)分秒針的坐標(biāo)位置,還需在校正后角度的三角函數(shù)正余弦數(shù)組中加入一定的數(shù)組元素,構(gòu)成新的三角函數(shù)正余弦數(shù)組:

        static const float sin1_table[360]={}

        static const float cos1_table[360]={}

        (1)時(shí)針的取值只有1~12這12個(gè)數(shù)字,本文設(shè)計(jì)每2分鐘,時(shí)針移動(dòng)1度。此處用讀取的分鐘數(shù)和小時(shí)數(shù)來(lái)計(jì)算時(shí)針的頂點(diǎn)和終點(diǎn)坐標(biāo)。設(shè)讀取系統(tǒng)時(shí)間的小時(shí)數(shù)為st.wHour,分鐘數(shù)為st.wMinute,時(shí)針移動(dòng)的度數(shù)為H。由于S3C2440系統(tǒng)時(shí)間采用24小時(shí)制,當(dāng)讀取系統(tǒng)小時(shí)數(shù)小于等于12,則H=st.wHour*30+st.wMinute/2;當(dāng)系統(tǒng)小時(shí)數(shù)大于12,則H=(st.wHour-12)*30+st.wMinute/2。若得到的H=360,則取H為0;若H<360,則H取式中算出的值。將算出的H代入下列公式,即可算出時(shí)針的頂點(diǎn)和終點(diǎn)坐標(biāo)。其中x和y為表盤(pán)圓心坐標(biāo),下同。

        頂點(diǎn)坐標(biāo)(x1,y1)=(x+(int)((float)20*cos1_table[(H+30)%60]),y+(int)((float)20*sin1_table[(H+30)%60]))

        終點(diǎn)坐標(biāo)(x2,y2)=(x+(int)((float)ANALOG_HOUR_LEN*cos1_table[H]),y+(int)((float)ANALOG_HOUR_LEN*sin1_table[H]))

        (2)分針的取值是60個(gè)數(shù)字,本設(shè)計(jì)為每10秒分針移動(dòng)1度。用讀取的分鐘數(shù)和秒鐘數(shù)來(lái)計(jì)算分針的頂點(diǎn)和終點(diǎn)坐標(biāo)。設(shè)讀取的分鐘數(shù)為st.wMinute,秒鐘數(shù)為st.wSecond,分針移動(dòng)的度數(shù)為M。由于要使得每10秒分針移動(dòng)1度,因此計(jì)算時(shí)要加上st.wSecond/10。M=st.wMinute*6+st.wSecond/10,當(dāng)計(jì)算后M=360,則取M為0。將算出的M代入下列公式,即可算出分針的頂點(diǎn)和終點(diǎn)坐標(biāo)。

        圖3 模擬時(shí)鐘顯示界面

        頂點(diǎn)坐標(biāo)(x1,y1)=(x+(int)((float)20*cos1_table[(M+30)%60]),y+(int)((float)20*sin1_table[(M+30)%60]))

        終點(diǎn)坐標(biāo)(x2,y2)=(x+(int)((float)ANALOG_MINUTE_LEN*cos1_table[M]),y+(int)((float)ANALOG_MINUTE_LEN*sin1_table[M]))

        (3)秒針的取值亦為60個(gè)數(shù)字,本設(shè)計(jì)為每過(guò)1秒鐘,秒針移動(dòng)1格。設(shè)讀取系統(tǒng)的秒鐘數(shù)為st.wSecond,秒針移動(dòng)的度數(shù)為S。S=st.wSecond*6,當(dāng)計(jì)算出的S=360時(shí),S取0;否則取計(jì)算出的值。將算出的S代入下列公式,即可算出秒針的頂點(diǎn)和終點(diǎn)坐標(biāo)。

        頂點(diǎn)坐標(biāo)(x1,y1)=(x+(int)((float)20*cos1_table[(S+30)%60]),y+(int)((float)20*sin1_table[(S+30)%60]))

        終點(diǎn)坐標(biāo)(x2,y2)=(x+(int)((float)ANALOG_SECOND_LEN*cos1_table[S]),y+(int)((float)ANALOG_SECOND_LEN*sin1_table[S]))

        時(shí)鐘指針畫(huà)法流程圖:見(jiàn)圖2。

        繪制指針的核心代碼:

        4.在Windows CE下程序運(yùn)行的結(jié)果

        程序界面設(shè)計(jì)結(jié)構(gòu)為上方顯示模擬鐘,下方顯示數(shù)字鐘和時(shí)間調(diào)整按鈕。本設(shè)計(jì)程序在一個(gè)顯示界面下實(shí)現(xiàn)了模擬鐘、數(shù)字鐘和時(shí)間調(diào)整的功能。程序運(yùn)行效果如圖3所示。指針和刻度顏色可根據(jù)個(gè)人喜好設(shè)定,筆者設(shè)置為黑色。

        5.結(jié)語(yǔ)

        本文的設(shè)計(jì)在Windows CE操作系統(tǒng)下,實(shí)現(xiàn)了模擬鐘的全部顯示功能,同時(shí)還具有數(shù)字鐘的顯示和時(shí)間調(diào)整功能。編譯形成的可執(zhí)行文件,可用于智能手機(jī)、PDA、帶觸屏的開(kāi)發(fā)板等具有Windows CE系統(tǒng)的微型設(shè)備中,對(duì)嵌入式初學(xué)者也有很大的幫助。

        [1]blogercn的專欄 一個(gè)模擬時(shí)鐘[EB/OL].http://www.52rd.com/Blog/Detail_RD.Blog_blogercn_20940.html,2009-8-9/2012-9-20.

        侯秋華(1986—),女,碩士研究生,主要研究方向:信號(hào)檢測(cè)與信息處理。

        劉煒(1963—),男,副教授,碩士生導(dǎo)師,主要研究方向:智能儀器。

        猜你喜歡
        秒針時(shí)針分針
        畫(huà)時(shí)針
        時(shí)間很小
        延河(2022年6期)2022-07-24 21:03:50
        秒針匆匆
        畫(huà)分針
        鐘表上的數(shù)學(xué)問(wèn)題
        計(jì)算鐘表角度有方法
        秒針真奇妙
        小目標(biāo)成就大事業(yè)
        巧算時(shí)針與分針夾角的度數(shù)
        鐘面上的數(shù)學(xué)問(wèn)題
        欧美性开放bbw| 久久久精品人妻一区二区三区妖精 | 成人高清在线播放视频| 国产区精品一区二区不卡中文| 国产精品久久久久久久免费看 | 妺妺窝人体色www聚色窝 | 国产免费看网站v片不遮挡| 日美韩精品一区二区三区| 国产午夜视频一区二区三区| 97久久超碰国产精品旧版| 国模私拍福利一区二区| 亚洲一级av大片在线观看| 国产熟人精品一区二区| 最新系列国产专区|亚洲国产| 午夜精品久久久| 国产一区二区三区免费主播| 日本免费在线一区二区三区| 小sao货水好多真紧h无码视频| 99热这里只有精品3| 日韩精品中文字幕免费人妻| 中文字幕av高清人妻| 99久久伊人精品综合观看| 亚洲阿v天堂网2021| 日韩精品一区二区在线视| 久久不见久久见免费视频6 | 久久久久久AV无码成人| 国产91会所女技师在线观看| 久久久亚洲av成人网站| 国产天堂在线观看| 国产精品久久夜伦鲁鲁| 少妇无套裸按摩呻吟无呜| 亚洲精品无码成人a片| 在线观看日本一区二区 | 首页 综合国产 亚洲 丝袜| 亚洲AV秘 无码二区在线| 天堂精品人妻一卡二卡| 无套内内射视频网站| 又污又黄又无遮挡的网站| 五码人妻少妇久久五码| 国产精品一区二区av麻豆日韩| 日韩一卡2卡3卡4卡新区亚洲|