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

正文內(nèi)容

電子萬(wàn)年歷的仿真與設(shè)計(jì)方案-wenkub

2023-05-10 13:39:39 本頁(yè)面
 

【正文】 設(shè)計(jì)(第二版)[M],清華大學(xué)出版社,2003 【10】 付家才,單片機(jī)控制工程實(shí)踐技術(shù)[M],化學(xué)工業(yè)出版社,2004附錄一 仿真電路圖 圖(16) 電路原理圖 圖(17) 顯示實(shí)時(shí)時(shí)間 圖(18) 調(diào)整日期 圖(19) 調(diào)整時(shí)間 圖(20) 進(jìn)入后臺(tái)日期時(shí)間調(diào)整圖(21) 鬧鐘設(shè)置界面圖(22) 實(shí)時(shí)溫度顯示 圖(23) 倒計(jì)時(shí)顯示附錄二 源程序代碼includeincludeunsigned char code digit[]={0123456789}。同時(shí)在與老師和同學(xué)的交流過(guò)程中,互動(dòng)學(xué)習(xí),將知識(shí)融會(huì)貫通。在本次專業(yè)方向設(shè)計(jì)過(guò)程當(dāng)中,收獲知識(shí)的同時(shí),還收獲了閱歷,收獲了成熟,通過(guò)查找大量資料,請(qǐng)教老師同學(xué),以及不懈的努力,不僅培養(yǎng)了獨(dú)立思考、 動(dòng)手制作的能力,在各種其它能力上也都有了提高。盡量做到了硬件電路簡(jiǎn)單穩(wěn)定,減少電磁干擾和其他環(huán)境干擾。6:顯示60秒倒計(jì)時(shí)功能。 2:具有可調(diào)整日期和時(shí)間功能。在軟件調(diào)試過(guò)程中,當(dāng)調(diào)節(jié)時(shí)間和日期后,單片機(jī)上電后更新的是PC的時(shí)間,后來(lái)查找資料發(fā)現(xiàn),是設(shè)置ds1302的問(wèn)題,還有一個(gè)問(wèn)題,在按鍵操作時(shí)有時(shí)會(huì)出現(xiàn)功能不穩(wěn)定,這是由于按鍵存在抖動(dòng),所以后來(lái)加個(gè)去抖動(dòng)的延時(shí)后在判斷,基本就可以解決問(wèn)題。軟件系統(tǒng)的主要特點(diǎn)是整個(gè)過(guò)程完全在鍵盤的控制之下,實(shí)現(xiàn)了完全的友好的人機(jī)交互功能。 圖(13) 按鍵電路蜂鳴器電路鬧鐘模塊采用單片機(jī)輸出一定頻率的方波從而使蜂鳴器發(fā)出聲音。 復(fù)位要求主機(jī)將數(shù)據(jù)線下拉500us,然后釋放,DS18B20收到信號(hào)后等待16~160us然后發(fā)出60~240us的存在低脈沖,主機(jī)收到此信號(hào)表示復(fù)位成功。 DS18B20的通訊協(xié)議: 在對(duì)DS18B20進(jìn)行讀寫編程時(shí),必須嚴(yán)格保證讀寫的時(shí)序。第9個(gè)字節(jié)為前8個(gè)字節(jié)的CRC碼。其中第一個(gè)和第二個(gè)字節(jié)存放轉(zhuǎn)換后的溫度值。前8位為單線系列的編碼(DS18B20的編碼是19H)后面48位為芯片的唯一序列號(hào)。工作原理介紹:DS18B20是單總線的數(shù)字溫度傳感器。 圖(7) LCD1602顯示電路LCD1602的特性:+5V電壓,對(duì)比度可調(diào);內(nèi)含復(fù)位電路;提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能;有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM;內(nèi)建有160個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM,8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM;基本操作時(shí)序: 讀狀態(tài):輸入:RS=L,RW=H,E=H;輸出:DB0~DB7=狀態(tài)字 ;寫指令:輸入:RS=L,RW=L,E=下降沿脈沖,DB0~DB7=指令碼 ;輸出:無(wú)。寫數(shù)據(jù):控制字總是從最低位開始輸出。它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。在對(duì)任何的時(shí)鐘和RAM的寫操作之前,WP位必須為0。小時(shí)寄存器(85h、84h)的位7用于定義DS1302是運(yùn)行于12小時(shí)模式還是24小時(shí)模式。當(dāng)Vcc2Vcc1+,由Vcc2向DS1302供電,當(dāng)Vcc2 Vcc1時(shí),由Vcc1向DS1302供電;7: SCLK:串行時(shí)鐘,輸入;整個(gè)系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強(qiáng),性價(jià)比高。鬧鐘模塊此模塊采用無(wú)源蜂鳴器實(shí)現(xiàn),只要編寫相應(yīng)的程序即可實(shí)現(xiàn)發(fā)出不同頻率的聲音。矩陣式鍵盤是由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上,行線、列線分別連接到按鍵開關(guān)的兩端。 方案一:使用獨(dú)立式鍵盤。方案二:采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器,而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除A/D模塊,降低了硬件成本,簡(jiǎn)化系統(tǒng)電路。方案二:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較合適,如果用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示。更重要的是其價(jià)格便宜,具有非常高的性價(jià)比。優(yōu)點(diǎn)是8位數(shù)據(jù)線并行控制,控制簡(jiǎn)單;自帶有鋰電池,外部掉電時(shí),其內(nèi)部時(shí)間信息還能夠保持 10年之久。選用方案一作為主方案,方案二作為備用方案。方案二:采用FTC10F04單片機(jī),還帶有非易失性Flash程序存儲(chǔ)器?!?(3)由于構(gòu)成的應(yīng)用系統(tǒng)是一個(gè)計(jì)算機(jī)系統(tǒng),相當(dāng)多的測(cè)、控功能由軟件實(shí)現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當(dāng)?shù)馗淖兿到y(tǒng)功能。因此,只要外加一些擴(kuò)展電路及必要的通道接口就可以構(gòu)成各種計(jì)算機(jī)應(yīng)用系統(tǒng),如工業(yè)流水線控制系統(tǒng)、作為家用電器的主控制器、分布式控制系統(tǒng)的終端節(jié)點(diǎn)或作為其主控制節(jié)點(diǎn)起中繼的作用、數(shù)據(jù)采集系統(tǒng)、自動(dòng)測(cè)試系統(tǒng)等。電子萬(wàn)年歷的仿真與設(shè)計(jì)方案一、方案論證 技術(shù)可行性 隨著國(guó)內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展?! 纹瑱C(jī)的出現(xiàn),并在各技術(shù)領(lǐng)域中得到如此迅猛的發(fā)展,與單片機(jī)構(gòu)成計(jì)算機(jī)應(yīng)用系統(tǒng)所形成的下述特點(diǎn)有關(guān):  (1)單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性?!?(4)有優(yōu)異的性能、價(jià)格比。它是一種高性能、低功耗的8位CMOS微處理芯片,市場(chǎng)應(yīng)用最多。時(shí)鐘模塊的選擇方案一:用單片機(jī)的定時(shí)器產(chǎn)生1S的時(shí)基信號(hào),然后用程序來(lái)實(shí)現(xiàn)時(shí)鐘的時(shí)、分、秒計(jì)時(shí),同時(shí)用程序來(lái)產(chǎn)生年、月、日。缺點(diǎn)是并行控制,占用太多的IO口,且價(jià)格很高,不適合一般的電子制作。缺點(diǎn)是串行通信,控制比較復(fù)雜。方案三:采用LCD液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見(jiàn),但是價(jià)格昂貴,需要的接口線多。另外,數(shù)字式溫度傳感器還具有測(cè)量精度高,測(cè)量范圍廣等優(yōu)點(diǎn)。獨(dú)立式鍵盤是指直接用I/O口線構(gòu)成的單個(gè)按鍵電路。其特點(diǎn)是簡(jiǎn)單且不增加成本,這種鍵盤適合按鍵數(shù)量較多的場(chǎng)合。最終方案決定綜上各方案所述,對(duì)此次設(shè)計(jì)的方案選定:采用AT89C52作為主控制系統(tǒng);DS1302提供時(shí)鐘;LCD1602液晶顯示器作為顯示;以DS18B20作為檢測(cè)溫度的傳感器;用蜂鳴器實(shí)現(xiàn)鬧鐘響鈴。DS1302時(shí)鐘電路時(shí)鐘電路主要由時(shí)鐘芯片DS130晶振等幾部分組成,如下圖所示。 6: I/O:數(shù)據(jù)輸入輸出口;5: CE/RST:復(fù)位腳;3: XX2 是外接晶振腳 ();4: 地(GND)。當(dāng)為高時(shí),選擇12小時(shí)模式。當(dāng)WP位為1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。DS1302的控制字如圖(6):圖(6)DS1302的控制字圖控制字的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。在控制字指令輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入也是從最低位(0位)開始。讀數(shù)據(jù):輸入:RS=H,RW=H,E=H;輸出:DB0~DB7=數(shù)據(jù) ;寫數(shù)據(jù):輸入:RS=H,RW=L,E=下降沿脈沖,DB0~DB7=數(shù)據(jù) ;輸出:無(wú)。其與單片機(jī)的接口只需要一根數(shù)據(jù)線即可。在出場(chǎng)的時(shí)候就已經(jīng)設(shè)置好,用戶無(wú)法更改。第二個(gè)和第三個(gè)字節(jié)分別存放高溫和低溫告警值。 圖(8) DS18B20的溫度存放 圖(9)DS18B20電路其中S位符號(hào)位。否則將無(wú)法讀取測(cè)溫結(jié)果。圖(10)DS18B20的復(fù)位時(shí)序圖。 圖(14) 方波信號(hào) 圖(15) 蜂鳴器電路 三、仿真系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)是本設(shè)計(jì)的關(guān)鍵,軟件程序編寫的好壞直接影響著系統(tǒng)運(yùn)行情況的良好。程序框圖如下:初始化DS1302,1602從DS1302讀取信息1602液晶顯示相關(guān)信息判斷是否有按鍵按下時(shí)間、日期、溫度、鬧鐘和倒計(jì)時(shí)設(shè)置模塊沒(méi)有按鍵按下溫度檢測(cè)模塊四、調(diào)試結(jié)果及分析電路設(shè)計(jì)中單片機(jī)采用AT89C52,編譯環(huán)境為keil,程序使用C語(yǔ)言進(jìn)行編寫,使用proteus仿真軟件進(jìn)行仿真調(diào)試,設(shè)計(jì)硬件制作比較順利,很快就把硬件電路做好。仿真正確顯示了時(shí)間,在LCD1602中正確顯示了當(dāng)前日期、時(shí)間,通過(guò)按按鍵K1,就可以開始設(shè)置時(shí)間或鬧鈴,依次按K1依次在年、月、日、時(shí)、分之間切換,按K2鍵用于加1操作,K3鍵用于減1操作,K4是取消按鈕,單獨(dú)按加減按鍵可以顯示溫度和進(jìn)入倒計(jì)時(shí)。 3:DS1302自帶閏年補(bǔ)償功能,可自動(dòng)判斷平閏年,正確顯示時(shí)間。但唯一不足的是不能實(shí)現(xiàn)一年的溫度記憶功能,我用AT2404調(diào)了很長(zhǎng)時(shí)間,還是不能實(shí)現(xiàn)溫度的存儲(chǔ)和顯示,可能是我不太會(huì)用那個(gè)芯片,看了它的資料,還是不能寫出正確的程序。在該系統(tǒng)設(shè)計(jì),調(diào)試完成之后,對(duì)最后的成功進(jìn)行分析,同時(shí)結(jié)合在調(diào)試過(guò)程中出現(xiàn)的錯(cuò)誤和不足進(jìn)行綜合分析,總結(jié)在實(shí)際系統(tǒng)設(shè)計(jì)和調(diào)試過(guò)程中的寶貴經(jīng)驗(yàn)。更重要的是,我們學(xué)會(huì)了很多學(xué)習(xí)的方法,知道了理論和實(shí)踐的巨大差別。通過(guò)自己的努力,做出了一個(gè)萬(wàn)年歷,對(duì)以后的學(xué)習(xí)是一個(gè)莫大的鼓舞,激起了我的學(xué)習(xí)興趣和開發(fā)創(chuàng)新思維。 //數(shù)字代碼unsigned char mode,TH,TL,TN,TD,length,amode,alarmmode,count=60,minutes,hours,minutea,seconda,seconds,houra=12,yeara=12,montha=01,daya=01,years,months,days。 //DS1302復(fù)位端口sbit SET=P1^4。int down_flag=0。j)。 }void delaynus(unsigned char n) //延時(shí)若干微秒{ unsigned char i。 }/***********蜂鳴器模塊************/ sbit beep=P3^6。i) { _nop_()。i++) { for(x=0。 } } for(i=0。x++) { beep=~beep。 SCLK=0。i++) { DATE=dateamp。 SCLK=0。 SCLK=0。 Write1302(date)。 delaynus(2)。 if(DATE==1) date|=0x80。 delaynus(2)。 SCLK=0。 date=Read1302()。}void IntDS1302(void) //DS1302初始化{ unsigned char flag。 //根據(jù)寫狀態(tài)寄存器命令字,寫入不保護(hù)指令 WriteSet1302(0x80,((0/10)4|(0%10)))。 //根據(jù)寫日寄存器命令字,寫入日的初始值 WriteSet1302(0x88,((0/10)4|(0%10)))。 //根據(jù)寫狀態(tài)寄存器命令字,寫入保護(hù)指令 } }/***************液晶顯示模塊*****************/sbit RS=P2^5。 /*液晶忙檢測(cè)*/bit BusyTest(void){ bit result。 _nop_()。 _nop_()。 return result。 E=0。 P0=mand。 E=1。 E=0。 RW=0。 _nop_()。 _nop_()。 _nop_()。 delay1ms(1)。 delay1ms(1)。 }void displaymainpart(void)//顯示液晶主要部分(不變化部分){ Write_Address(0x01)。)。 Write_Date(39。E39。)。 Write_Date(39。 Write_Date(39。 Write_Date(39。I39。)。 Write_Address(0x48)。 Write_Address(0x4B)。 Write_Address(0x06)。 Write_Date(39。 i=second/10。 Write_Date(digit[j])。 j=minute%10。 delay1ms(1)。 Write_Address(0x46)。}void display_Day(unsigned char day) //在液晶上顯示日{(diào) unsigned char i,j。 Write_Date(digit[i])。 i=month/10。 Write_Date(digit[j])。 j=year%10。 delay1ms(1)。 Write_Address(0x0E)。}void display_Montha(unsigned char x) //鬧鐘月份顯示{ unsigned char i,j。 Write_Date(digit[i])。 i=x/10。 Write_Date(digit[j])。 j=x%10。 }void display_minutea(unsigned char x)//鬧鐘分鐘部分顯示{ unsigned char i,j。 Write_Date(digit[i])。 j=x%10。}void display_Ti
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1