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

正文內容

基于at89s52的電子萬年歷設計報告-文庫吧資料

2024-11-01 18:37本頁面
  

【正文】 *******/ void set_ds1302(uchar addr,uchar *p,uchar n) //寫入 n 個數據 { write_ds1302(0x8e,0x00)。 reset=0。 //先寫地址 backdata=read_byte()。 reset=1。 } /********************************************************/ // 讀 ds1302 某地址的的數據 /********************************************************/ uchar read_ds1302(uchar addr) { uchar backdata。 sclk=0。 23 write_byte(cmd)。 } /********************************************************/ // 往 ds1302 的某個地址寫入數據 /********************************************************/ void write_ds1302(uchar cmd,uchar indata) { sclk=0。 //產生 下跳沿 temp=temp1。0x7f。 if(io==1) temp=temp|0x80。i7。 io=1。 inbyte=inbyte1。 sclk=1。0x01) io=1。i++) { sclk=0。 for(i=0。 i++) lcd_wdat(mytab[i])。 //寫 CGRAM for (i = 0。 } } /*******************************************************/ /* /*自定義字符寫入 CGRAM /* /*******************************************************/ void writetab() { unsigned char i。 } else { place=0xc0+col1。 if(row==1) { place=0x80+col1。 i++。\039。 lcd_wcmd(addr)。j)。 for(j= //清除 LCD 的顯示內容 delay1(5)。 //移動光標 delay1(5)。 //顯示開,關光標 delay1(5)。 delay1(5)。 delay1(5)。 //16*2 顯示 , 5*7 點陣 , 8 位數據 delay1(5)。 lcd_wcmd(0x01)。 LCD_EN = 0。 LCD_EN = 1。 P0 = dat。 LCD_RW = 0。 /* /********************************************************/ void lcd_wdat(uchar dat) { while(lcd_busy())。 LCD_EN = 0。 LCD_EN = 1。 P0 = cmd。 _nop_()。 LCD_RW = 0。 /* /*********************************************************/ void lcd_wcmd(uchar cmd) { while(lcd_busy())。 return(result)。0x80)。 delayNOP()。 LCD_RW = 1。 /* /******************************************************************/ bit lcd_busy() { bit result。 } } } /******************************************************************/ /* 19 /*檢查 LCD 忙狀態(tài) /*lcd_busy 為 1時,忙,等待。 _nop_()。 y++) { _nop_()。 while(ms) { for(y = 0。 void Time_pare()。 void alarm_time()。 void Play_nowtime()。 void Set_Flash(uchar row,uchar col)。}。_nop_()。 {_nop_()。 //秒, 分, 時 uchar code mytab[8] = {0x01,0x1b,0x1d,0x19,0x1d,0x1b,0x01,0x00}。 uchar init2[] ={0x00,0x00,0x12,0x01,0x01,0x01,0x00}。 uchar init [] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00}。//報警標志位 uchar timecount=0,count=0。 bit year=0,month=0,day=0。//7 腳時鐘 sbit BEEP = P3^7。//5 腳復位 18 sbit io = P2^1。//K3 鍵 sbit K4 = P1^3。//K1 鍵 sbit K2 = P1^1。//LCD1602 讀、寫控制端口 sbit LCD_EN = P2^7。 十一、程序清單 程序清單如下: include include define uchar unsigned char define uint unsigned int sbit LCD_RS = P2^5。 九、參考文獻 [1] 李廣弟兄 朱月秀 冷祖祁 ,單片機基礎 (第 3 版 ):北京航航天大學出版社 [2] 華成英 童詩白, 模擬電子技術基礎 (第四版 ):高等教育出版社 [3] 康華光,電子技術基礎 數字部分 (第五版 ):高等教育出版社 [4] 趙建領 薛園園 ,零基礎學單片機 C 語言程序設計:機械工業(yè)出版社 [5] 樓然苗 李光飛 . 單片機課程設計指導:北京航航天大學出版社 [6] 李鳳霞 . C 語言程序設計教程(第二版):北京理工大學出版社 [7] 趙亮 侯國銳 . 單片機 C語言編程與實例:人民郵電出版社 [8] 張義和 王敏男 許宏昌 余春長 . 例說 5 單片機( C 語言版):人民郵電出版社 十、致謝 感謝學院給我們提供了一個展現自己的舞臺,給我們一次難得煅煉的機會,使得我們的動手能力和專業(yè)技能都有了很大的提高,對本專業(yè)的東西有了更進一步的了解。同時在與老師和同學的交流過程中,互動學習,將知識融會貫通,提高自己與人交流的能力,提高自己的團隊意思。而這是以后最實用的,真的是受益匪淺。 17 八、結論與心得 在這學期的課程序設計中,在收獲知識的同時,還收獲了閱歷,收獲了成熟,在 此過程中,我們通過查找大量資料,請教老師,以及不懈的努力,不僅培養(yǎng)了獨立思考、 動手制作的能力,在各種其它能力上也都有了提高。鬧鐘設置,按下 K4,開始設置鬧鐘,按第一 次,設置分,按 K1,時減 1,按 K2,時加 1,按第二次設置分,按 K1,分減 1,按 K2,分加 1,設置好鬧鐘后,按組合鍵 K1+K4 開啟鬧鐘功能,當到鬧鐘時間后,蜂鳴器響,鬧鐘時間為 1分鐘, 在對電路測試后,電路達到了所需的功能。 對于 DS1302 在測試過程中發(fā)其上電不久就發(fā)熱,在檢查電路過程中,不是因為發(fā)現芯片短路,最終檢查發(fā)現原來是 DS1302 的引腳接法不正確,給 +5V 的應該是芯片的腳,給后備電池的是 1腳,當換過來之后,芯片就不發(fā)熱了,而且可以正常顯示出我們要顯示的時間和日期 ,顯示效果如圖 16 所示: 圖 16 調試顯示效果圖 軟件調試 在軟件調試過程中,當按下按鍵調節(jié)時間和日期后,時間不能繼續(xù)在加,后來分析了程序才發(fā)現,是在設置好時間和日期時我們暫停了時鐘,在設置完后沒有啟動時鐘,所以時間 和日期就不能夠繼續(xù)走,在那里停止了,發(fā)現這個原因后,我在設置完時間后就開啟時鐘,時間和日期就能夠正確顯示了。 元件清單 基于 AT89S52 單片機的電子萬年歷元件清單如表 1所示。鬧鐘開啟設置:先按住 K1,然后再按 K4 就可以開啟鬧鐘功能,當設置好鬧鐘后并開啟鬧鐘功能后,就可以有鬧鐘功能,鬧鐘時間為 1 分鐘。 圖 15 電子萬年歷仿真圖 仿真結果分析 仿真正確顯示了時間,在 LCD1602 中正確顯示了當前日期、時間并可以顯示鬧鐘時間,通過按按鍵 K3,就可以開始設置時間 ,依次按 K3 依次在年、月、日、時、分之間切換,并且相應的調整的位會閃爍,按 K2 鍵用于加 1 操作 ,K1 鍵用于減 1 操作。 } 13 五 、總原電路及元器件清單 總原理圖 基于 AT89S52 單片機的電子萬年歷硬件電路圖如圖 13 所示,系統(tǒng)由 AT89S52單片機,按鍵掃描電路、顯示電路、時鐘電路、晶振電路、復位電路、電源指示電路及蜂鳴器輸出電路。 delayNOP()。 delayNOP()。 LCD_EN = 0。 LCD_RS = 1。 LCD_EN = 0。 LCD_EN = 1。 P0 = cmd。 _nop_()。 LCD_RW = 0。 } 寫指令數據到 LCD 子程序 void lcd_wcmd(uchar cmd) { while(lcd_busy())。 reset=0。 //先寫地址 backdata=read_byte()。 reset=1。 } 讀 DS1302 子程序: uchar read_ds1302(uchar addr) { uchar backdata。 reset=0。 //先寫地址 backdata=read_byte()。 reset=1。 子程序設計 讀寫 DS1302 子程序: 讀寫 LCD1602 子程序: 寫 DS1302 子程序: uchar read_ds1302(uchar addr) { uchar backdata。 圖 10 蜂鳴器電路 四、軟件設計與流程圖 程序流程圖 主程序首先初始化定時器、 LCD1602 及 DS1302,然后就開始查詢按鍵,有鍵按下則開始調整時間和設置鬧鐘,若沒有按下,則執(zhí)行下面的時間、日期及鬧鐘時間的顯示,最后依次循環(huán)這些相同的操作,相應流程圖如圖 11 所示:
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1