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

正文內容

畢業(yè)設計-電子萬年歷設計(編輯修改稿)

2025-01-05 23:21 本頁面
 

【文章內容簡介】 單字節(jié)讀操作的一開始寫控制字的過程和上面的單字節(jié)寫操作是一樣,但是單字節(jié)讀操作在寫控制字的最后一個位, SCLK 還處于高電平時,DS1302 就將數據放到 I/O 上,單片機將 SCLK 置為低電平后數據鎖存,單機機就可以讀取 I/O 上的數據。如此反復操作 8次,將一個字節(jié)的數據讀入單片機。讀與寫操作的不同的地方就在于,進行寫操作時是在 SCLK 低電平時單片機將數據放到 IO 上,當SCLK 上升沿時, DS1302 讀取。而進行讀操作時是在 SCLK 高電平時 DS1302 放數據到IO 上,將 SCLK 置為低電平后(即下降沿),單片機就可從 IO上讀取數據。這樣就完成一次控制字 寫入和數據的讀取。 LCD1602 顯示程序 本設計中單片機通過 P0 口(接 DB0~ DB7)、 (接 RS)、 (接 RW)、 (接E)來與 1602LCD 進行通信。流程圖如下 圖 32 LCD顯示流程圖 向 1602 寫入指令時,單片機先將 1602LCD 的 RS()、 RW()、 E( )等引腳置 為低電平,再將指令碼從 DB0~ DB7( P0)傳給 1602LCD,再將 E置為高電平后再置為低電平, 1602LCD 檢測到 CE的高脈沖后就將 DB0~ DB7 數據口上的指令碼讀取,這樣就完成了一次指令的寫入。 向 1602 寫入數據時,先將 1602LCD 的 RS()引腳置為高電平, RW()、 E( )等置為低電平,再將數據從 DB0~ DB7( P0)傳給 1602LCD,再將 E置為高電平后再置為低電平, 1602LCD 檢測到 CE 的高脈沖后就將 DB0~ DB7 數據口上的數據讀取,這樣就完成了一次數據的寫入。 向 1602 寫入指令 向 1602 寫入數據 1602LCD 顯示 電子萬年歷設計 15 鬧鐘程序 本程序比較簡單,先判斷實時時間的小時和分鐘是否與設定的鬧鐘的小時分鐘相等且實時時間的秒鐘為 0,再判斷鬧鐘是否處于開狀態(tài),若為關狀態(tài)則不執(zhí)行命令,若為開狀態(tài)則調用鬧鐘程序單片機將 置為低電平, PNP 導通蜂鳴器發(fā)出響聲,并在1602LCD 上顯示“ TIME UP!”。當按下退出鍵 K4(即 為低電平)時,退出鬧鐘程序,單片機將 置為高電平, PNP 不導通,蜂鳴器不發(fā)出聲音。詳細程序如下: if((hours==houra)amp。amp。(minutes==minutea)amp。amp。(seconds==0)) { if(alarmmode!=0) { Write_(0x01)。 delay1ms(5)。 Write_Address(0x03)。 Write_Date(39。T39。)。 Write_Date(39。I39。)。 Write_Date(39。M39。)。 Write_Date(39。E39。)。 Write_Address(0x08)。 Write_Date(39。U39。)。 Write_Date(39。P39。)。 Write_Date(39。!39。)。 delay1ms(400)。 baojing()。 Write_(0x01)。 delay1ms(5)。 displaymainpart()。 display_Time( )。 } } Hours為實時小時時間, minutes為實時分鐘時間, houra為鬧鐘小時時間, minutea為鬧鐘分鐘時間, alarmmode 為鬧鐘開關狀態(tài)變量,為 0 時鬧鐘關閉,為 1 時鬧鐘開啟。 時 時鐘調整程序 程序流程圖如下圖 32 所示。 電子萬年歷設計 16 開始 等待按鍵按下 設置鍵( k1)有效進入時設置 減鍵有效 加鍵有效 時減 1 時加 1 等待按鍵按下 設置鍵( k1)有效進入分設置 減鍵有效 加鍵有效 分減 1 分 加 1 等待按鍵按下 設置鍵( k1)有效進入秒設置 減鍵有效 加鍵有效 秒清 0 等待按鍵按下 設置鍵( k1)有效進入年設置 減鍵有效 加鍵有效 年減 1 年加 1 電子萬年歷設計 17 等待按鍵按下 設置鍵( k1)有效進入月設置 減鍵有效 加鍵有效 月減 1 月加 1 等待按鍵按下 設置鍵( k1)有效進入日設置 減鍵有效 加鍵有效 日減 1 日加 1 等待按鍵按下 設置鍵有效進 入鬧鐘時設置 減鍵有效 加鍵有效 時減 1 時加 1 等待按鍵按下 設置鍵有效進 入鬧鐘分年設置 減鍵有效 加鍵有效 分減 1 分加 1 電子萬年歷設計 18 圖 32 時鐘調整程序流程圖 設置程序工作過程:設置位選擇鍵 K增加鍵 K減小鍵 K退出鍵 K4 分別與單片機 、 、 、 相接,另一端接地。本程序主要由一個 switch 語句實現(xiàn),每次 當設置鍵( K1)按下時即 口為低電平時變量 mode 加 1, mode=1 時調用小時調整函數可以對小時進行調整, mode=2 時調用分鐘調整函數可以對分鐘進行調整, mode=3 時調用秒調整函數可以對秒進行調整, mode=4 時調用年調整函數可以對年進行調整, mode=5 時調用月調整函數可以對月進行調整, mode=6 時調用日調整函數可以對日進行調整, mode=7 時調用鬧鐘小時調整函數可以對鬧鐘小時進行調整, mode=8時調用鬧鐘分鐘調整函數可以對鬧鐘分鐘進行調整, mode=9 時調用鬧鐘開關調整函數可以對鬧鐘開關進 行設置, mode=10 時調用星期調整函數可以對星期進行調整,當mode=11 時將 mode 重新置為 1。當有 K4 鍵按下是程序退出設置。 等待按鍵按下 設置鍵有效進入鬧鐘開關設置 減鍵有效 加鍵有效 鬧鐘開關狀態(tài)取反 等待按鍵按下 設置鍵( k1)有效進入星期設置 減鍵有效 加鍵有效 星期減 1 星期加 1 退出設置 退出鍵( k4)有效 電子萬年歷設計 19 畢業(yè)設計總結 在做畢業(yè)設計之前我做了比較多的準備,看了很多的資料和網絡教程,深入學習了單片機, 1602LCD 液晶顯示器, DS1302 時鐘芯片 元件的應用。學會了用 Altium Designer 畫原理圖,畫 PCB 板,用 C51 編寫單片機程序。 通過這次制作畢業(yè)設計 ,我發(fā)現(xiàn)在現(xiàn)實設計中還需要注意很多的細節(jié) ,包括程序設計和硬件設計都要我們小心仔細。在硬件設計時,焊實物之前要先對各個 元件的位置布局有個充分了解,不然焊的時候會造成很多地方要飛線,影響美觀,焊的時候不要過長以免損壞元件。在寫程序時,要不斷的調試程序,根據實物情況檢查程序的問題所在有事半功倍的效果。從最基本的方案制定,到硬件電路的選擇,再到電路版的焊接,最后進行軟件的調試。在此期間遇到過很多的困難,但經過自己的不屑努力,以及老師和同學的幫助,終于擊破各個難點,達到的所需的效果也因為這次設計, 我也在這次實訓中學會了很多東西,總結出自已的一套解決問題的方法,這讓我覺得自已有了很大的收獲,為今后的學習和工作打下了堅定的基礎。 電子萬年歷設計 20 參考文獻 [1] 張毅剛,彭喜元,彭宇編著 . 單片機原理及應用 [M]. 北京:高等教育出版社 [2] 史久貴編著 . 基于 Altium Designer的原理圖與 PCB設計 [M]. 北京:機械工業(yè)出版社 [3] 郭天祥 .51單片機 C語言教程 [M]. 北京:電子工業(yè)出版社 2021 [4] 譚浩強 .C程序設計(第二版) [M]. 北京:清華大學出版社 1999 [5] 五校半導體科學研究躍進戰(zhàn)斗團編著 . 光敏電阻的制造及其應用 [M]. 北京:民郵電出版社 1959 [6]王慶澤 ,趙翠敏 .關于產蛋雞補光和補鈣 [J]. 河北唐山:四川畜牧獸醫(yī) , Sichuan Animal and Veterinary Sciences, 編輯部郵箱 2021年 12期 . [7] H M Peitel,P L How to program,second . C程序設計教程。北京:機械工業(yè)出版社, 2021 [8] Stephen G Kochan 著 .Programming in ANSI C. Hagden Kooks Indianapolis:Indiana ,1994 [9]8bit Microcontroller With 8K Bytes Flash AT89C52. ATMEL,1999 電子萬年歷設計 21 附錄 I:系統(tǒng)硬件電路 電子萬年歷設計 22 電子萬年歷設計 23 附錄Ⅱ:源程序代碼 include include define uint unsigned int define uchar unsigned char uchar code displaywele[]={Happy Every Day}。//歡迎界面 uchar code digit[]={0123456789}。 //數字代碼 uchar mode,amode,alarmmode=1,minutes,hours,minutea,seconds,houra=12。 week。 sbit SCLK=P2^3。 //DS1302 時鐘輸入 sbit IO=P2^4。 //DS1302 數據輸入 sbit RST=P2^5。 //DS1302 復位端口 sbit SET=P1^4。 //DS1302 設置模式選擇位 sbit ADD=P1^5。 //增加 sbit RED=P1^6。 //減小 sbit CANL=P1^7。 void delay1ms(uint i)//1 毫秒延時 { uint j。 for( 。i0。i) { for(j=0。j333。j++) {。} } } void delaynus(uchar n) //延時若干微秒 { uchar i。 for(i=0。in。i++)。 } /***********蜂鳴器模塊 ************/ sbit beep=P2^7。 //位定義,定義 位 fmp void baojing(void) { while(1) { beep=0。 if(CANL==0) { beep=1。 電子萬年歷設計 24 break。 } } } /*******DS1302 模塊 *************/ void Write1302(uchar date)//向 1302 寫數據 { uchar i。 SCLK=0。 delaynus(2)。 for(i=0。i8。i++) { IO=dateamp。0x01。 SCLK=1。 delaynus(2)。 SCLK=0。 delaynus(2)。 date=1。 } } void WriteSet1302(uchar cmd,uchar date) //根據相應的命令輸入相應的數據 { RST=0。 SCLK=0。 RST=1。 Write1302(cmd)。 delaynus(5)。 Write1302(date)。 SCLK=1。 RST=0。 } uchar Read1302(void) //讀取 1302 數據 { uchar i,date。 delaynus(2)。 for(i=0。i8。i++) { date=1。 if(IO==1) date|=0x80。 SCLK=1。 delaynus(2)。 SCLK=0。 電子萬年歷設計 25 delaynus(2)。 } return date。 } uchar ReadSet1302(uchar cmd)//根據命令讀取 1302 相應的值 { uchar date。 RST=0。 SCLK=0。
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1