版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 說(shuō) 明 書(shū)</p><p> 課程名稱: 《通信電子線路》 </p><p> 設(shè)計(jì)題目: 定時(shí)鬧鐘設(shè)計(jì) </p><p> 院 系: 電子信息與電氣工程學(xué)院 </p><p> 學(xué)生姓名: <
2、;/p><p> 學(xué) 號(hào): </p><p> 專業(yè)班級(jí): </p><p> 指導(dǎo)教師: </p><p> 2012年 5月 18 日</p><p>
3、 課 程 設(shè) 計(jì) 任 務(wù) 書(shū)</p><p><b> 定時(shí)鬧鐘設(shè)計(jì)</b></p><p> 摘 要:定時(shí)鬧鐘設(shè)計(jì)主要有硬件部分和軟件部分組成,硬件部分以單片機(jī)為核心,在其周?chē)须娫措娐?、時(shí)鐘電路、復(fù)位電路、驅(qū)動(dòng)電路和顯示電路組成。軟件部分用匯編語(yǔ)言編程,用keil軟件編譯、調(diào)試。最后用proteus軟件仿真,形成以單片機(jī)為樞紐,以程序?yàn)閯?dòng)力,使鬧鐘實(shí)現(xiàn)功能。
4、</p><p><b> 關(guān)鍵詞:</b></p><p> AT89S52 定時(shí)鬧鐘 keil proteus 匯編語(yǔ)言</p><p><b> 目 錄</b></p><p> 1. 設(shè)計(jì)背景………………………………………………… 1</p><p
5、> 1.1設(shè)計(jì)課題及目的…………………………………………1</p><p> 1.2相關(guān)技術(shù)與應(yīng)用領(lǐng)域…………………………………………1</p><p> 2.設(shè)計(jì)方案…………………………………………………………1</p><p> 2.1總體方案……………………………………………………1</p><p> 2.2硬件設(shè)計(jì)……
6、…………………………………………………2</p><p> 2.3軟件設(shè)計(jì)………………………………………………………7</p><p> 3.方案實(shí)施…………………………………………………………8</p><p> 3.1方案流程圖………………………………………………………8</p><p> 3.2 proteus的系統(tǒng)仿真…………
7、…………………………………8</p><p> 4. 結(jié)果與結(jié)論………………………………………………………9</p><p> 4.1 課程設(shè)計(jì)結(jié)果……………………………………………………9</p><p> 4.2課程設(shè)計(jì)結(jié)論……………………………………………………9</p><p> 5.收獲與致謝…………………………………………
8、………………9</p><p> 6.參考文獻(xiàn)……………………………………………………………10</p><p> 7.附件…………………………………………………………………11</p><p> 7.1系統(tǒng)總體電路圖…………………………………………………11</p><p> 7.2系統(tǒng)實(shí)物圖……………………………………………………
9、……11</p><p> 7.3 程序源代碼…………………………………………………………12</p><p> 7.4元器件清單…………………………………………………………16</p><p><b> 1. 設(shè)計(jì)背景</b></p><p> 1.1設(shè)計(jì)課題及目的</p><p>
10、本課題是以單片機(jī)為核心,通過(guò)動(dòng)態(tài)掃面的方式,實(shí)現(xiàn)定時(shí)鬧鐘功能。單片機(jī)即單片微型計(jì)算機(jī),是集CPU,RAM,ROM,定時(shí),計(jì)數(shù),和多種接口于一體的微控制器,他體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)品和工業(yè)自動(dòng)化上,AT89S52單片機(jī)是各單片機(jī)中比較具有代表性的一種。這次課程設(shè)計(jì)通過(guò)對(duì)他的學(xué)習(xí),應(yīng)用,從而達(dá)到學(xué)習(xí),設(shè)計(jì),開(kāi)發(fā)軟硬件的能力.</p><p> 1.2相關(guān)技術(shù)與應(yīng)用領(lǐng)域</p><
11、;p> 電子鬧鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)分秒數(shù)字顯示的機(jī)試裝置,廣泛用于個(gè)人家庭,車(chē)站,碼頭辦公室等公共場(chǎng)所,稱為人們?nèi)粘I钪胁豢扇鄙俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超于老式鐘表,中標(biāo)的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地拓展了鐘表的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)啟閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟
12、用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。數(shù)字鐘已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵罚瑥V泛用于個(gè)人家庭、車(chē)站、碼頭、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)勢(shì),它還用于計(jì)時(shí)自動(dòng)報(bào)時(shí)及自動(dòng)控制的領(lǐng)域。因此,研究定時(shí)數(shù)字鬧鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。</p><p><b> 2
13、.設(shè)計(jì)方案</b></p><p><b> 2.1總體方案</b></p><p><b> 2.1.1方案比較</b></p><p> 方案一:采用數(shù)字電路實(shí)現(xiàn)。數(shù)字電子鐘是用數(shù)字集成電路構(gòu)成的,用數(shù)碼管顯示“時(shí)”,“分”,“秒”的現(xiàn)代計(jì)時(shí)裝置。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片
14、數(shù)字集成塊,其功能也主要依賴于數(shù)字電路的各功能模塊的組合來(lái)實(shí)現(xiàn),焊接的過(guò)程比較復(fù)雜,成本也非常高。</p><p> 方案二:用單片機(jī)來(lái)設(shè)計(jì)制作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,那么就降低了硬件電路的復(fù)雜性,而且其成本也有所降低,另外,使用是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。</p><p> 經(jīng)過(guò)
15、上面的對(duì)比本設(shè)計(jì)采用單片機(jī)作為設(shè)計(jì)的主體</p><p> 本系統(tǒng)采用單片機(jī)AT89S52作為本設(shè)計(jì)的核心元件,利用7段共陽(yáng)LED作為顯示器件。接入共陽(yáng)LED顯示器,可顯示,分鐘,秒,單片機(jī)外圍接有定時(shí)報(bào)警系統(tǒng),定時(shí)時(shí)間到,揚(yáng)聲器發(fā)出報(bào)警聲,提示預(yù)先設(shè)定時(shí)間到。</p><p> 電路有下列部分組成:時(shí)鐘電路、復(fù)位電路、控制電路、LED顯示,報(bào)警電路,芯片選用AT89S51單片機(jī)。&l
16、t;/p><p><b> 系統(tǒng)基本框圖:</b></p><p><b> 圖1系統(tǒng)基本框圖</b></p><p><b> 2.2硬件設(shè)計(jì)</b></p><p> 2.2.1 單片機(jī)AT89S52</p><p> AT89S52為 ATM
17、EL 所生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flsah存儲(chǔ)器。</p><p> (一)、AT89S52主要功能列舉如下:</p><p> 1、擁有靈巧的8位CPU和在系統(tǒng)可編程Flash</p><p> 2、晶片內(nèi)部具時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz)</p><p> 3、內(nèi)部程序存儲(chǔ)
18、器(ROM)為 8KB</p><p> 4、內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)為 256字節(jié)</p><p> 5、32 個(gè)可編程I/O 口線</p><p> 6、8 個(gè)中斷向量源</p><p> 7、三個(gè) 16 位定時(shí)器/計(jì)數(shù)器</p><p> 8、三級(jí)加密程序存儲(chǔ)器</p><p>
19、 9、全雙工UART串行通道</p><p> ?。ǘT89S52各引腳功能介紹:</p><p> 圖2AT89S52管腳圖</p><p> VCC:AT89S52電源正端輸入,接+5V。</p><p><b> VSS:電源地端。</b></p><p> XTAL1:?jiǎn)涡?/p>
20、片系統(tǒng)時(shí)鐘的反相放大器輸入端。</p><p> XTAL2:系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)</p><p> RESET:AT89S52的重置引腳,高電平動(dòng)作,當(dāng)要對(duì)晶片重置時(shí),只要對(duì)此引腳電平提升至高電平并保持
21、兩個(gè)機(jī)器周期以上的時(shí)間,AT89S51便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址0000H處開(kāi)始讀入程序代碼而執(zhí)行程序。</p><p> EA/Vpp:"EA"為英文"External Access"的縮寫(xiě),表示存取外部程序代碼之意,低電平動(dòng)作,也就是說(shuō)當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM中)來(lái)執(zhí)行程
22、序。因此在8031及8032中,EA引腳必須接低電平,因?yàn)槠鋬?nèi)部無(wú)程序存儲(chǔ)器空間。如果是使用 8751 內(nèi)部程序空間時(shí),此引腳要接成高電平。此外,在將程序代碼燒錄至8751內(nèi)部EPROM時(shí),可以利用此引腳來(lái)輸入21V的燒錄高壓(Vpp)。</p><p> ALE/PROG:ALE是英文"Address Latch Enable"的縮寫(xiě),表示地址鎖存器啟用信號(hào)。AT89S52可以利用這支引腳
23、來(lái)觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進(jìn)鎖存器中,因?yàn)锳T89S52是以多工的方式送出地址及數(shù)據(jù)。平時(shí)在程序執(zhí)行時(shí)ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來(lái)驅(qū)動(dòng)其他周邊晶片的時(shí)基輸入。此外在燒錄8751程序代碼時(shí),此引腳會(huì)被當(dāng)成程序規(guī)劃的特殊功能來(lái)使用。</p><p> PSEN:此為"Program Store Enable"的縮寫(xiě)
24、,其意為程序儲(chǔ)存啟用,當(dāng)8051被設(shè)成為讀取外部程序代碼工作模式時(shí)(EA=0),會(huì)送出此信號(hào)以便取得程序代碼,通常這支腳是接到EPROM的OE腳。AT89S52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器可以合并在一起而共用64K的定址范圍。</p><p> PORT0(P0.0~P0.7):端口0是一個(gè)8位寬的開(kāi)路汲極(Open Drain)雙向輸出入端口,共有
25、8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。如果當(dāng)EA引腳為低電平時(shí)(即取用外部程序代碼或數(shù)據(jù)存儲(chǔ)器),P0就以多工方式提供地址總線(A0~A7)及數(shù)據(jù)總線(D0~D7)。設(shè)計(jì)者必須外加一鎖存器將端口0送出的地址栓鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址總線,而定址
26、到64K的外部存儲(chǔ)器空間。</p><p> PORT2(P2.0~P2.7):端口2是具有內(nèi)部提升電路的雙向I/O端口,每一個(gè)引腳可以推動(dòng)4個(gè)LS的TTL負(fù)載,若將端口2的輸出設(shè)為高電平時(shí),此端口便能當(dāng)成輸入端口來(lái)使用。P2除了當(dāng)做一般I/O端口使用外,若是在AT89S52擴(kuò)充外接程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),也提供地址總線的高字節(jié)A8~A15,這個(gè)時(shí)候P2便不能當(dāng)做I/O來(lái)使用了。</p><
27、;p> PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來(lái)輸入數(shù)據(jù)。如果是使用8052或是8032的話,P1.0又當(dāng)做定時(shí)器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。</p><p> PORT3(P3.0~P3.7):端口3也具有內(nèi)部提升電路的雙向
28、I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋?lt;/p><p><b> 其引腳分配如下:</b></p><p> P3.0:RXD,串行通信輸入。</p><p> P3.1:TXD,串行通信輸出。</p>
29、;<p> P3.2:INT0,外部中斷0輸入。</p><p> P3.3:INT1,外部中斷1輸入。</p><p> P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。</p><p> P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。</p><p> P3.6:WR:外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)入信號(hào)。</p><p>
30、P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出
31、的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),
32、這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)
33、鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p><b> 2.2.2時(shí)鐘電路</b></p><p> 單片機(jī)的時(shí),鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本系統(tǒng)中AT89S52單片機(jī)采用內(nèi)部時(shí)鐘方式。最常用的內(nèi)部時(shí)鐘方式是采用外接晶體和電容組成的并聯(lián)諧振回路。震蕩晶體為1.2MHz~12M
34、Hz之間。電容值無(wú)嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小和振蕩電路起振速度有少許影響。AT89S52單片機(jī)的時(shí)鐘電路如圖3所示。</p><p><b> 圖3 時(shí)鐘電路</b></p><p> 2.2.3數(shù)碼管顯示電路</p><p> 單片機(jī)中通常使用7段LED,LED是發(fā)光二極管顯示器的縮寫(xiě)。LED顯示器由于結(jié)構(gòu)簡(jiǎn)單,價(jià)
35、格便宜,體積小,亮度高,電壓低,可靠性高,壽命長(zhǎng),響應(yīng)速度快,顏色鮮艷,配置靈活,與單片機(jī)接口方便而得到廣泛使用。</p><p><b> 圖4引腳配置</b></p><p> LED七段數(shù)碼管顯示器由8個(gè)發(fā)光二極管組成顯示字符,根據(jù)內(nèi)部發(fā)光二極管的連接形式不同,LED有共陽(yáng)和共陰極兩種,如上圖4所示:</p><p> 采用高亮共陰
36、型數(shù)位數(shù)碼管,為示區(qū)別,顯示秒的兩個(gè)數(shù)碼管個(gè)頭較小,另外4個(gè)較大。共陰數(shù)碼管接線如下:一般用7個(gè)發(fā)光二極管構(gòu)成顯示數(shù)字和符號(hào),另外還用一段發(fā)光二極管顯示小數(shù)點(diǎn)。這種顯示器一般分為兩種,共陰極顯示器是把每個(gè)二極管的陰極連在一起,共陽(yáng)極顯示器是把每個(gè)二極管的正端連在一起。一只顯示器是有8個(gè)發(fā)光二級(jí)管構(gòu)成,當(dāng)把某段加正向電壓時(shí),則該段所對(duì)應(yīng)的筆劃亮,不加正向電壓則暗,為了保護(hù)各種不收損壞需要加限流電阻,無(wú)論是共陽(yáng)極顯示器還是共陰極顯示器,它的
37、8段排列順序都是一樣的:A段、B段、C段、D段、E段、F段、G段、和DP段。在單片機(jī)中通常使用7段LED。</p><p><b> 2.3軟件設(shè)計(jì)</b></p><p> 2.3.1系統(tǒng)軟件設(shè)計(jì)</p><p> 該系統(tǒng)軟件主要是有主程序模塊,定時(shí)中斷服務(wù)程序,終端等待服務(wù)程序,鍵盤(pán)程序,顯示子程序等六大模塊組成,因?yàn)閰R編語(yǔ)言使用助記
38、符,符號(hào)和數(shù)字等來(lái)表示指令程序的語(yǔ)言,容易理解和記憶,所以我們用匯編語(yǔ)言來(lái)寫(xiě)程序。</p><p><b> 2.3.2 LED</b></p><p> 七段LED由七個(gè)發(fā)光二級(jí)管按日字排開(kāi),所有發(fā)光二極管的陽(yáng)極連在一起成共陽(yáng)極。當(dāng)采用芯片驅(qū)動(dòng)時(shí)不需要加限流電阻,其他情況下一般應(yīng)用外接限流電阻。動(dòng)態(tài)顯示電路有顯示快,字型碼封鎖驅(qū)動(dòng)器,字位鎖存驅(qū)動(dòng)器三部分組成。&
39、lt;/p><p> 2.3.3蜂鳴報(bào)警電路</p><p> 在AT89s52外圍的一個(gè)管口上加蜂鳴器,通過(guò)軟件與硬件的結(jié)合可實(shí)現(xiàn)定時(shí)鬧鐘功能。</p><p><b> 2.3.4電源電路</b></p><p> 電源電壓穩(wěn)壓流程方框圖如圖5。</p><p> 圖5電源電壓穩(wěn)壓流程方
40、框圖</p><p> 電源電路如圖6所示,220V交流電經(jīng)過(guò)變壓器,再經(jīng)過(guò)橋堆2W10整流,然后由電容C6濾波后變?yōu)槊}動(dòng)比較穩(wěn)定的直流電,最后通過(guò)三端穩(wěn)壓器7805輸出穩(wěn)定的5V直流電壓。圖中C5用于抵消輸入線產(chǎn)生的電感效應(yīng),以防止電路產(chǎn)生自激振蕩其容較小,一般小于1μF。電容C4用于消除輸出電壓的高頻噪聲,可取小于1μF的電容,也可取幾微法甚至幾十微法的電容,以便輸出較大的脈動(dòng)電流。</p>
41、<p><b> 圖6電源電路</b></p><p><b> 3. 方案實(shí)施</b></p><p><b> 3.1系統(tǒng)流程圖</b></p><p><b> 圖7程序流程圖</b></p><p> 3.2proteus的系統(tǒng)
42、仿真</p><p><b> 操作過(guò)程:</b></p><p> 設(shè)幾個(gè)按鍵從上往下為k1,k2,k3,k4。k1與p1.0相連,k2與p1.1相連,k3與p1.2相連,k4與p1.4相連。</p><p> 當(dāng)需要設(shè)定當(dāng)前時(shí),按一下k1鍵,進(jìn)入時(shí)間設(shè)定狀態(tài),按一下k2,小時(shí)加1,按一下k3,分加1.如此反復(fù)來(lái)設(shè)定當(dāng)前時(shí)間。調(diào)好時(shí)間后
43、按k4退出當(dāng)前設(shè)定狀態(tài)。如下圖6:</p><p><b> 4. 結(jié)果與結(jié)論</b></p><p><b> 4.1課程設(shè)計(jì)結(jié)果</b></p><p> 經(jīng)過(guò)多次的軟件仿真測(cè)試,該系統(tǒng)均能夠產(chǎn)生與我們?cè)O(shè)計(jì)目標(biāo)相符的結(jié)果。但是在元器件焊接完畢之后,卻不能夠正常的工作,經(jīng)過(guò)多方查證,覺(jué)得可能是由于電阻電容等器件參數(shù)
44、設(shè)置有誤,導(dǎo)致電源模塊不能夠正常供電。之后我們對(duì)電路的原理圖又進(jìn)行了進(jìn)一步的分析,更換了幾個(gè)電阻和電容之后,定時(shí)鬧鐘終于能夠正常工作了。</p><p><b> 4.2課程設(shè)計(jì)結(jié)論</b></p><p> 對(duì)電路的分析,對(duì)元器件參數(shù)的設(shè)置,這些都是影響一件產(chǎn)品能否正常運(yùn)行的重要指標(biāo),有時(shí)候理論上成功,并不代表實(shí)際生產(chǎn)能夠成功,我們必須進(jìn)行反復(fù)的、細(xì)致的研究。&
45、lt;/p><p><b> 5. 收獲與致謝</b></p><p> 這是我第一次用單片機(jī)設(shè)計(jì)制作系統(tǒng),在設(shè)計(jì)過(guò)程中,我對(duì)單片機(jī)了解進(jìn)一步加深,學(xué)會(huì)了對(duì)keil軟件和proteus軟件的使用。</p><p> 程序是整個(gè)系統(tǒng)的核心,沒(méi)有程序,硬件就無(wú)法運(yùn)行,所以程序成為了我們組重點(diǎn)解決的問(wèn)題。學(xué)好每一個(gè)軟件的使用方法,自己就可以在軟件里
46、做自己想實(shí)現(xiàn)的功能。</p><p> 單片機(jī)作為我們的主要專業(yè)課之一,雖然在開(kāi)學(xué)初我們對(duì)這門(mén)課并沒(méi)有什么興趣,覺(jué)得那些程序枯燥乏味,但在這次課程設(shè)計(jì)后,我發(fā)現(xiàn)自己在一點(diǎn)一滴的努力對(duì)單片機(jī)的興趣也在逐漸增加,我覺(jué)得做單片機(jī)課程設(shè)計(jì)是十分有意義的,而且是十分必要的,在一度過(guò)的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專業(yè)課,我們?cè)谡n堂上掌握的僅僅是專業(yè)課的理論知識(shí),如何去鍛煉我們的實(shí)踐能力,如何把我們所學(xué)的專業(yè)基礎(chǔ)理論知識(shí)運(yùn)
47、用到實(shí)踐中去呢?我想做課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺(tái)。要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)部有哪些資源,要有一個(gè)清晰的思路和一個(gè)完整的軟件流程圖,再設(shè)計(jì)程序時(shí),不要妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改,不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路。</p><p> 回顧此次單片機(jī)課程設(shè)計(jì),從理論到實(shí)踐的日子這兩個(gè)星期了,自己之前對(duì)單片機(jī)課程學(xué)習(xí)的不夠,最
48、后吃了很大的苦頭,由于之前知識(shí)的欠缺導(dǎo)致在本次實(shí)習(xí)中,遇到很多問(wèn)題,程序的編寫(xiě),硬件和軟件的設(shè)計(jì)。第一星期大家主要是對(duì)軟件和硬件的設(shè)計(jì),第二星期,主要負(fù)責(zé)元器件的焊接,之前有多焊接的實(shí)操,所以進(jìn)行起來(lái)比較上手,出現(xiàn)的問(wèn)題就是用萬(wàn)用板時(shí)元器件的排版和布局。</p><p> 最后,通過(guò)這次的課程設(shè)計(jì)使我懂得自己的知識(shí)還遠(yuǎn)遠(yuǎn)不夠,只有不斷的學(xué)習(xí)才能成就一個(gè)自我。同時(shí)要感謝我們的指導(dǎo)老師郭麗霞老師對(duì)我們這兩個(gè)星期的指
49、導(dǎo)和講解,也感謝我們的團(tuán)隊(duì)。</p><p><b> 6. 參考文獻(xiàn)</b></p><p> [1] 杜尚豐. CAN總線測(cè)控技術(shù)及其應(yīng)用.北京:電子工業(yè)出版社,2007.1</p><p> [2] 杜樹(shù)春.單片機(jī)C語(yǔ)言和匯編語(yǔ)言混合編程實(shí)例詳解.北京:北京航空航天大學(xué)出版社,2006.6</p><p>
50、 [3] 張毅剛·單片機(jī)原理及應(yīng)用·北京:高等教育出版社,2009·2</p><p><b> 7. 附件</b></p><p> 7.1系統(tǒng)總體電路圖</p><p><b> 7.2系統(tǒng)實(shí)物圖</b></p><p><b> 7.3程序源代碼
51、</b></p><p> ORG 0000H </p><p><b> LJMP MAIN</b></p><p><b> ORG 000BH</b></p><p><b> LJMP TIME</b></p><p>
52、×××××主程序部分×××××</p><p><b> ORG 0100H</b></p><p> MAIN:MOV SP,#50H</p><p> MOV 20H,#00H </p><p> MOV
53、21H,#00H </p><p> MOV 22H,#00H </p><p> MOV 23H,#01H</p><p> MOV 24H,#01H </p><p> MOV 25H,#00H </p><p> MOV 30H,#00H </p><p> MOV 31
54、H,#00H</p><p> MOV 32H,#00H </p><p> MOV 33H,#00H </p><p> MOV 34H,#00H</p><p> MOV 35H,#00H</p><p> MOV 36H,#01H </p><p> MOV 37H,#00H
55、</p><p> MOV 38H,#01H </p><p> MOV 39H,#00H</p><p> MOV TMOD,#01H ;16 位計(jì)數(shù)器</p><p> MOV TH0,#03CH ;賦計(jì)數(shù)初值</p><p> MOV TL0,#0B0H </p><p> M
56、OV IE,#10000111B </p><p> SETB TR0 ;T0 啟動(dòng)計(jì)數(shù)</p><p> MOV R2,#14H </p><p> MOV P2,#0FFH </p><p> LOOP: LCALL TIMEPRO </p><p> LCALL DISPLAY1 </p>
57、<p> JB P1.0,M1 </p><p> LCALL SETTIME ;調(diào)用設(shè)定時(shí)間程序</p><p><b> LJMP LOOP</b></p><p> M1:JB P1.1,M2 </p><p> LCALL SETATIME </p><p>
58、LJMP LOOP </p><p> M2:JB P1.3,M4 </p><p> LCALL LOOKATIME </p><p> M4:LJMP LOOP </p><p> DELAY:MOV R4,#030H </p><p> DL00:MOV R5,#0FFH </p><
59、;p> DL11:MOV R6,#9H </p><p> DL12:DJNZ R6,DL12 </p><p> DJNZ R5,DL11 </p><p> DJNZ R4,DL00 </p><p><b> RET ;</b></p><p> ××&
60、#215;××設(shè)定時(shí)間程序×××××</p><p><b> SETTIME:</b></p><p> L0:LCALL DISPLAY1</p><p> MM1: JB P1.1,L1 </p><p> MOV C,P1.1 <
61、/p><p><b> JC MM1 </b></p><p> LCALL DELAY1 ;調(diào)用延時(shí)</p><p><b> JC MM1</b></p><p> MSTOP1: MOV C,P1.1</p><p> JNC MSTOP1 ;判斷 P1.1 是
62、否釋放?釋放則繼續(xù) </p><p> LCALL DELAY1 ;調(diào)用延時(shí)</p><p> MOV C,P1.1 </p><p> JNC MSTOP1 </p><p><b> INC 22H </b></p><p> MOV A,22H </p><p&
63、gt; CJNE A,#18H,GO12 </p><p> MOV 22H,#00H </p><p> MOV 34H,#00H </p><p> MOV 35H,#00H </p><p><b> LJMP L0 </b></p><p> L1:JB P1.2,L2 <
64、;/p><p> MOV C,P1.2 </p><p><b> JC L1 </b></p><p> LCALL DELAY1 </p><p><b> JC L1 </b></p><p> MSTOP2: MOV C,P1.2 </p><
65、;p> JNC MSTOP2;判斷 P1.2 是否釋放?釋放則繼續(xù)</p><p> LCALL DELAY1 ;調(diào)用延時(shí)</p><p> MOV C,P1.2 </p><p> JNC MSTOP2 </p><p><b> INC 21H </b></p><p> M
66、OV A,21H </p><p> CJNE A,#3CH,GO11 </p><p> MOV 21H,#00H </p><p> MOV 32H,#00H </p><p> MOV 33H,#00H </p><p><b> LJMP L0 </b></p>&
67、lt;p> GO11:MOV B,#0AH </p><p><b> DIV AB </b></p><p> MOV 34H,B </p><p> MOV 35H,A </p><p><b> LJMP L0</b></p><p> L2:JB
68、P1.3,L0</p><p> MOV C,P1.3</p><p><b> JC L2</b></p><p> LCALL DELAY1</p><p> MOV C,P1.3 </p><p><b> JC L2</b></p><p
69、> STOP1: MOV C,P1.3 </p><p> JNC STOP1 </p><p> LCALL DELAY1 </p><p> MOV C,P1.3 </p><p> JNC STOP1 </p><p><b> LJMP LOOP</b></p>
70、;<p> ×××××設(shè)置鬧鐘時(shí)間×××××</p><p> SETATIME:LCALL DISPLAY2 </p><p> N0:LCALL DISPLAY2 </p><p> MM2: JB P1.2,N1;判斷 P1.2 是否按下?
71、</p><p> MOV C,P1.2 </p><p><b> JC MM2 </b></p><p> LCALL DELAY1 </p><p><b> JC MM2 </b></p><p> MSTOP3: MOV C,P1.2 </p>
72、<p> JNC MSTOP3 </p><p> LCALL DELAY1 </p><p> MOV C,P1.2 </p><p> JNC MSTOP3 </p><p><b> INC 24H </b></p><p> MOV A,24H </p>
73、;<p> CJNE A,#24,GO22 </p><p> MOV 24H,#00H </p><p> MOV 38H,#00H </p><p> MOV 39H,#00H </p><p><b> LJMP N0 </b></p><p> N1:JB P1.
74、0,N2</p><p> MOV C,P1.0 </p><p><b> JC N1 </b></p><p> LCALL DELAY1 </p><p><b> JC N1</b></p><p> MSTOP4: MOV C,P1.0 </p>
75、;<p> JNC MSTOP4 </p><p> LCALL DELAY1 </p><p> MOV C,P1.0 </p><p> JNC MSTOP4 </p><p><b> INC 23H </b></p><p> MOV A,23H </p&g
76、t;<p> CJNE A,#60,GO21 </p><p> MOV 23H,#00H </p><p> MOV 36H,#00H </p><p> MOV 37H,#00H </p><p><b> LJMP N0 </b></p><p><b>
77、 GO21:MOV </b></p><p><b> DIV AB </b></p><p> MOV 36H,B </p><p> MOV 37H,A </p><p><b> LJMP N0 </b></p><p> GO22: MOV B,
78、#0AH ;將 A 中的內(nèi)容分成高低兩部分</p><p><b> DIV AB </b></p><p> MOV 38H,B</p><p> MOV 39H,A</p><p><b> LJMPN0</b></p><p> N2:JB P1.3
79、 ,N0 ;判斷 P1.3 是否按下?</p><p> MOV C,P1.3 </p><p><b> JC N2 </b></p><p> LCALL DELAY1 </p><p> MOV C,P1.3 </p><p><b> JC N2 </b>
80、</p><p> STOP2: MOV C,P1.3 ;判斷 P1.3 是否釋放?</p><p> JNC STOP2 </p><p> LCALL DELAY1</p><p> MOV C,P1.3 </p><p> JNC STOP2 </p><p><b>
81、 LJMP LOOP</b></p><p> TIMEPRO:MOV A,21H </p><p> MOV B,23H </p><p> CJNE A,B,BK </p><p> MOV A,22H </p><p> MOV B,24H </p><p> C
82、JNE A,B,BK </p><p> SETB 25H.0 </p><p> MOV C,25H.0 </p><p><b> JC XX </b></p><p> XX: LCALL TIMEOUT ;調(diào)用時(shí)間鬧鐘響應(yīng)程序</p><p><b> BK:RET &
83、lt;/b></p><p><b> TIMEOUT:</b></p><p> X1:LCALL BZ </p><p> LCALL DISPLAY2 </p><p> CLR 25H.0 </p><p> JB P1.3, X1 ;調(diào)用喇叭響應(yīng)程序</p>
84、<p> LCALL DELAY </p><p> CLR 25H.0 </p><p> LJMP DISPLAY1 </p><p> BZ: CLR P3.7 </p><p> MOV R7,#250 </p><p> T2: MOV R6,#124 </p><
85、;p> T3: DJNZ R6,T3</p><p> DJNZ R7,T2 SETB P3.7 </p><p><b> RET </b></p><p> LOOKATIME:LCALL DISPLAY2 </p><p> MM: JB P1.3,LOOKATIME ;判斷按鍵 P1.3 是否按下
86、</p><p> MOV C,P1.3 </p><p><b> JC MM </b></p><p> LCALL DELAY1 </p><p> MOV C,P1.3 </p><p><b> JC MM</b></p><p>
87、<b> STOP3:</b></p><p> MOV C,P1.3 </p><p> JNC STOP3 </p><p> LCALL DELAY1</p><p> MOV C,P1.3 </p><p> JNC STOP3 </p><p><
88、;b> LJMP LOOP</b></p><p> DELAY1: MOV R4,#14H </p><p> DL001: MOV R5,#0FFH </p><p> DL111: DJNZ R5,DL111</p><p> DJNZ R4,DL001</p><p><b&g
89、t; RET</b></p><p> ×××××時(shí)間運(yùn)行程序×××××</p><p> TIME: PUSH ACC </p><p><b> PUSH PSW </b></p><p> MO
90、V TH0,#03CH </p><p> MOV TL0,#0B0H </p><p> DJNZ R2,RET0</p><p> MOV R2,#14H </p><p> MOV A,20H </p><p><b> CLR C </b></p><p>
91、; INC A ;秒鐘自加 1</p><p> CJNE A,#3CH,GO1 ;判斷秒鐘是否到 60 秒?</p><p> MOV 20H,#0 ;到 60 秒復(fù)位</p><p> MOV 30H,#0 </p><p> MOV 31H,#0 </p><p> MOV A,21H <
92、;/p><p> INC A ;分鐘自加 1</p><p> CJNE A,#3CH,GO2 ;判斷分鐘是否到 60 分?</p><p> MOV 21H,#0H ; 到 60 分復(fù)位</p><p> MOV 32H,#0 </p><p> MOV 33H,#0</p><p>
93、; MOV A,22H </p><p> INC A ;時(shí)鐘自加 1</p><p> CJNE A,#18H,GO3 ;判斷時(shí)鐘是否到 24 時(shí)?</p><p> MOV22H,#00H ;到 24 時(shí)復(fù)位</p><p> MOV 34H,#0</p><p> MOV 35H,#0</p
94、><p> AJMP RET0 </p><p> GO1: MOV 20H,A</p><p> MOV B,#0AH </p><p><b> DIV AB </b></p><p> MOV 31H,A </p><p> MOV 30H,B<
95、/p><p> AJMP RET0 </p><p> GO2: MOV 21H,A </p><p> MOV B,#0AH</p><p><b> DIV AB </b></p><p> MOV 33H,A </p><p> MOV 32H,B <
96、;/p><p> AJMP RET0 </p><p> GO3: MOV 22H,A </p><p> MOV B,#0AH </p><p> MOV 35H,A </p><p> MOV 34H,B </p><p> AJMP RET0</p><
97、;p> RET0: POP PSW ;恢復(fù)現(xiàn)場(chǎng)</p><p><b> POP ACC </b></p><p><b> RETI</b></p><p> ×××××運(yùn)行部分×××××</p>
98、<p> DISPLAY1: MOV R0,#30H</p><p> MOV R3,#0FEH </p><p><b> MOV A,R3</b></p><p> PLAY1: MOV P2,A </p><p> MOV A,@R0</p><p> MOV
99、 DPTR,#DSEG1 ;表首地址送 DPTR</p><p> MOVC A,@A+DPTR </p><p><b> MOV P0,A</b></p><p> LCALL DL1 </p><p> MOV P2,#0FFH ;送高電平到 P2</p><p> MOV R
100、L A,R3 </p><p><b> RL A </b></p><p> JNB ACC.6,LD1</p><p><b> INC R0</b></p><p><b> MOVR3,A </b></p><p> LJMP PLA
101、Y1 ;調(diào)用查表程序</p><p><b> LD1: RET</b></p><p> DISPLAY2: PUSH ACC ;現(xiàn)場(chǎng)保護(hù)</p><p><b> PUSH PSW </b></p><p> MOV R0,#36H </p><p> MOV
102、 R3,#0FBH </p><p><b> MOV A,R3</b></p><p> PLAY2: MOV P2,A </p><p> MOV A,@R0 </p><p> MOV DPTR,#DSEG1;表首地址送 DPTR</p><p> MOVC A,@A+DPTR
103、;查 ASCII 特碼</p><p> MOV P0,A;查表結(jié)果送 A</p><p><b> LCALL DL1</b></p><p> MOV P2,#0FFH ;送高電平到 P2</p><p> MOV A,R3 </p><p><b> RL A &l
104、t;/b></p><p> JNB ACC.6,LD2</p><p><b> INC R0 </b></p><p> MOV R3, A</p><p> LJMP PLAY2 </p><p> LD2: POP PSW ;恢復(fù)現(xiàn)場(chǎng)</p><p
105、><b> POP ACC</b></p><p><b> RET</b></p><p> ×××××延時(shí)時(shí)間×××××</p><p> DL1: MOV R7,#02H ;延時(shí)時(shí)間</p>
106、;<p> DL: MOV R6,#0200H </p><p> DL6: R6,$ </p><p> DJNZ R7,DL</p><p><b> RET </b></p><p> DSEG1:DB 3FH,06H,5BH,4FH,66H </p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)—定時(shí)鬧鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)—定時(shí)鬧鐘設(shè)計(jì)
- 單片機(jī)定時(shí)鬧鐘課程設(shè)計(jì)
- 定時(shí)鬧鐘—單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---定時(shí)鬧鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--定時(shí)鬧鐘設(shè)計(jì)
- 課程設(shè)計(jì)--單片機(jī)定時(shí)鬧鐘設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)---定時(shí)鬧鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——定時(shí)鬧鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)單定時(shí)鬧鐘系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)---- lcd電子定時(shí)鬧鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的定時(shí)鬧鐘設(shè)計(jì)
- 基于單片機(jī)的定時(shí)鬧鐘課程設(shè)計(jì)
- c51單片機(jī)課程設(shè)計(jì)定時(shí)鬧鐘
- 單片機(jī)課程設(shè)計(jì)—帶有l(wèi)cd的定時(shí)鬧鐘
- 單片機(jī)課程設(shè)計(jì)--定時(shí)鬧鐘報(bào)告書(shū)
- 單片機(jī)課程設(shè)計(jì)--帶有l(wèi)cd顯示的定時(shí)鬧鐘
- 單片機(jī)課程設(shè)計(jì)(電子鬧鐘)
- 單片機(jī)課程設(shè)計(jì)--定時(shí)插座
- 單片機(jī)定時(shí)鬧鐘畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論