999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Proteus的電子鐘項目的實踐教學

2017-11-07 01:31:07王莉軍
科技視界 2017年17期

王莉軍

【摘 要】單片機是一種集成度很高的微型計算機,是現代電子系統中重要的智能化工具,廣泛應用于工業自動化控制、家用電器、智能儀表、汽車電子、航天電子等。在單片機課程教學中,理論結合實踐的綜合性課程設計項目教學是非常重要的。本論文介紹了一個單片機課程設計中非常經典的電子鐘設計項目,通過該案例的設計分析,可以使同學們能夠熟練掌握并靈活運用所學的知識,了解一個產品開發的全過程,鍛煉學生的創新、獨立思考、解決問題的能力。

【關鍵詞】電子鐘;Proteus;LCD1602;DS1302

中圖分類號: F426.63 文獻標識碼: A 文章編號: 2095-2457(2017)17-0004-002

Practice Teaching of Electronic Clock Project Based on Proteus

WANG Li-jun

(Department of Computer Science and Technology,Sanda University,Shanghai 201209,China)

【Abstract】In Single chip microcomputer course, project teaching of comprehensive curriculum design is very important. This paper introduces a very classic curriculum design of the electronic clock project. Through this project, students can master and apply the knowledge, understand the whole process of a product development. Students' creativity, independent thinking and problem solving skills can be exercised.

【Key words】Electronic Clock; Proteus; LCD1602; DS1302

0 前言

隨著LCD液晶顯示屏的普及,很多地方我們都能看到電子鐘的應用,比如電子手表、測試儀器、智能家電、公共場合的大屏幕時間顯示屏等。本論文介紹了一個基于Proteus單片機仿真平臺的電子鐘設計[1]。

1 總體設計

本電子鐘的功能是通過液晶顯示屏實時顯示時鐘。電子鐘包括時鐘模塊、顯示模塊,具體的流程是先把設置的初始時間寫入時鐘芯片并驅動時鐘運行,然后單片機每隔一段時間讀出時鐘芯片的當前時間,并通過液晶顯示屏顯示出來。

2 詳細設計

2.1 時鐘模塊

2.1.1 DS1302模塊電路設計

時鐘模塊采用DS1302芯片,該芯片總共包括8個引腳:1腳VCC2為主電源和8腳VCC1為后備電源,可接電池;2腳X1和3腳X2為晶振引腳,外接32768Hz晶振;4腳GND接地;5腳/RST為復位/片選引腳;6腳I/O為串行數據輸入輸出引腳;7腳SCLK為串行時鐘引腳。單片機通過5、6、7腳控制DS1302時鐘芯片。5腳/RST連接到單片機P1.7, 6腳I/O連接到單片機P3.4,7腳SCLK連接到單片機P3.5[1]。

2.1.2 DS1302模塊軟件設計

對DS1302的操作實際上就是對主要的8個時鐘寄存器進行讀寫。具體的控制流程是先寫入控制字,然后再寫入或讀出寄存器數據。寄存器控制字包括讀寫的寄存器地址和讀寫操作等信息,最高位bit7固定為1,bit6為RAM和時鐘的選擇位,bit5~bit1為寄存器地址位,bit0為讀寫選擇位。

接下來就是怎樣寫入寄存器控制字和讀寫寄存器數據,這就要涉及到DS1302讀寫時序。DS1302

單字節一次讀取和寫入過程可以看成是對兩個字節的讀寫操作,即1個字節的寄存器控制字和1個字節的讀寫寄存器數據。例如單字節讀時序是先寫入一個字節的寄存器控制字(以便知道要讀取哪個寄存器數據),然后再讀出對應寄存器的一個字節數據。單字節寫時序也是先寫入一個字節的寄存器控制字,然后寫入一個字節數據到對應的寄存器。而且對于一個字節的寄存器控制字和寄存器數據,它們的寫過程是一樣的,也就是說寫一個寄存器控制字和寫一個寄存器數據可以調用同一個函數的,所以可以只設計兩個底層接口函數,用于讀、寫單個字節:void write_byte(uchar addr)和uchar read_byte(void)。DS1302單字節讀時序可以調用寫控制字write_byte(addr)和讀數據read_byte()兩個函數,對上一層的接口函數為uchar read_ds1302(uchar addr),即從某個寄存器中讀取數據。而DS1302單字節寫時序可以調用寫控制字write_byte(addr)和寫數據write_byte(data),對上層的接口函數為write_ds1302(uchar addr,uchar dat),即將數據寫入指定地址的寄存器。

