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

正文內(nèi)容

基于lcd1602電子時鐘課程設(shè)計報告(專業(yè)版)

2024-10-22 15:25上一頁面

下一頁面
  

【正文】 .39。 } i=0。 i=0。time++)。i8。 _nop_()。time200。} default:{break。 delay1ms(500)。 if(minutea59) minutea=0。 if(ADD==0) { Write_(0x0c)。 delay1ms(300)。 Write_(0x0c)。 while(1) { if(ADD==0) { delay1ms(10)。 delay1ms(5)。 } void yearset(void) //調(diào)年 { unsigned char datevalue,year。 while(ADD==0)。 if(minute=60) minute=0。0x0f))。 delay1ms(1)。 //防止多次觸發(fā) WriteSet1302(0x8e,0x00)。 } void gbdisplay(unsigned char address) //時間調(diào)整時光標(biāo)閃爍 { Write_Address(address)。\039。0x70)4)*10+(valueamp。 seconds=(((valueamp。 delay1ms(1)。 Write_Date(digit[i])。 j=minute%10。 Write_Address(0x06)。M39。 delay1ms(1)。D39。 _nop_()。 _nop_()。 E=0。 //打開充電功能 選擇 2K電阻充電方式 WriteSet1302(0x8E,0x80)。 delaynus(2)。 } unsigned char Read1302(void) //讀取 1302數(shù)據(jù) { unsigned char i,date。i8。i0。 //增加 sbit RED=P1^6。 在做課程設(shè)計的日子里得到了大量課內(nèi)外的知識鞏固 , 使得我們的動手能力和專業(yè)技能都有了很大的提高。后來下了很大的功夫且在老師及同學(xué)的指導(dǎo)下慢慢的進(jìn)入了狀態(tài)。 通電后,進(jìn)入歡迎界面,前后延時 ,,后顯示當(dāng)前實(shí)時時間,若按下按鍵 1就進(jìn)入調(diào)節(jié)狀態(tài),此時在按下按鍵 1為設(shè)置時間狀態(tài),按下 按鍵 2 為設(shè)置最大溫度報警狀態(tài),按按鍵 3 為設(shè)置鬧鐘狀態(tài),按下按鍵 4 為退出調(diào)節(jié)狀態(tài);若按下按鍵 2則是顯示當(dāng)前溫度,5s后自動跳回顯示當(dāng)前實(shí)時時間。因此 晶振是造成 DS1302 工作不穩(wěn)定的主要因素。 方案( 2): 采用 DS1302 芯片 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗 、帶 RAM 的實(shí)時時鐘芯片。 課程設(shè)計技術(shù)指標(biāo) ( 1) LCD 液晶 每行刷新顯示。 具體的功能如下: ( 1)通過 DS1302 能夠準(zhǔn)確的計時,時間可調(diào)并在液晶 屏 上顯示出來。 由于 設(shè)計 顯示信息比較 多 , 占用的系統(tǒng)資源少 ,操作方便。另外 1602有 2行顯示,每行顯示的字符數(shù)為 16個 , 可以用于顯示字母、數(shù)字、符號等,并具有簡單且功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符顯示、移動、閃爍等功能。 設(shè)置 步驟 流程圖 如 圖 42所示 : 顯示歡迎界 面 按 K2? 顯示時間主要部分 清屏顯示實(shí)時時間 設(shè) 置 模 塊 清屏顯示當(dāng)前溫度 清屏顯示時間主要部分 清屏顯示‘ TIME UP’ 清屏顯示時間主要部分 實(shí)時 =鬧鐘? 鬧鐘開? 報 警 按 K4? 是 是 是 是 否 否 否 A A 否 初始化 開 始 10 圖 42 設(shè)置步驟流程圖 1602 液晶屏 1602 液晶屏是此設(shè)計的 主要 輸出 部分 ,有 2行顯示,每行 16 個字符,根 據(jù)寫入的位置而顯示,當(dāng)顯示歡迎界面時是流動的,整個屏幕向右移動。對于 電子時鐘的 制作,我們基于小系板來實(shí)現(xiàn),外接 顯示部分的1602LCD 液晶屏、溫度傳感部分 DS18B提供實(shí)時時間部分 DS130蜂鳴器、電源接口部分等 。 ( 5)在報警時無聲音。 //DS1302數(shù)據(jù)輸入 sbit REST=P1^2。i++)。 SCLK=0。 Write1302(date)。 SCLK=0。 //根據(jù)寫日寄存器命令字,寫入日的初始值 WriteSet1302(0x88,((0/10)4|(0%10)))。 _nop_()。 E=1。 _nop_()。 } void displaymainpart(void)//顯示液晶主要部分 ( 不變化部分 ) { Write_Address(0x01)。)。I39。 Write_Date(39。 delay1ms(1)。 i=day/10。 Write_Address(0x08)。 } void display_Time(void) //顯示實(shí)時時間 { unsigned char value,day,month,year。 display_Hour(hours)。 } void displaystar(void) //顯示歡迎界面 { unsigned char i,j。//循環(huán)左移 delay1ms(70)。 Write_Date(digit[k])。 while(RED==0)。 timevalue=ReadSet1302(0x83)。 display_Minute(minute)。 while(1) { if(ADD==0) { delay1ms(50)。 Write_(0x0c)。 while(RED==0)。 month=(((datevalueamp。 Write_Address(0x0c)。 while(ADD==0)。 } void alarmhourset(void) //鬧鐘小時調(diào)整 { unsigned char value。 break。 33 delay1ms(20)。} case(6):{gbdisplay(0x0f)。time++)。 34 for(i=0。 } return dat。 date=1。 i++。) { Write_Date(displayexplain[i])。 delay1ms(5)。 } /*********************顯示溫度整數(shù)部分 *************************/ void Display_Integer(unsigned char x) { unsigned char i,j,k。\039。\039。 WriteDS18B20(0X44)。 DQ=0。 DQ=1。 for(time=0。 unsigned char code displayerror1[]={PLEASE CHECK }。delay1ms(500)。 if(RED==0) { minutea。 if(value23) value=0。 } } datevalue=((day/10)4|(day%10))。 } void dayset(void) //調(diào)日 { unsigned char datevalue,day。 while(ADD==0)。 Write_Address(0x09)。 datevalue=ReadSet1302(0x8d)。 while(RED==0)。 Write_(0x0c)。 if(minute=60) timevalue=0。 delay1ms(5)。0x70)4)*10+(timevalueamp。 delay1ms(5)。 delay1ms(1)。 value=ReadSet1302(0x89)。 display_Second(seconds)。 j=x%10。 } void display_Month(unsigned char month) //在液晶上顯示月 { unsigned char i,j。 Write_Date(digit[j])。)。E39。)。A39。 delay1ms(1)。 delay1ms(1)。 RS=0。 sbit E=P2^7。 REST=0。i8。 SCLK=1。 for(h=0。 //位定義 , 定義 fmp void delay1ms(int i)//1毫秒延時 { 17 int j,k。在這次設(shè)計中也使我們的同學(xué)關(guān)系更進(jìn)一步了 ,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我 們 的同學(xué)。 面 由于對 C 語言程序的認(rèn)知不深入,在修改程序時,出現(xiàn)了 以下幾點(diǎn)問題 。硬件部分現(xiàn)在 Protel99SE上設(shè)計出 硬件電路圖,畫出 PCB 圖 , 然后再制造出實(shí)物。在使用中 DS18B20 沒有用到 任何外圍元件 , 可工作在 - 15℃ ~ +100℃ 內(nèi) 。 因 STC89C52RC 芯片 時間計算邏輯較困難,而 DS1302 可根據(jù)月份和閏年的情況自動調(diào)整月份的結(jié)束日期且具有編程涓細(xì)電流充電能力, 所以 采用方案 (2)實(shí)現(xiàn)實(shí)時計時功能。 ( 4) 測量溫度范圍為 0 ℃ ~+ 60 ℃ ,誤差 為 177。因?yàn)樗泻芎玫拈_放性和可發(fā)揮性,因此對作者的要求比較高,不僅考察了對單片機(jī)的掌握能力更加強(qiáng)調(diào)了對單片機(jī)擴(kuò)展的應(yīng)用。 采用數(shù)碼管顯示 ,數(shù)碼管亮度高、體積小、重量輕,但其顯示信息簡單、有限, 操作比較液晶顯示來說略顯繁瑣 。 因此本設(shè)計 的 總體方案組成框圖如 圖 21所示: 三、 系統(tǒng)硬件設(shè)計 主控模塊 本 次課程設(shè)計 主要用到 STC89C52RC 單片機(jī) , 硬件原理 圖(見附錄圖一) 。 主函數(shù) 主函數(shù)是程序功能總結(jié)顯示的函數(shù),其主要顯示的是時間主要部分和當(dāng)前實(shí)時時間,當(dāng)按下 按鍵 2 時 1602 顯示當(dāng)前溫度狀態(tài),并延時 5s,后返回當(dāng)前時間顯示狀態(tài); 當(dāng)鬧鐘功能打開,實(shí)時時間又和鬧鐘時間相等就會 發(fā)出嘀嘀的響聲并且 在液晶屏上 有相應(yīng)的 提 9 示,此時按 按鍵 4 退出; 當(dāng)進(jìn)入設(shè) 置 狀態(tài) 完成后 退出就 回到 當(dāng)前 時間 顯示 狀態(tài)。 下面從軟件和硬件兩個方面具體說明。 解決方案: 把自動轉(zhuǎn)零部分的程序改為秒鐘調(diào)節(jié)功能。 //數(shù)字代碼 unsigned char mode,TH,TL,TN,TD,length,tempswitch,Maxtemp=40,amode,alarmmode,minutes,hours, minutea,seconds,houra=12。 } void delaynus(unsigned char n) //延時若干微秒 { unsigned char i。j++)。 REST=1。 } return date。 //根據(jù)寫秒寄存器命令字,寫入秒的初始值 WriteSet1302(0x82,((0/10)4|(0%10)))。 _nop_()。 _nop_()。 P0=date。 Write_(0x0c)。)。T39。39。 Write_Address(0x4E)。 Write_Date(digit[j])。 } void display_Year(unsigned char year) //在液晶上顯示年 { 23 unsigned char i,j。 Write_Address(0x47)。 hours=(((valueamp。0xf0)4)*10+(valueamp。 delay1ms(1)。 k=x%10。 if(RED==0) { hour。 } void minuteset(void) //調(diào)分 { unsigned char timevalue,minute。 } } timevalue=((minute/10)4|(minute%10))。 second=(((timevalueamp
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1