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

正文內(nèi)容

電子萬年歷的仿真與設(shè)計方案(完整版)

2025-05-31 13:39上一頁面

下一頁面
  

【正文】 0) { //判斷時鐘芯片是否關(guān)閉 WriteSet1302(0x8E,0x00)。 delaynus(2)。 SCLK=0。 } unsigned char Read1302(void) //讀取1302數(shù)據(jù) { unsigned char i,date。 } } void WriteSet1302(unsigned char cmd,unsigned char date) //根據(jù)相應的命令輸入相應的數(shù)據(jù) { REST=0。i8。x200。i5。i++)。j1。 //DS1302數(shù)據(jù)輸入 sbit REST=P1^2。同時在與老師和同學的交流過程中,互動學習,將知識融會貫通。盡量做到了硬件電路簡單穩(wěn)定,減少電磁干擾和其他環(huán)境干擾。 2:具有可調(diào)整日期和時間功能。軟件系統(tǒng)的主要特點是整個過程完全在鍵盤的控制之下,實現(xiàn)了完全的友好的人機交互功能。 復位要求主機將數(shù)據(jù)線下拉500us,然后釋放,DS18B20收到信號后等待16~160us然后發(fā)出60~240us的存在低脈沖,主機收到此信號表示復位成功。第9個字節(jié)為前8個字節(jié)的CRC碼。前8位為單線系列的編碼(DS18B20的編碼是19H)后面48位為芯片的唯一序列號。 圖(7) LCD1602顯示電路LCD1602的特性:+5V電壓,對比度可調(diào);內(nèi)含復位電路;提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM;內(nèi)建有160個5X7點陣的字型的字符發(fā)生器CGROM,8個可由用戶自定義的5X7的字符發(fā)生器CGRAM;基本操作時序: 讀狀態(tài):輸入:RS=L,RW=H,E=H;輸出:DB0~DB7=狀態(tài)字 ;寫指令:輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼 ;輸出:無。它不僅要向寄存器寫入控制字,還需要讀取相應寄存器的數(shù)據(jù)。小時寄存器(85h、84h)的位7用于定義DS1302是運行于12小時模式還是24小時模式。整個系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強,性價比高。矩陣式鍵盤是由行線和列線組成,按鍵位于行、列的交叉點上,行線、列線分別連接到按鍵開關(guān)的兩端。方案二:采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器,而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以去除A/D模塊,降低了硬件成本,簡化系統(tǒng)電路。更重要的是其價格便宜,具有非常高的性價比。選用方案一作為主方案,方案二作為備用方案?!?(3)由于構(gòu)成的應用系統(tǒng)是一個計算機系統(tǒng),相當多的測、控功能由軟件實現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當?shù)馗淖兿到y(tǒng)功能。電子萬年歷的仿真與設(shè)計方案一、方案論證 技術(shù)可行性 隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展?!?(4)有優(yōu)異的性能、價格比。時鐘模塊的選擇方案一:用單片機的定時器產(chǎn)生1S的時基信號,然后用程序來實現(xiàn)時鐘的時、分、秒計時,同時用程序來產(chǎn)生年、月、日。缺點是串行通信,控制比較復雜。另外,數(shù)字式溫度傳感器還具有測量精度高,測量范圍廣等優(yōu)點。其特點是簡單且不增加成本,這種鍵盤適合按鍵數(shù)量較多的場合。DS1302時鐘電路時鐘電路主要由時鐘芯片DS130晶振等幾部分組成,如下圖所示。當為高時,選擇12小時模式。DS1302的控制字如圖(6):圖(6)DS1302的控制字圖控制字的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。讀數(shù)據(jù):輸入:RS=H,RW=H,E=H;輸出:DB0~DB7=數(shù)據(jù) ;寫數(shù)據(jù):輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù) ;輸出:無。在出場的時候就已經(jīng)設(shè)置好,用戶無法更改。 圖(8) DS18B20的溫度存放 圖(9)DS18B20電路其中S位符號位。圖(10)DS18B20的復位時序圖。程序框圖如下:初始化DS1302,1602從DS1302讀取信息1602液晶顯示相關(guān)信息判斷是否有按鍵按下時間、日期、溫度、鬧鐘和倒計時設(shè)置模塊沒有按鍵按下溫度檢測模塊四、調(diào)試結(jié)果及分析電路設(shè)計中單片機采用AT89C52,編譯環(huán)境為keil,程序使用C語言進行編寫,使用proteus仿真軟件進行仿真調(diào)試,設(shè)計硬件制作比較順利,很快就把硬件電路做好。 3:DS1302自帶閏年補償功能,可自動判斷平閏年,正確顯示時間。在該系統(tǒng)設(shè)計,調(diào)試完成之后,對最后的成功進行分析,同時結(jié)合在調(diào)試過程中出現(xiàn)的錯誤和不足進行綜合分析,總結(jié)在實際系統(tǒng)設(shè)計和調(diào)試過程中的寶貴經(jīng)驗。通過自己的努力,做出了一個萬年歷,對以后的學習是一個莫大的鼓舞,激起了我的學習興趣和開發(fā)創(chuàng)新思維。 //DS1302復位端口sbit SET=P1^4。j)。 }/***********蜂鳴器模塊************/ sbit beep=P3^6。i++) { for(x=0。x++) { beep=~beep。i++) { DATE=dateamp。 SCLK=0。 delaynus(2)。 delaynus(2)。 date=Read1302()。 //根據(jù)寫狀態(tài)寄存器命令字,寫入不保護指令 WriteSet1302(0x80,((0/10)4|(0%10)))。 //根據(jù)寫狀態(tài)寄存器命令字,寫入保護指令 } }/***************液晶顯示模塊*****************/sbit RS=P2^5。 _nop_()。 return result。 P0=mand。 E=0。 _nop_()。 _nop_()。 delay1ms(1)。)。E39。 Write_Date(39。 Write_Date(39。)。 Write_Address(0x4B)。 Write_Date(39。 Write_Date(digit[j])。 delay1ms(1)。}void display_Day(unsigned char day) //在液晶上顯示日{(diào) unsigned char i,j。 i=month/10。 j=year%10。 Write_Address(0x0E)。 Write_Date(digit[i])。 Write_Date(digit[j])。 }void display_minutea(unsigned char x)//鬧鐘分鐘部分顯示{ unsigned char i,j。 j=x%10。 seconds=(((valueamp。 display_Minute(minutes)。0x70)4)*10+(valueamp。 value=ReadSet1302(0x8D)。 delay1ms(5)。 while(1) { if(ADD==0) { delay1ms(50)。 while(RED==0)。 delay1ms(5)。 WriteSet1302(0x8e,0x00)。 while(ADD==0)。 delay1ms(1)。 break。 WriteSet1302(0x80,0x00)。 break。0x70)4)*10+(datevalueamp。 while(RED==0)。 if(CANL==0) { mode=0。 datevalue=ReadSet1302(0x89)。 } } if(RED==0) { delay1ms(10)。 display_Month(month)。}void dayset(void) //調(diào)日{(diào) unsigned char datevalue,day。 if(ADD==0) { day++。 } } datevalue=((day/10)4|(day%10))。 break。 value++。 display_Yeara(yeara)。 delay1ms(5)。 } } montha=value。 if(ADD==0) { Write_(0x0c)。 while(RED==0)。 while(1) { if(ADD==0) { delay1ms(20)。 if(value==0) value=23。 if(ADD==0) { minutea++。 gbdisplay(0x48)。 if(RED==0) { seconda。 if(SET==0) { delay1ms(10)。minuteset()。yearset()。dayset()。/**********************DS18B20初始化****************************/bit IntDS18B20(void){ bit temp。time++)。time++)。 DQ=0。 else dat=dat|0x00。i++) { DQ=1。 DQ=1。 }/*******************為讀取溫度做好準備************************/void ReadyreadDS18B20(void){ IntDS18B20()。 Write_Address(0x00)。 Write_Date(39。 if(flag==1) Write_Date(39。 Write_Date(digit[x])。length0。0XF8)!=0X00) { flag=1。 TD=(TL%16)*10/16。 } } }void alarmswitchset(void) //鬧鐘開關(guān)設(shè)置 { while(1) { if(ADD==0) { delay1ms(100)。)。)。 break。)。amp。)。E39。)。 displaymainpart()。 delay1ms(1000)。S39。A39。 Write_Date(39。 display_Montha(montha)。39。:39。)。 Write_Date(39。)。 case(2):{gbdisplay(0x0C)。delay1ms(500)。alarmminuteset()。} break。alarmswitchset()。delay1ms(500)。 case(4):{gbdisplay(0x45)。Write_(0x0c)。 if(SET==0) { amode++。)。N39。 display_houra(houra)。 Write_Address(0x46)。 Write_Address(0x0A)。)。 Write_Date(39。 delay1ms(10)。 while(1) { TimeSet()。 } } } } }/**************** 設(shè)置模塊 ******************/ void Set(void) { if(SET==0) { delay1ms(10)。!39。 Write_Address(0x08)。I39。amp。amp。 delay1ms(1)。F39。 39。 Write_Address(0x4D)。 Display_Decimal(TD)。 TH=~TH。i6。 }/*******************溫度主函數(shù)********************/void Temperature(void) { unsigned char i。)。)。 while(displayexplain[i]!=39。 WriteDS18B20(0X44)。time1。 DQ=0。time10。 DQ=1。}/**************************讀DS18B20**********************/ unsigned char ReadDS18B20(void) { unsigned char i。 for(time=0。 for(time=0。} break。} break。} break。 delay1ms(20)。 while(RED==0) 。 break。 while(ADD==0) 。 } } houra=value。 delay1ms(5)。 display_Daya(daya)。 value++。 gbdisplay(0x0C)。 if(value12) value=1。 if(CANL==0) { delay1ms(500)。
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1