freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

片機課程設計--基于51單片機的萬年歷(已修改)

2025-06-22 22:45 本頁面
 

【正文】 單片機課程設計報告 萬 年歷的設計 姓 名: 施韌 學 號: 0915321028 班 級: 09自動化 指導教師: 晏來成 基于 51 單片機 的 萬年歷 摘要: 電子萬年歷是一種非常廣泛日常計時工具,對現代社會越來越流行。它可以對年、月、日、周日、時、分、秒進行計時,使用壽命長,誤差小。對于數字電子萬年歷采用直觀的數字顯示,可以同時顯示年、月、日、周日、時、分、秒和溫度等信息,還具有時間 校準 等 功能 。該電路采用 AT89S52 單片機作為核心,功耗小, 能在 3V 的低壓工作,電壓可選用 3~5V 電壓供電。 本設計是基于 51 系列的單片機進行的電子萬年歷設計,可以顯示年月日時分秒及周信息,具有可調整日期和時間功能。在設計的同時對單片機的理論基礎和外圍擴展知識進行了比較全面準備。萬年歷的設計過程在硬件與軟件方面進行同步設計。硬件部分主要由AT89C52 單片機, LCD 顯示電路,以及調時按鍵電路等組成。在單片機的選擇上本人使用了 AT89C52 單片機,該單片機適合于許多較為復雜控制應用場合。顯示器使用了 1602 液晶顯示,并且使用蜂鳴器實現了整點報警的功能,溫度測試的功能 實現使用了 DS18B20,并實現了溫度過高或過低時的溫度報警。 軟件方面主要包括日歷程序、時間調整程序,顯示程序等。程序采用 C 語言編寫。所有程序編寫完成后,在 KeilC51 軟件中進行調試,確定沒有問題后,在 Proteus 軟件中嵌入單片機內進行仿真,并最終實現基本要求。 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。 一、設計要求 基本要求: 1, 8 個數碼管上顯示 ,顯示時間的格式為(假如當前時間是 19:32:20)“ 193220”; 2, 具有日歷功能; ③ 時間可以通過按鍵調整。 發(fā)揮部分: ④ 具有鬧鐘功能(可以設定多個)。 二 :總體設計 電路設計框圖 系統硬件概述 本電路是由 AT89S52 單片機為控制核心,具有在線編程功能,低功耗,能在 3V 超低壓工作;時鐘電路由單片機定時功能提供;溫度的采集由 DS18B20 構成,它具有 獨特的單線接口方式, DS18B20 在與微處理器連接時僅需要一條口線即可實現微處理器與 DS18B20 的雙向通訊 ,使用時不需要額外的外圍電路 。 并且,其 測溫范圍 - 55℃ ~+125℃ ,固有測溫分辨率 ℃ ;顯示部份使用 1602 液晶顯示,可完美地顯示年、月、日、周日、時、分、秒,且在整點時刻通過蜂鳴器實現響鈴。還可以實現溫度顯示,且當判斷得溫度過高或過低時,通過液晶顯示及 LED 發(fā)光二極管完成報警。 單片機主控制模塊的設計 AT89S52 單片機為 40 引腳雙列直插芯片 ,有四個 I/O 口P0,P1,P2,P3, MCS51 單片機共有 4 個 8 位的 I/O 口( P0、 P P AT89S52 主控制模 塊 時鐘模塊 LCD 液晶 顯示模塊 溫度采集模塊 鍵盤 模塊 鈴聲報點模塊 P3),每一條 I/O 線都能獨立地作輸出或輸入。 單片機的最小系統如下圖所示 ,18 引腳和 19 引腳 接時鐘電路 ,XTAL1接外部晶振和微調電容的一端 ,在片內它是振蕩器倒相放大器的輸入 ,XTAL2接外部晶振和微調電容的另一端 ,在片內它是振蕩器倒相放大器的輸出 .第 9 引腳為復位輸入端 ,接上電容 ,電阻及開關后夠上電復位電路 ,20 引腳為接地端 ,40 引腳為電源端 . 液晶顯示 模塊的設計 LCD1602有 16個引腳,其中 VCC、 VSS分別為電源正負極; VO為液晶偏壓信號輸入端,圖中 W1可調節(jié)液晶明亮度; DB0— DB7 8位數據段; BLA、 BLK背光源正負極; RS數據 /命令選擇端; R/W讀寫選擇端; E使能端 溫度采集模塊設計 采用數字式溫度傳感器 DS18B20, 它是 數字式溫度傳感器 , 具有測量精度高 ,電路連接簡單特點, 此類傳感器僅需要一條數據線進行數據傳輸, 使用P 與 DS18B20 的 I/O 口連接加一個上拉電阻 ,Vcc 接電源 ,Vss 接地。 PCB 圖 三電子時鐘的軟件設計 系統軟件按鍵檢測流程圖 Y +是否按下 M 是否按下 Y 開始檢測 N N 相應項加一 — 是否按下 相應項減一 Y N 系統軟件定時器程序流程圖 開始 一秒到時 秒加 1 時 60 秒到時 分加 1 秒清零 時 固定日到時 24 時到時 日加 1 時清零,蜂鳴器響,星期加一 時 60 分到 時加 1 分清零 時 子程序的設計 DS18B20溫度子程序 void write_temp(uchar add,uchar dat)//向 LCD寫溫度數據 ,并指定顯示位置 { uchar gw,sw,bw。 if(dat=0amp。amp。dat=128) { gw=dat%10。//取得個位數字 sw=dat%100/10。//取得十位數字 bw=dat/100 。//取得百位數字 } else { dat=256dat。 gw=dat%10。//取得個位數字 sw=dat%100/10。//取得十位數字 bw=3。 //0x303表示為負號 } write_1602(er+add)。//er是頭文件規(guī)定的值 0x80+0x40 write_1602dat(0x30+bw)。//數字 +30得到該數字的 LCD1602顯示碼 write_1602dat(0x30+sw)。//數字 +30得到該數字的 LCD1602顯示碼 write_1602dat(0x30+gw)。//數字 +30得到該數字的 LCD1602顯示碼 write_1602dat(0xdf)。//顯示溫度的小圓圈符號, 0xdf 是液晶屏字符庫的該符號地址碼 write_1602dat(0x43)。 //顯示 C符號, 0x43是液晶屏字符庫里大寫 C的地址碼 } 1602子程序 void write_byte(uchar dat)//寫一個字節(jié) { ACC=dat。 RST=1。 for(a=8。a0。a) { IO=ACC0。 SCLK=0。 SCLK=1。 ACC=ACC1。 } } uchar read_byte()//讀一個字節(jié) { RST=1。 for(a=8。a0。a) { ACC7=IO。 SCLK=1。 SCLK=0。 ACC=ACC1。 } return (ACC)。 } // void write_1302(uchar add,uchar dat)//向 1302芯片寫函數,指定寫入地址,數據 { RST=0。 SCLK=0。 RST=1。 write_byte(add)。 write_byte(dat)。 SCLK=1。 RST=0。 } uchar read_1302(uchar add)//從 1302讀數據函數,指定讀取數據 來源地址 { uchar temp。 RST=0。 SCLK=0。
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1