寫單字節函數void write_byte(uchar addr)的流程是在時鐘的上升沿將每一個數據位寫入DS1302,具體流程為:將字節從低位開始依次寫入DS1302,即先取數據的最低位放在I/O數據線上,然后SCLK電平設為高電平,產生上升沿,此時I/O上數據會寫入DS1302,再將SCLK置為低電平,數據右移一位,為下一次數據位傳輸做準備,然后又進入下一位數據的傳輸。讀單字節函數uchar read_byte(void)的流程是在時鐘的下降沿時通知DS1302要取數據位,在低電平一段時間等DS1302準備好數據后,再從I/O數據線上讀取一位數據,而且在寫控制字的最后一位的時鐘周期,要讀取的數據最低位已經在I/O數據線上,具體流程為:先讀取I/O數據線上的數據位,將它保存在一個數據的最高位,SCLK置為高電平,然后再置為低電平,產生下降沿,通知DS1302要取下一位數據,并且將保存的數據右移一位,以便將新接收的數據位放在保存數據的最高位[2]。endprint

2.1.3 DS1302模塊仿真測試

通過Proteus和Keil軟件聯合仿真DS1302時鐘模塊,寫入時間2017年9月1日 12點30分30秒能正常寫入,仿真結果如圖1所示:

圖1 DS1302模塊仿真測試結果

圖2 LCD1602液晶顯示流程圖

2.2 顯示模塊

2.2.1 電路設計

顯示模塊采用LCD1602,它總共能顯示32個字符,分兩行顯示。LCD1602芯片總共有16個引腳。主要的控制和數據引腳有:RS指令/數據寄存器選擇引腳4,高電平時選擇數據寄存器,低電平時選擇指令寄存器,接單片機P1.0;RW讀寫選擇引腳5,高電平時讀操作,低電平時寫操作,接單片機P1.1;E使能引腳6,接單片機P1.5;D0~D7數據引腳7~14,接單片機P0端口[3]。

2.2.2 軟件設計

單片機主要是通過4腳寄存器選擇RS、5腳讀寫選擇RW、6腳使能E來控制LM1602液晶顯示模塊。

LM1602有16×2個顯示位,每個顯示位對應于一個RAM單元,而且系統規定,寫操作時的地址最高位為1,讀操作時的地址最高位為0,所以讀操作時RAM的地址范圍為:第一行00H~0FH,第二行40H~4FH,寫操作時RAM的地址范圍為:第一行80H~8FH,第二行C0H~CFH。根據RAM地址表,可以確定如何顯示字符,即先寫入字符顯示的首地址,然后依次連續寫入要顯示的字符。那么如何將顯示的地址和顯示的字符寫入LCD1602呢,它們都是根據LM1602芯片的讀寫操作控制時序寫入的,當E為下降沿脈沖時寫入指令或數據,當E為高電平時讀出狀態字或數據,而且它是并行數據傳輸的,時序相對于DS1302的串行數據傳輸簡單些。

要在液晶顯示器上顯示兩行字符串,可以將需要顯示的兩行字符串分別存放在兩個字符數組里,流程圖如圖2所示。LCD的初始化主要是設置LCD的工作模式、清屏、光標顯示方式等,即清屏顯示指令為0x01,表示清除所有顯示數據;輸入模式指令為0x06,表示讀寫一個字符后地址指針會自動加1;顯示開關控制指令為0x0F,表示整屏顯示;顯示模式指令為0x38,表示8位數據接口,雙行顯示。設置第一、二行首地址,寫命令和寫數據操作可以根據LM1602芯片的讀寫操作控制方式寫出[4]。

2.2.3 仿真測試

LCD1602模塊顯示功能測試結果如圖3所示,第一二行都能正常顯示字符。

圖3 LCD1602模塊仿真測試結果

