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

        ?

        基于單片機的線上教學(xué)時間顯示系統(tǒng)設(shè)計

        2023-06-09 04:12:52何小映
        電子制作 2023年8期
        關(guān)鍵詞:單片機系統(tǒng)

        何小映

        (西安航空學(xué)院 電子工程學(xué)院,陜西西安,710077)

        0 引言

        2019 年底,爆發(fā)了新冠疫情,受此影響,疫情地區(qū)的學(xué)校授課轉(zhuǎn)為線上[1],與線下授課不同,線上授課學(xué)生和教師大部分分散在不同地點,不像在學(xué)校,大家集中在一起上課,有計時系統(tǒng)計時,到時自動打鈴[2]。網(wǎng)課期間,師生只能自己記下學(xué)校作息時間,自己通過看手機等計時工具,自己提醒自己造成一定的困擾。針對這一問題,設(shè)計了作息時間顯示系統(tǒng)。

        1 系統(tǒng)整體結(jié)構(gòu)

        該系統(tǒng)包括時鐘模塊、矩陣式鍵盤、單片機、液晶顯示器,系統(tǒng)的整體結(jié)構(gòu)如圖1所示。

        圖1 系統(tǒng)整體結(jié)構(gòu)圖

        時間由時鐘模塊提供,矩陣式鍵盤用來輸入時間和日期、星期的初始值,作息時間將會在液晶顯示器LCD12864B 上相應(yīng)的位置進行顯示。

        2 系統(tǒng)硬件部分

        ■2.1 時鐘模塊

        時鐘模塊主要由DS1302、晶振組成、紐扣電池,DS1302 是美國DALLAS 公司的產(chǎn)品,具有涓細(xì)電流充電能力,采用串行方式傳輸數(shù)據(jù)。晶振頻率為32.768kHz,是一種高性能、低功耗、帶RAM的實時時鐘[3]。具有年、月、日、星期、時、分、秒寄存器,具有閏年補償功能,工作電壓為2.0V ~5.5V[4]。采用三線接口與單片機進行通信,單片機可以給它不同的寄存器寫入數(shù)據(jù),也可以從它不同的寄存器讀取數(shù)據(jù),其接口如圖2所示。

        圖2 DS1302 接口

        其中,VCC1 為后備電源,等于系統(tǒng)電源5V,VCC2 為主電源,等于3.6V,當(dāng)系統(tǒng)上電時,因為Vcc1>Vcc2,由Vcc1 供電,當(dāng)系統(tǒng)斷電時,由VCC2 供電[5],DS1302 繼續(xù)計時。/RST 是復(fù)位/片選線,SCLK 為時鐘輸入端,I/O 為雙向串行數(shù)據(jù)輸入輸出端。

        ■2.2 矩陣式鍵盤

        DS1302的矯正日期、星期、時間值的輸入采用矩陣式鍵盤實現(xiàn)[6],由4×4 鍵盤構(gòu)成[7],電路如圖3所示。

        圖3 矩陣式鍵盤

        行線連接到P2.0~P2.3,列線連接到P2.4~P2.7,一共有0~9 共10個數(shù)字鍵,另有四個功能鍵,分別表示左移、右移、確認(rèn)、退出,括號中為該鍵的鍵值(16 進制)。按鍵的分析采用行列反轉(zhuǎn)法,P2口先輸出0xF0,再讀取P2口的值,讀取的值保留高四位,然后P2口輸出0X0F,再次讀取P2口的值并保留低四位,所得結(jié)果與前次保留的結(jié)果進行或運算,就能得出每個鍵分別按下時的鍵值,再根據(jù)鍵值就可以判斷該鍵的類型,如果是數(shù)字鍵,則此值即為要設(shè)置的時間參數(shù)的高位或低位(由程序進行判斷)。如果是功能鍵,就執(zhí)行相應(yīng)的功能。

        ■2.3 液晶顯示器

        顯示器采用LCD12864B, 該顯示器的控制器為ST7920,可以顯示常用漢字,數(shù)字,英文字符及圖形,與單片機的接口電路如圖4所示[8]。

        圖4 LCD12864B 與單片機接口

        圖中GND為電源負(fù)極,接地。VCC 為電源正極,接+5V,VO 為對比度調(diào)節(jié)端,接電位器。RS=1 時,表示傳輸?shù)氖菙?shù)據(jù),RS=0 時,表示傳輸?shù)氖强刂浦噶?。R/W=1時,單片機從LCD12864 讀出數(shù)據(jù),R/W=0 時,單片機寫入數(shù)據(jù)到LCD12864B,E 為使能端,D0~D7 為8位數(shù)據(jù),PSB=1 時,采用并行模式,PSB=0 時,采用串行模式,/RESET 為復(fù)位端,低電平有效。Vout 為模塊驅(qū)動電壓輸出端,A 為背光電源正極,接+5V,K 為背光電源負(fù)極,接地。

        ■2.4 改值請求電路

        當(dāng)顯示的日期時間與當(dāng)前日期時間不一致時,需要進行矯正,矯正請求方式采用單片機外部中斷0,接口電路如圖5所示。

        圖5 時間日期矯正請求

        在主程序中,設(shè)置EA=1,允許總中斷。EX0=1,允許外部中斷0 中斷,當(dāng)需要矯正日期時間時,按圖5 中的按鍵,程序進入外部中斷0 中斷函數(shù),進行初始值設(shè)置。

        硬件整體電路圖如圖6所示。

        圖6

        3 系統(tǒng)軟件部分

        軟件包括主函數(shù)和中斷處理函數(shù)及其他函數(shù)。采用C51語言編寫。

        ■3.1 主函數(shù)程序設(shè)計

        主函數(shù)程序流程圖如圖7所示。

        圖7 主函數(shù)程序流程圖

        圖中xjc 表示節(jié)次,因為每節(jié)課的時間區(qū)間是固定的,比如第一節(jié)課是08:30-09:15,如果當(dāng)前時間是08:40, 則xjc=1。 如 果xjc!=0,表示當(dāng)前為上課時間,則顯示該節(jié)課所處的節(jié)次、起始時間、進度條、截止時間。

        上課期間,使用進度條可以顯示當(dāng)前上課時間進度,此時需要將顯示模式切換為擴展模式,用來顯示圖形,進度條顯示在第四行中間位置,占6個字節(jié)位置,一行48個點,共16 行,當(dāng)給某點送“1”時點亮該點,送“0”時該點熄滅,通過點亮、熄滅某些點就能顯示進度條。一節(jié)課45 分鐘,一行多出3個點,所以第一分鐘每行點亮最左邊3個點,后面每1 分鐘每行就向右多點亮一個點,進度條顯示程序流程如圖8所示。

        圖8 進度條顯示流程圖

        圖8中,thl 為每行需點亮的點數(shù),計算方法是:當(dāng)前時間的小時和分鐘折合成分鐘減去該節(jié)課的起始時間的小時和分鐘折合成的分鐘數(shù)再加3,例如第一節(jié)課時間是08:30-09:15,如果當(dāng)前時間是09:10,則thl的值如公式(1)所示。

        qcthl 為上次每行需點亮的點數(shù),初始值為0,則thl>qcthl 成立,執(zhí)行qcthl=thl 來控制進度條更新的頻率,因為thl 每分鐘更新一次,在一分鐘之內(nèi)qcthl=thl 始終成立,所以為進度條每分鐘更新一次,另外,qcthl的值需要在休息時間程序段中再次清0,否則一節(jié)課結(jié)束,qcthl為最大值,后面上課時間的進度條不會顯示。jsjdt(thl)函數(shù)計算進度條數(shù)組jdt[ ]的值,jdt[ ]數(shù)組共7個數(shù),此處jdt[0]=0,jdt[1]=jdt[2]=jdt[3]=jdt[4]=jdt[5]=0xFF;jdt[6]=0xE0,共43個“1”,對應(yīng)一行共43個點點亮,第一個值jdt[0]=0是因為進度條在08:30 后面顯示,而顯示圖形時,1個列號包含兩個字節(jié),08:30 是5個字節(jié),進度條從第二個列號開始顯示,故第一字節(jié)被起始時間08:30的最后一個數(shù)字“0”占據(jù),所以該字節(jié)所在的八個點為0,否則起始時間分值的個位會被占據(jù)無法正常顯示。dis(48,2,7,16,jdt)表示將jdt[]數(shù)組中的點陣數(shù)據(jù)從第48 行,第2 列號開始顯示出來,共16 行,7個字節(jié)數(shù)據(jù),實際每行顯示點陣的為6個字節(jié),如前所述。

        如果xjc=0,則當(dāng)前為休息時間,先使qcthl=0(如前述),然后清屏第三四行內(nèi)容,再在第四行顯示“休息到XX:XX”,因為休息時間至少十分鐘,所以由變量控制僅在休息時間的第一分鐘清屏三、四行。

        ■3.2 矩陣式鍵盤處理程序

        矩陣式鍵盤用來設(shè)置初始值,當(dāng)日期、星期、時間不正確時需要進行矯正,此時按圖5 中的按鍵,程序進入外部中斷0 服務(wù)程序,該程序的流程圖如圖9所示。

        圖9 中斷0 服務(wù)程序流程圖

        圖9流程圖中,sethang 確定要設(shè)置的兩位數(shù)字的行地址,setlie 確定要設(shè)置的兩位數(shù)字的列地址,12864B 一共有四行,第一行到第四行的地址分別為:0x80,0x90,0x88,0x98。本系統(tǒng)中要設(shè)置的參數(shù)位于第一二行,其中年、月、日、星期在第一行設(shè)置,sethang=0x80,對應(yīng)的setlie 分別為:0x00,0x02,0x04,0x06,時、分、秒在第二行顯示,sethang=0x90,對應(yīng)的setlie=0x02,0x04,0x06,gbwz 變量表示七個要設(shè)置的變量,其值為0~6,分別對應(yīng)年、月、日、星期、時、分、秒。szjax 變量是數(shù)字鍵按下標(biāo)志位,當(dāng)數(shù)字鍵按下時其值為1,certn 是確認(rèn)鍵按下標(biāo)志,只有先按下數(shù)字鍵,再按確認(rèn)鍵時,certn的值才變化。由流程圖可知,如果第一次就按功能鍵,不會影響閃動位置處的值。

        4 結(jié)論

        圖10為第一節(jié)課前、課中、課后的時間信息顯示。

        從圖10可以看出,該系統(tǒng)能夠顯示日期,星期,時間,當(dāng)當(dāng)前時間為上課時間,則顯示當(dāng)前節(jié)次及該節(jié)課起始時間、進度條、截止時間,如果當(dāng)前為休息時間,則顯示休息到下節(jié)課上課時間,滿足了網(wǎng)課期間作息時間的提示要求。

        圖10 作息時間顯示實例

        猜你喜歡
        單片機系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于PowerPC+FPGA顯示系統(tǒng)
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        半沸制皂系統(tǒng)(下)
        小議PLC與單片機之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        亚洲人av毛片一区二区| 精品久久久噜噜噜久久久| 无码中文字幕在线DVD| 国产成人一区二区三区影院免费| 青青草免费视频一区二区| 日本三级香港三级人妇99| 国产成人无码一区二区在线播放| 狠狠色噜噜狠狠狠97影音先锋| 亚洲视频一区二区久久久| 国产女主播一区二区久久| 97日日碰人人模人人澡| 国产精品美女久久久久久2018| 日本在线免费精品视频| 成人性生交大片免费5| 男人和女人做爽爽免费视频 | 久久人妻av无码中文专区| 成人国产一区二区三区av| 中文字幕在线亚洲精品| 欧美综合自拍亚洲综合图片区| 日本中文字幕一区二区高清在线 | 欧美日韩国产乱了伦| 成人av资源在线播放| 国内精品久久久久影院薰衣草| www插插插无码免费视频网站| 色婷婷久久免费网站| 大尺度极品粉嫩嫩模免费| 无码人妻丰满熟妇区bbbbxxxx | 中文字幕成人乱码熟女精品国50| 欧美寡妇xxxx黑人猛交| 综合网在线视频| 中文字幕一区二区区免| 欧美牲交a欧美牲交aⅴ免费下载 | 亚洲一区二区三区乱码在线| 中国亚洲一区二区视频| 久久久无码人妻精品一区| 91性视频| 亚洲av男人的天堂在线| 性刺激的大陆三级视频| 亚洲欧美日韩一区在线观看| 午夜日本精品一区二区| 亚洲综合色区一区二区三区|