圖4 電子鐘系統仿真測試結果

2.3 系統測試

將時鐘模塊和液晶顯示模塊聯合仿真測試,結果如圖4所示,設置的初始時間為2017年9月1日,12點30分30秒,星期五,設置后,時鐘能正常工作。圖中也包括單片機的時鐘、復位電路[5]。(下轉第7頁)

(上接第5頁)

3 結語

本文介紹了基于Proteus的電子鐘項目的教學實踐過程,它的特點是在沒有硬件開發平臺的環境下,同學們也可以進行項目的開發實踐,并且通過該項目,同學們可以了解一個項目的開發流程,以及熟練掌握常用的時鐘模塊DS1302、液晶顯示模塊LCD1602的設計方法。

【參考文獻】

[1]老楊.51單片機工程師是怎樣煉成的-基于C語言和Proteus仿真[M].北京:電子工業出版社,2012:284-298.

[2]宋雪松,李冬明,崔長勝.手把手教你學51單片機[M].北京:清華大學出版社,2014:264-298.

[3]魏芬主,戴麗佼,李紅霞.基于Proteus的單片機實驗與課程設計[M].北京:清華大學出版社,2015:218-222.

[4]林立,張俊亮.單片機原理及應用-基于Proteus和Keil C. 第3版[M].北京:電子工業出版社,2014:213-218.

[5]張霞,周克,何威,張超.基于MCS-51單片機的液晶顯示設計[J].自動控制,2014.3:71-74.endprint

主站蜘蛛池模板: 成年A级毛片| 久久久久青草大香线综合精品 | 国产亚洲一区二区三区在线| 九九久久99精品| 日韩午夜福利在线观看| 又爽又大又黄a级毛片在线视频 | 亚洲综合二区| 免费毛片网站在线观看| 亚洲一级毛片在线播放| 免费A级毛片无码免费视频| 亚洲熟女中文字幕男人总站| 欧美黄网站免费观看| 国产乱子伦无码精品小说| 国产日韩精品欧美一区灰| 日韩a在线观看免费观看| 毛片久久久| 日韩欧美网址| 国产成人8x视频一区二区| 久久99国产综合精品女同| 91精品视频网站| 亚洲国产精品日韩av专区| 国产欧美在线观看精品一区污| 亚洲国产精品日韩av专区| 女同国产精品一区二区| 欧美翘臀一区二区三区| 在线观看欧美精品二区| 亚洲日韩日本中文在线| 国产综合在线观看视频| 成年人免费国产视频| 国产国产人免费视频成18| 国产拍在线| 暴力调教一区二区三区| 欧美国产精品不卡在线观看| 亚亚洲乱码一二三四区| 最新精品国偷自产在线| 国产福利在线观看精品| 超碰91免费人妻| 国产精品三级专区| 久久熟女AV| 国产福利在线观看精品| 欧美国产日韩在线播放| 国产中文一区二区苍井空| 国产一区二区福利| 一本大道香蕉中文日本不卡高清二区| 亚洲日韩欧美在线观看| 亚洲欧美日本国产专区一区| 91精品免费高清在线| 国产成人狂喷潮在线观看2345| 久久综合五月| 国产在线观看一区精品| 最近最新中文字幕免费的一页| 国产精品免费p区| 久青草免费视频| 亚洲国产日韩欧美在线| 波多野结衣在线se| 欧美激情一区二区三区成人| 国产91av在线| 国产成人91精品| 国产在线一区二区视频| 免费 国产 无码久久久| 国产特级毛片aaaaaa| 本亚洲精品网站| www.youjizz.com久久| 精品视频一区二区观看| 在线欧美a| 亚洲欧美日韩精品专区| 永久在线播放| 性喷潮久久久久久久久| 國產尤物AV尤物在線觀看| 永久毛片在线播| 人妻中文久热无码丝袜| 欧美精品成人一区二区视频一| 中文字幕资源站| 无码丝袜人妻| 有专无码视频| 免费人成在线观看成人片| 乱人伦中文视频在线观看免费| AV网站中文| 日本一区二区三区精品视频| 全裸无码专区| 不卡无码h在线观看| 久久精品电影|