第一篇:電子時鐘 單片機實習報告(寫寫幫推薦)
桂林理工大學博文管理學院
實習名稱:專業班級:學生姓名:指導老師:實習時間:
實習報告
單片機應用實踐
學號:
2015年12月14日至 2016年1月4日
題目名稱:基于MSP430G2231實現的簡易電子時鐘
摘要:單片計算機即單片微型計算機。由 RAM ,ROM,CPU構成,定時,計數和 多種接口于一體的微控制器。它體積小,成本低,功能強,廣泛應用于智能產業和工業自動化上。
多功能數字鐘的應用非常普遍,由單片機作為數字鐘的核心控制器,通過它的時鐘信號 進行實現計時功能,將其時間數據經單片機輸出,利用顯示器顯示出來。本系統利用單片機實現其具有鬧鐘、校時、開關數碼管顯示等功能的數字時鐘.是以單片機MSP430G2553為核心元件同時采用四位一體的共陰數碼管同時顯示“時、分、秒的低功耗簡易裝置,顯示極具人性化。另外具有校時功能,鬧鐘功能和節電保護功能。利用單片機實現的數字時鐘具有編程靈活,便于功能的擴充等優點。
一、引言:
1.電子時鐘的簡介
1957年,Ventura發明了世界上第一個電子表,從而奠定了電子時鐘的基礎,電子時鐘開始迅速發展起來。現代的電子時鐘是基于單片機的一種計時工具,采用延時程序產生一定的時間中斷,用于一秒的定義,通過計數方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能,是人民日常生活補課缺少的工具。
2.電子時鐘的基本特點
現在高精度的計時工具大多數都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術,因此走時精度高,穩定性好,使用方便,不需要經常調試,數字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。3.數碼管的工作原理
數碼管是一種把多個LED顯示段集成在一起的顯示設備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負極,又稱為負極。通常的數碼管又分為 8段,即8個LED顯示段,這是為工程應用方便如設計的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數點位段。而多位數碼管,除某一位的公共端會連接在一起,不同位的數碼管的相同端也會連接在一起。即,所有的A段都會連在一起,其它的段也是如此,這是實際最常用的用法。數碼管顯示方法可分為靜態顯示和動態顯示兩種。靜態顯示就是數碼管的8段輸入及其公共端電平一直有效。動態顯示的原理是,各個數碼管的相同段連接在一起,共同占用8 位段引管線;每位數碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個數碼管公共端加有效信號,在此同時給出該數碼管加有效的數據信號,當全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來。
二、系統框圖
根據設計要求與設計思路,確定該系統的設計方案,上圖為該系統設計方案的硬件電路設計框圖。硬件電路由8部分組成,即按鍵輸入電路、單片機、時鐘電路、復位電路、LED顯示器段碼驅動電路、LED顯示器位碼驅動電路、4位顯示器電路和蜂鳴器電路。
三、硬件部分:
如圖所示,在MCU選擇上,我選擇了20引腳的MSP430G2553,它是16位單片機,它有以下特點:低工作電壓:1.8~3.6V、超低功耗:活動模式:280UA(1MHZ,2.2V);待機模式 :0.5UA;掉電模式 :(RAM數據保持)0.1UA。有5種節電模式;從待機到喚醒的響應時間不超過1us;10位A/D轉換器;(帶有內部參考源、采樣保持,最大采樣率200Ks/s);16位精簡指令結構(RISC),6.25ns指令周期;帶有3個捕獲/比較器結構的16位定時器;串行通信可軟件選擇UART/SPI/I2C三種模式;可在線串行編程,不需要外部編程電壓;FLASH存儲器為16KB,RAM為512B。這些功能足夠用來做這款MINI桌面時鐘,我采用了真個P1口作為數碼管的數據端口,P2.0-P2.3為數碼管的選通斷,P2.4和P2.5為按鍵輸入端,XIN和XOUT接32.768KHZ的晶振,所以它的引腳全部用上了,這樣避免了硬件資源浪費。
顯示部分選用了0.28英寸的共陰數帶時鐘碼管,這樣可以滿足尺寸的要求,正好可以利用數碼管上面的秒顯顯示時鐘的活動狀態。
在時鐘產生電路上面并沒有采用DS1302,一是為了減小體積,而是因為采用在MCU外部加32.768KHZ晶振的方式足夠滿足時鐘的需求,因為在MCU內部可以選擇系統的主時鐘為內部時鐘源1MHZ,配置定時器的時鐘源為外部晶振32.768KHZ,16位的定時器足夠滿足定時的精度要求。
按鍵電路采用的是輕觸按鍵開關,經上拉電阻接MCU,按鍵的輸入信號是低電平,一般按鍵在按下和松開時會有抖動現象,可以采用兩種方式消除按鍵抖動,一是采用程序延時,一是采用硬件RS觸發器,后者增加了成本和體積,前者完全可以滿足需求,所以我選擇了軟件消抖。
四、軟件部分:
主函數是必須的,時鐘配置函數需要把主時鐘配置為DCOCLK 1MHZ,定時器時鐘配置為ACLK時鐘,使用外部32.768KHZ時鐘源。端口初始化函數是將各個端口為輸入或者輸出,以及賦初值。
定時器配置函數配置定時器工作在連續計數模式,并打開全局中斷,每20MS產生一次中斷。
在定時器中斷函數中,需要注意的是,讓秒顯每1S閃爍一次的方法是每500ms取反一次,在程序中,用dp取反并配合數碼管數位分解和顯示函數中的switch語句配合使秒顯的閃爍實現。按鍵檢測函數用來檢測按鍵是否被按下,配合其他函數中的程序,賦予按鍵不同的功能。數位分解和數碼管顯示函數,是將產生的時間信息和調整的時間信息實時顯示到數碼管上。
按鍵控制開關顯示是在正常走時狀態下檢測到按鍵按下后,對一個全局變量進行取反,在主函數中判斷這個變量的值而來控制數碼管選通端的開啟或關閉。
五、調試結果及總結:
經過反復的多次檢查硬件與調試,最終該作品的預期功能基本實現。特此總結:首先,對數碼管顯示的工作原理還不夠熟悉。沒有自主檢查元器件的習慣,導致共陽數碼管買成了共陰數碼管,后來又要改原理圖和程序代碼,很大程度上影響了我的實習進度。那么在今后的作品制作中,對元器件的正確性的排查很有必要。其次,在調試過程中遇到數碼管亂顯示和不規律走跳的現象時,不會很好地利用手上的工具對作品進行排查,后來通過詢問實習老師后才找到原因,這在今后的實習也是非常需要注意的地方。隨后,就是按鍵的失效問題,后來經過嚴格的排查,發現接地一端不穩定,導致芯片無法識別按鍵是否被按下,因此按鍵失效。
通過本次的實習,使我收獲良多。不但學習了MSP430G2553這款芯片,還溫習了一遍老師以前講過的數碼管知識等。真干出知識,這句話果然沒錯,接著本次實習學到的知識與經驗,希望在下次實習中做的更好,突破自己!附錄: 原理圖:
PCB圖:
實物圖:
關鍵代碼:
/**********數碼管顯示函數***********/ void xianshi(uchar shi,uchar fen){ P1OUT=0x00;P2OUT&=0xF0;//數碼管清零 uchar s1=0,s2=0,s3=0,s4=0;//定義局部變量
s1=shi/10;s2=shi%10;s3=fen/10;s4=fen%10;//數位分解 P2OUT&=~BIT0;P2OUT|=BIT1;P2OUT|=BIT2;P2OUT|=BIT3;P1OUT=table[s1];__delay_cycles(1000);P2OUT|=BIT0;P2OUT&=~BIT1;P2OUT|=BIT2;P2OUT|=BIT3;switch(dp)//小數點顯示選擇 { case 1:P1OUT=(table[s2]&0x7F);break;case 0:P1OUT=table[s2];break;default:break;} __delay_cycles(1000);P2OUT|=BIT0;P2OUT|=BIT1;P2OUT&=~BIT2;P2OUT|=BIT3;P1OUT=table[s3];__delay_cycles(1000);P2OUT|=BIT0;P2OUT|=BIT1;P2OUT|=BIT2;P2OUT&=~BIT3;P1OUT=table[s4];__delay_cycles(1000);} /************P2.5輸入判斷函數******************/ void IO_INIT(){ if((P2IN&0x20)==0){ __delay_cycles(2);if((P2IN&0x20)==0){ SW++;if(SW==3){SW=0;} } } while((P2IN&0x20)==0);} void IO_INIT2(){ if((P2IN&0x10)==0){ __delay_cycles(2);if((P2IN&0x10)==0){ ac^=1;} } while((P2IN&0x10)==0);} /*********IO口初始化函數********/ void SZ_INIT(){ P1DIR|=0xFF;//配置P1口為輸出 P1OUT|=0xff;//P1口賦初值,輸出0xFF
P2DIR|=0x0F;//配置P2.0、P2.1、P2.2、P2.3為輸出 P2DIR&=0xCF;//配置P2.4、P2.5為輸入 } /****************時鐘調試函數**********************/ void xuanze(){ switch(SW){ case 0: break;case 1: while(SW==1){ _DINT();if((P2IN&0x10)==0){ __delay_cycles(2);if((P2IN&0x10)==0){ bs++;if(bs==60){ bs=0;} } } while((P2IN&0x10)==0);xianshi(as,bs);IO_INIT();} break;case 2:while(SW==2){ _DINT();if((P2IN&0x10)==0){ __delay_cycles(2);if((P2IN&0x10)==0){ as++;dp=0;if(as==24){ as=0;} } } while((P2IN&0x10)==0);xianshi(as,bs);IO_INIT();} break;default:break;} } /*****************定時器配置函數 ****************/ void dingshiqi(){ TA0CCTL0 = CCIE;//打開中斷(Timer0_A3 Capture/Compare Control 0)TA0CCR0 = 10080;//設定計數變量
TA0CTL = TASSEL_2 + MC_3;//定時器選擇時鐘SMCLK,使用模式二連續計數方式 _EINT();//開總中斷 } /***********************主函數*******************/ void main(void){ WDTCTL = WDTPW + WDTHOLD;// 關閉看門狗 SZ_INIT();dingshiqi();IO_INIT();_EINT();//開總中斷 while(1){ IO_INIT();IO_INIT2();P2OUT|=0x30;xuanze();if(bs==0){ BEEP=0X7F;} else BEEP=0x7F;if(ac==1){ xianshi(as,bs);_EINT();} else if(ac==0){ P2OUT|=0x0f;} } }
元器件詳細清單:
參考文獻:
1、張靖武、周靈彬《單片機原理、應用與PROTEUS仿真》。
2、沈建華、楊艷琴《MSP430系列16位超低功耗單片機原理及應用》。
3、童詩白、華成英《模擬電子技術基礎》。
第二篇:單片機課程設計報告,單片機電子時鐘
題 目:單片機課程設計報告
目 錄
一、設計目的二、程設計具體要求
三、單片機發展簡史
四、8051單片機系統簡介
五、8051單片機內部定時器/計數器簡介
六、程序電路
七、程序流程
八、程序代碼
九 實驗總結-要求寫出完整的論文以及心得體會
十 參考資料及小結
原 文 :一.目的1. 進一步熟悉和掌握8051單片機的結構及工作原理。
2. 掌握單片機的接口技術及相關外圍芯片的外特性,控制方法。
3. 通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數的計算方法。
4. 通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術。
5. 通過完成一個包括電路設計和程序開發的完整過程,使學生了解開發一單片機應用系統的全過程,為今后從事相應打下基礎。
二.課程設計的體要求
a)原理圖設計。
1. 原理圖設計要符合項目的工作原理,連線要正確,端了要不得有標號。
2. 圖中所使用的元器件要合理選用,電阻,電容等器件的參數要正確標明。
3. 原理圖要完整,CPU,外圍器件,擴器接口,輸入/輸出裝置要一應俱全。
b)程序調計
1. 根據要求,將總體項能分解成若干個子功能模塊,每個功能模塊完成一個特定的功能。
2. 根據總體要求及分解的功能模塊,確定各功能模塊之間的關系,設直出完整的程序流程圖。c)程序調試將設計完的程序輸入,匯編,排除語法錯誤,生成*OBJ文件。
1. 按所設計的原理圖,在實驗平臺上連線,檢查無誤。
2. 將匯編后生成的*OBJ文件傳送到實驗裝置的,執行該程序,檢查該程序、是否達到設計要求,若未達
到,修改程序,直到達到要求為止,d)說明書
1. 原理圖設計說明
簡要說明設計目的,原理圖中所使用的元器件功能及在圖中的作用,各器件的工作過程及順序。
2. 程序設計說明
對程序設計總體功能及結構進行說明,對各子模塊的功能以及各子模塊之間的關系作較詳細的描述。
3. 畫出工作原理圖,程序流程圖并給出程序清單。
目前,單片機已廣泛應用到圖民經濟建設和日常生活的許多領域,成為測控技術現代化必不可少的重要工具。
單片機電子時鐘
作者:佚名來源:本站原創點擊數:
491更新時間:2007年06月27日
DS1302是Dallas公司生產的一種實時時鐘芯片。它通過串行方式與單片機進 行數據傳送,能夠向單片機提供包括秒、分、時、日、月、年等在內的實時時間
信息,并可對月末日期、閏年天數自動進行調整;它還擁有用于主電源和備份電源的雙電源引腳,在主電源關閉的情況下,也能保持時鐘的連續運行。另外,它還能提供31字節的用于高速數據暫存的RAM。鑒于上述特點,DS1302已在許多單片機系統中得到應用,為系統提供所需的實時時鐘信息。
一、DS1302的主要特性
1.引腳排列
500)this.width=500 border=0>
圖1DS1302引腳排列圖
DS1302的引腳排列如圖1所示,各引腳的功能如下:
X1,X2——32768Hz晶振引腳端;
RST——復位端;
I/O——數據輸入/輸出端;
SCLK——串行時鐘端;
GND——地;
VCC2,VCC1——主電源與后備電源引腳端。
2.主要功能
DS1302時鐘芯片內主要包括移位寄存器、控制邏輯電路、振蕩器、實時時鐘電路以及用于高速暫存的31字節RAM。DS1302與單片機系統的數據傳送依靠RST,I/O,SCLK三根端線即可完成。其工作過程可概括為:首先系統RST引腳驅動至高電平,然后在作用于SCLK時鐘脈沖的作用下,通過I/O引腳向DS1302輸入地址/命令字節,隨后再在SCLK
時鐘脈沖的配合下,從I/O引腳寫入或讀出相應的數據字節。因此,其與單片機之間的數據傳送是十分容易實現的。
二、時鐘的產生及存在的問題
(1)在實際使用中,我們發現DS1302的工作情況不夠穩定,主要表現在實時時間的傳送有時會出現誤差,有時甚至整個芯片停止工作。我們對DS1302的工作電路進行了分析,其與單片機系統的連接如圖2所示。從圖中可以看出,DS1302的外部電路十分簡單,惟一外接的元件是32768Hz的晶振。通過實驗我們發現:當外接晶振電路振蕩時,DS1302計時正確;當外接晶振電路停振時,DS1302計時停止。因此,我們認為32768Hz晶振是造成 DS1302工作不穩定的主要原因。
500)this.width=500 border=0>
圖2DS1302與單片機系統的連接圖
(2)DS1302時鐘的產生基于外接的晶體振蕩器,振蕩器的頻率為32768Hz。該晶振通過引腳X1、X2直接連接至DS1302,即DS1302是依靠外部晶振與其內部的電容配合來產生時鐘脈沖的。由于DS1302在芯片本身已經集成了6pF的電容,所以,為了獲得穩定可靠的時鐘,必須選用具有6pF負載電容的晶振。
然而,許多人在選用晶振時僅僅注意了晶振的額定頻率值,而忽視了晶振的負載電容大小,甚至連許多經銷商也不能提供所售晶振的負載電容。所以即使在使用中選用了符合32768Hz的晶振,但如果該晶振的負載電容與DS1302提供的6pF不一致時,就會影響晶振的起振或導致振蕩頻率的偏移,出現上述在應用中的問題。
三、利用輔助電容實現負載匹配
(1)當所選的晶振負載電容不是6pF時,可以采用增加輔助電容的方法提高或降低DS1302振蕩器的電容性負載,使之與晶體所需的電容值匹配。如果已知晶體的負載電容為CI,若CI<6pF,則可以增加一個并聯電容CS以產生所需的總負載電容CI,即CI=6pF+CS;若CI>6pF,則可以在晶體的一端增加一個串聯電容CS,以產生所需的負載電容CI,即1/CI=1/6pF+1/CS,通過計算即可得出應增加的輔助電容大小。輔助電容的接法如圖3所示。
圖3CS連接電路圖
(2)在使用前對晶體的負載電容并不知道的情況下,通過測定晶體振蕩頻率的方法可以確定該晶體的負載電容。
對于晶體振蕩器來說,其振蕩頻率與負載電容之間的關系是確定的。以本文討論的DS1302使用的32768Hz晶振為例:當它工作于所要求的負載電容時,能較準確地產生 32768Hz的頻率;當它的負載電容小于6pF時,其振蕩頻率會正向偏移;當它的負載電容大于6pF時,其振蕩頻率就會負向偏移。因此,對于未知負載電容的晶體應首先采用實驗的方法,在其兩端加入輔助電容使晶體起振,然后用頻率計測出振蕩頻率。若測得頻率大于32768Hz,說明負載電容偏小;若測得頻率小于32768Hz,說明負載電容偏大。對輔助電容逐步調整,最終使振蕩頻率盡可能接近32768Hz,則此時晶體端所接負載電容的總和就是適合該晶體的負載電容。
結論
以上方法經我們在實際工作中多次使用,證明確實有效。它放寬了DS1302在使用中對晶振的條件要求,增強了DS1302在工作中的穩定性,對DS1302更廣泛地應用具有積極的意義。
華東交大理工學院_2007-2008 _學年第_ 一 學期
課程設計安排計劃
班級:_05應電__課程:_單片機原理及接口技術_
一、課程設計題目:數碼管時鐘電路的設計
二、設計內容及要求:
LED數碼管時鐘電路24小時計時方式,時、分、秒用6位數碼管顯示。選用AT89C2051單片機,12MHZ晶振,6位共陽數碼管,要求有調時功能,其他功能學生可自由發揮。
三、設計方法與步驟:
1.設計硬件原理電路,選擇元器件、確定其參數。
2.設計印刷電路板電路(用面包板做)、焊接硬件電路。
3.設計匯編語言程序,調試硬件電路和程序。
4.編寫課程設計報告。
四、設計時間安排:
1.第十九周:周一、二,設計硬件原理電路,選擇元器件、確定其參數。
周三、四、五,設計印刷電路板電路(用面包板做)、焊接硬件電路。
2.第二十周:周一、二,設計匯編語言程序。
周三、四,燒錄程序,調試硬件電路和程序。
周五,編寫課程設計報告。
指導老師: 楊威
時間: 2007、1
第三篇:單片機課程設計電子時鐘說明書
《電子時鐘》 課程設計說明書
專業班級:
11級自動化<3>班
姓
名: 歐陽明長 李徐軍
陳龍
指導教師:
郭
玉
設計時間:
2013--12--17
物理與電氣工程學院
2013年12月17日
摘要
電子鐘在生活中應用非常廣泛,而一種簡單方便的數字電子鐘則更能受到人們的歡迎。所以設計一個簡易數字電子鐘很有必要。本電子鐘采用STC公司的AT89S52單片機為核心,使用12MHz 晶振與單片機AT89S52 相連接,通過軟件編程的方法實現以24小時為一個周期,同時8位7段LED數碼管(兩個四位一體數碼管)顯示小時、分鐘和秒的要求,并在計時過程中具有定時功能,當時間到達提前定好的時間進行蜂鳴報時。該電子鐘設有四個按鍵S12、S13、S14和S15鍵,進行相應的操作就可實現小時調整、分鐘調整和啟停功能。具有時間顯示、整點報時、校正等功能。走時準確、顯示直觀、運行穩定等優點。
關鍵詞 電子鐘;AT89S52;硬件設計;軟件設計
目錄 設計課題任務、功能要求說明及方案介紹……………………………………3 1.1 設計課題任務………………………………………………………………3 1.2 功能要求說明………………………………………………………………3 1.3 設計總體方案介紹及原理說明……………………………………………3 2 設計課題硬件系統的設計………………………………………………………3 2.1 設計課題硬件系統各模塊功能簡要介紹…………………………………4 3 設計課題軟件系統的設計………………………………………………………4 3.1 設計課題軟件系統各模塊功能簡要介紹…………………………………4 3.2 設計課題軟件系統程序流程框圖…………………………………………4 4 設計結論、仿真結果、誤差分析………………………………………………7 4.1 設計課題的設計結論及使用說明…………………………………………4 4.2 設計課題的誤差分析………………………………………………………7 4.3 設計體會……………………………………………………………………7 參考文獻 ……………………………………………………………………………7 附 錄 ……………………………………………………………………………8 1 設計課題任務、功能要求說明及方案介紹
1.1 設計課題任務
設計一個具有特定功能的電子鐘。具有啟停、時間顯示、報時等功能。并有時間設定,時間調整功能。
1.2 功能要求說明
設計一個具有特定功能的電子鐘。電子鐘上電從12時0分0秒開始運行,按下啟停鍵進入時鐘運行狀態;再按啟停鍵暫停運行,并且再次按下時能夠在原來的時間上繼續計時;運行到整點是能夠自動響鈴,通過外部按鍵可以進行實踐的調整,并且在運行時相應的LED燈等同步亮滅。
1.3 設計課題總體方案介紹及工作原理說明
本電子鐘主要由單片機、4*4獨立鍵盤、顯示接口電路和電源電路構成,設 計課題的總體方案如圖1.1所示:
圖1.1 總體設計方案圖
本電子鐘的所有的程序、參數均存放在AT89S52的內部RAM中。鍵盤采用動態掃描方式。利用單片機定時器產生定時效果通過編程形成數字鐘效果,再利用數碼管動態掃描顯示單片機內部處理的數據,同時通過端口讀入當前外部控制狀態來改變程序的不同狀態,實現不同功能。設計課題硬件系統的設計 2.1 設計課題硬件系統各模塊功能簡要介紹
本設計的硬件系統主要采用以下基本模塊來實現,單片機最小系統模塊,輸入模塊、輸出模塊、電源模塊。
(1)單片機最小系統模塊:包括8位微控制器AT89S52;電源復位電路;晶振電路。本模塊AT89S52系統控制核心,單片機系統復位由電源上電完成。
(2)輸入模塊:本模塊共用到了4個按鍵(S12、S13、S14、S15),分別完成時間的調整、啟停。1個電源開關(具有復位功能)。
(3)輸出模塊:本次設計顯示為8位,采用兩個四位一體數碼管(共陽極)8個PNP三極管驅動,并且還有蜂鳴器模塊。(4)電源模塊:USB供電及下載器。
設計課題軟件系統的設計
3.1 設計課題軟件系統個模塊功能簡要介紹
本設計的軟件系統主要采用以下基本模塊來實現,主程序、中斷服務程序、鍵盤輸入程序模塊、數碼管及其驅動模塊和延時模塊。
主程序:主要是用于對輸入信號的處理、輸出信號的控制和對各個功能程序模塊的控制。
中斷服務程序:主要是用于電子鐘的1S延時。鍵盤輸入程序模塊:主要是用于完成特定時間調整。
數碼管及其驅動模塊:主要是用于驅動數碼管及利用數碼管顯示時間。延時模塊:短延時用于數據的動態顯示,按鍵的判斷。
3.2 設計課題軟件系統程序流程框圖
系統程序采用匯編語言按模塊化方式進行設計,然后通過Keil軟件開發平臺將程序轉變成可燒寫文件。
主循環程序框圖如3.1所示;判斷進位程序如3.2所示; 計時一秒中斷程序如3.3所示; 啟停中斷框圖如3.4所示; 延時子程序框圖如3.5所示; 圖3.1 主循環程序 5
圖3.2 判斷進位子程序
圖3.3 計時一秒中斷
圖3.4 啟停中斷程序
圖3.5 延時子程序 設計結論、運行結果、誤差分析
4.1 設計課題的設計結論及使用說明
本設計為基于單片機的電子鐘的設計。剛開始,我們很多地方理不清頭緒,無從下手,只能從平時的實驗中得到一些方法,但通過認真研究設計課題,找書上網查資料,確定基本設計方案,對所用芯片功能進行查找、調試,設計中有四個按鍵,其中S12為分鐘加1調整,S13為小時加1調整,S14為外部響鈴按鍵,S15為啟停按鍵,另外當整點時間到時,蜂鳴器報警。這樣的結果與設計基本相符,基本上完成了設計任務。
4.2 設計課題的誤差分析
該電子鐘在運行中存在一定的誤差,誤差產生有三種原因,首先是采用的計時利用中斷來實現。而當電子鐘運行時間1秒時,又得去執行中斷程序,這個過程需要幾個機器周期。第二,硬件系統有一定的影響。第三,設計用到12MHz晶振,計算是滿20次為一秒鐘,實際會慢很多。
4.3 設計體會
本次課程設計,讓我們三人受益匪淺,認識到了自己的許多缺點和不足,使我深深的感受到了理論聯系實際的必要性及其重要性。
參考文獻
[1] 李全利.單片機原理與接口技術[M].高等教育出版社.2009.1.[2] 劉文秀.單片機應用系統仿真的研究[J].現代電子技術.2005, 第286 期.[3] 胡學海.單片機原理及應用系統設計[M],北京:電子工業出版社,2005.[4] 李廣第.單片機基礎[M],北京航空航天大學出版社,2006.7.附錄
程序代碼為:
ORG 0000H LJMP START ORG 0003H LJMP INTT0 ORG 0013H LJMP INTT1 ORG 000BH LJMP INTT ORG 0100H START:SETB EA SETB ET0 SETB IT0 SETB EX0 SETB IT0 SETB EX1 SETB IT1 MOV R7,#16 MOV TMOD,#01H MOV TH0,#15536/256 MOV TL0,#15536 MOD 256 MOV R0,#12 MOV R1,#0 MOV R2,#0 MOV R6,0FEH CLR TR0 L1:
LCALL PANDUAN;*****************
;記秒
MOV A,R2
MOV B,#10
DIV AB
MOV P2,#0FDH
LCALL XIANSHI
LCALL DELAY
MOV A,B
MOV P2,#0FEH
LCALL XIANSHI
LCALL DELAY;***************
;調分
JB P3.0,L40 L41:JB P3.0,L42 LJMP L41 L42:INC R1
;計分
L40: MOV A,R1
MOV B,#10
DIV AB
MOV P2,#0EFH
LCALL XIANSHI
LCALL DELAY
MOV A,B
MOV P2,#0F7H
LCALL XIANSHI
LCALL DELAY
MOV P2,#0FBH
MOV P0,#0BFH
LCALL DELAY;******************
;調時
JB P3.1,L45 L47:JB P3.1,L46 LJMP L47 L46:INC R0
;計時
L45: MOV A,R0
MOV B,#10
DIV AB
MOV P2,#07FH
LCALL XIANSHI
LCALL DELAY
MOV A,B
MOV P2,#0BFH
LCALL XIANSHI
LCALL DELAY
MOV P2,#0DFH
MOV P0,#0BFH
LCALL DELAY
;*************************;判斷5分鐘鬧鈴
CJNE R1,#5,L51
CLR P3.5
MOV P1,R6
MOV A,R6
RL A
MOV R6,A
LJMP L52 L51:CJNE R1,#6,L52
SETB P3.5 L52: LJMP L1
;***************;執行1秒鐘
INTT:DJNZ R7,L33
MOV R7,#16
INC R2
MOV P1,R6
MOV A,R6
RL A
MOV R6,A L33:RETI;*********************
;外部中斷
INTT0:CPL P3.5
MOV P1,#0
RETI;***********************
;啟停功能
INTT1:MOV P1,#0
LCALL DELAY
JB P3.3,L97
CPL TR0
L97: RETI;**********************
;顯示子程序
XIANSHI:MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
RET
;**********************
;延時子程序
DELAY:MOV R3,#20
DEL1:MOV R4,#50
DEL2:DJNZ R4,DEL2
DJNZ R3,DEL1
RET
;*******************
;判斷進位子程序
PANDUAN:
CJNE R2,#60,L31
MOV R2,#0
INC R1
L31:CJNE R1,#60,L32
MOV R1,#0
INC R0
L32:CJNE R0,#24,L35
MOV R0,#0
L35:RET
;********************
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
END
第四篇:單片機電子時鐘課程設計報告
青島理工大學琴島學院 課題名稱:單片機原理及應用課程設計學院:
專業班級:
學號:
學生:
指導教師:
設 計 報 告
第五篇:單片機電子實習報告
南 京 工 業 大 學
電 子 實學生姓名:學
號:專
業:班
級:
** ** ** ** 2011年9月
習(單片機和電位表)
一、實習時間:2011-8-29~2011-09.09
二、實習地點:**
三、指導老師:**
四、實習目的:
通過電子實習,使我了解電路設計軟件。同時實習使我獲得了關于原理圖和PCB圖以及萬用表的的知識,培養了手工動手能力,提高了實踐意識,增強了對電子產品的認知。.具體如下:
1.了解電路設計軟件,并能繪制簡單電路原理圖和PCB圖。2.熟悉手工焊錫的常用工具的使用及其維護與修理。
3基本掌握手工電烙鐵的焊接技術,能夠獨立的完成簡單電子產品的安裝與焊接。熟悉電子產品的安裝工藝的生產流程。
4.熟悉印制電路板設計的步驟和方法,熟悉手工制作印制電板的工藝流程,能夠根據電路原理圖,元器件實物設計并制作印制電路板。
5.熟悉常用電子器件的類別、型號、規格、性能及其使用范圍,能查閱有關的電子器件圖書。
6.能夠正確識別和選用常用的電子器件,并且能夠熟練使用普通萬用表和數字萬用表。
7.了解電子產品的焊接、調試與維修方法。
五、實習儀器和元器件
焊接及輔助器件:電烙鐵,烙鐵架
鑷子,焊錫絲 電位表電子器件:電阻,電位器
二極管,保險絲夾
電容,保險絲
連接線,短接線
線路板,面板
表頭,檔位開關旋鈕,電刷旋鈕,電位器旋鈕
晶體管插座,后蓋
螺釘,彈簧
鋼球,電池夾
銘牌,標志
V型電刷
晶體管插片
輸入插管,表棒 單片機電子器件:LED插針,晶振 2個
電解電容
2個
100u
3個
10u
排阻
1個
472(4.7k)
1個
102(1k)
電位器
1個
103(10k)
1個
102(1k)
蜂鳴器
1個
排針
7805
1個
USB插座
CPU插座
電源插座
排針
LED晶體管
2個
繼電器
小排阻
21個
六、實習內容 1.單片機原理圖
2.電子元器件常識及其鑒別
(1).二極管極性的判斷
判斷二極管極性可用實習室的萬用表,將紅表棒插在“+”,黑表棒插在“—” 將二極管搭接在表棒兩端,關察萬用表指針的偏轉情況,如果指針偏向右邊,顯示阻值很小,表示黑正紅負,反之,紅正黑負。
(2).用萬用表判斷二極管極性的原理
二極管正向導通,反向截止(3)電解電容極性的判斷
電解電容側面一般有標記,如果沒有標明正負極,可通過引腳的長短來判斷,長腳為正極,短腳為負極。如果已經剪短,并且沒有標明正負極。對于這些不知道極性的電解電容可用萬用表的電阻擋測量其極性。我們知道只有電解電容的正極接電源正(電阻擋時的黑表筆),負端接電源負(電阻擋時的紅表筆)時,電解電容的漏電流才小(漏電阻大)。反之,則電解電容的漏電流增加(漏電阻減小)。
測量時,先假定某極為“+”極,讓其與萬用表的黑表筆相接,另一電極與萬用表的紅表筆相接,記下表針停止的刻度(表針靠左阻值大),然后將電容器放(既兩根引線碰一下),兩只表筆對調,重新進行測量。兩次測量中,表針最后停留的位置靠左(阻值大)的那次,黑表筆接的就是電解電容的正極。色環的認
有效數字 數量級 允許偏差(℅)±10 ±5 —
±1
±2
—
—
±0.5
±0.25
±0.1
+
5—
0-20
±20 10^-2 10^-1 10^0 ^1
10^2
10^3
10^4
10^5
10^6
10^7
10^8 ^9
— — — 0
— 銀 金 黑
棕
紅
橙
黃
綠
藍
紫
灰
白
無
(4)識
3.焊接技術與技巧
手工焊接是傳統的焊接方法,雖然批量電子產品生產已較少采用手工焊接了,但對電子產品的維修、調試中不可避免地還會用到手工焊接。焊接質量的好壞也直接影響到維修效果。手工焊接是一項實踐性很強的技能,在了解一般方法后,要 多練;多實踐,才能有較好的焊接質量。
手工焊接握電烙鐵的方法,有正握、反握及握筆式三種。焊接元器件及維修電路板時以握筆式較為方便。
手工焊接一般分四步驟進行。(1)準備焊接
清潔被焊元件處的積塵及油污,再將被焊元器件周圍的元器件左右掰一掰,讓電烙鐵頭可以觸到被焊元器件的焊錫處,以免烙鐵頭伸向焊接處時燙壞其他元器件。焊接新的元器件時,應對元器件的引線鍍錫。
(2)元件引腳的彎制成形
左手用鑷子緊靠電阻的本體,夾緊元件的引腳,使引腳的彎折處,距離元件的本體有兩毫米以上的間隙。左手夾緊鑷子,右手食指將引腳彎成直角。注意:不能用左手捏住元件本體,右手緊貼元件本體進行彎制,如果這樣,引腳的根部在彎制過程中容易受力而損壞。元器件做好后應按規格型號的標注方法進行讀數,將膠帶輕輕貼在紙上,把元件插入,貼牢,寫上原件規格型號值,然后將膠帶貼緊,備用。注意不能將元器件的引腳剪太短
(3)加熱焊接:將沾有少許焊錫和松香的電烙鐵頭接觸被焊元器件約幾秒鐘。若是要拆下印刷板上的元器件,則待烙鐵頭加熱后,用手或銀子輕輕拉動元器件,看是否可以取下。
4.萬用表焊接、組裝與調試
(1).根據參考資料,認識、熟悉萬用表所用元件。
(2).利用測量工具對給定的電阻進行測量,記錄其阻值,并將電阻分開放 置(或利用色環讀出電阻也可以)。
(3).根據萬用表工作原理,按照實驗參考圖,將元件按照不同的方法逐一焊接在PC板上方,并檢查焊點,確保焊接無誤。特別是二極管具有正負極,一定不要焊錯
(4).利用電烙鐵用導線將表頭,電池線與主板焊接在一起
(5).將元件多余的引腳去掉,美化PC板。.(6).安裝表盤、電池,合上底蓋固定。裝上表筆,完成萬用表的組裝。
(7).對組裝好的萬用表進行測試,記錄其精度,調試并縮小誤差、實習結果及分析。組裝好的萬用表測試結果顯示在正常誤差范圍之內,實驗成功: 組裝完成后的萬用表在實際測量過程中存在一定誤差,不過跟實驗室常用的萬用表誤差很小,在允許的范圍以內。經過調校,雖然跟實際測量效果仍有誤差,但是和常用萬用表比起來基本不存在誤差,可是說實驗結果令人滿意,達到了預期要求。
5.51開發板套件焊接
(1)焊接原則:
先焊小元件,在焊大元件;先焊中間元件,再焊外圍器件。小個子組件有:電阻.晶振;
中間個子組件:瓷片電容.獨石電容.波段開關s1.電解電容.按鍵.發光二極管.耳機座.芯片座(焊接的時候不要將 芯片插入)
大個子組件:排針.接座.電位器 2.焊接順序:按照下面所示
LED插針,晶振 2個
電解電容
2個
100u
3個
10u
排阻
1個
472(4.7k)
1個
102(1k)
電位器
1個
103(10k)
1個
102(1k)
蜂鳴器
1個
排針
7805
1個
USB插座
CPU插座
電源插座
排針
LED晶體管
2個
繼電器
小排阻
21個 3.焊接結束后
5.51開發板套件焊接
(1)焊接原則:
先焊小元件,在焊大元件;
先焊中間元件,再焊外圍器件。小個子組件有:電阻.晶振;
中間個子組件:瓷片電容.獨石電容.波段開關s1 電解電容.按鍵.發光二極管.耳機座.芯片座(焊接的時候不要將 芯片插入)
大個子組件:排針.接座.電位器
(2).焊接順序:按照下面所示 LED插針
晶振 2個
電解電容 2個 100u 3個 10u 排阻 1個 472(4.7k)1個 102(1k)電位器 1個 103(10k)1個 102(1k)
蜂鳴器 1個
排針
7805 1個 USB插座 CPU插座
電源插座
排針 LED晶體管 2個
繼電器
小排阻 21個(3).焊接結束后
1.剪掉已焊接組件多余的引腳。
2.在焊接集成電路插座前,一定先檢查插座的腳是否插入焊孔內,確定無誤后再焊接
3.蜂鳴器.電解電容.發光二極管元件要先焊接兩條插腳,并區分正.負極,然后插入電路板上再焊接。
(4).將已燒錄好的芯片插在插座上,用萬用表檢測主要焊點焊接牢固,確定電路不要正負極短路。電源測試點電壓:5V 接上電源,板上功能運行正常。
如果發現有測試點電壓沒有達到要求,按如下步驟檢測:
觀察是否有組件漏掉
電解電容的方向是否弄錯
根據電路原理圖檢查電阻電容的值是否正確
七、實習結果 ******* 8
八、實習的感受和總結
通過兩周的電子實習,我認識到了實踐聯系理論的重要性,當遇到實際問題時,特別需要認真思考,用所學的知識,一步步探索,就可以解決遇到的很多問題的。這次的內容包括電路原理圖的繪制,原理圖的設計,pcb圖的生成,萬用電表電路,單片機電路的焊接。本次實習的目的主要是使我們對電子元件及電路板制作工藝有一定的感性和理性認識;對自動化等方面的專業知識做進一步的理解;培養和鍛煉我們對焊接的實際動手能力,使我們的理論知識與實踐充分地結合,作到不僅具有專業知識,而且還具有較強的實踐動手能力,能分析問題和解決問題的高素質人才,為以后的順利就業作好準備。我們雖然學了很多的有關電路的知識,但是我們的實習卻很少涉及這方面的內容,例如上學期的金工實習,而這一次的實習卻讓我對電子方面有深刻認識,雖然沒有多少東西要我們去想,我們要做的卻很多,好多東西看起來十分簡單,一看電器元件都懂,但沒有親自去做它,你就不會懂理論與實踐是有很大區別的,看一個東西簡單,但它在實際操作中就是有許多要注意的地方,有些東西也與你的想象不一樣,我們這次的實驗就是要我們跨過這道實際和理論之間的鴻溝。不過,通過這個實驗我們也發現有些事看似容易,在以前我是不敢想象自己可以獨立一些,不過,這次實驗給了我這樣的機會,現在我可以獨立的做出單片機和萬用電表。
這次電子實習讓我有很大收獲,第一,通過電工電子實習課正是學習如何把東西焊接組裝成功。每當我完成一個步驟,都會有一種成就感,;第二,電子實習,是主要以學生自己動手,通過已掌握的一定操作技能,親手設計、制作、組裝并調試為主要特色的電子實習。它將基本技能訓練,基本工藝知識和創新啟蒙有機結合,不僅有助于提高我們對課本知識的認知,同時還培養我們的實踐能 9 力和創新精神。作為信息時代的大學生,作為國家重點培育的高科技人才,僅會操作鼠標是不夠的,基本的動手能力是一切工作和創造的基礎和必要條件。而這次電子實習更是給我們了這次機會,讓我們獨立完成元器件。
通過兩個多星期的學習,我覺得我在以下幾個方面都有很大的提高:對電子工藝的理論有了初步的系統了解。我們了解到了焊普通元件與電路元件的技巧、單片機電路設計制作與工藝流程、工作原理與組成元件的作用等。這些知識不僅在以后的課堂上有效,對以后的單片機認知的學習有很大的指導意義,在日常生活中更是有著現實意義,讓我們在以后的工作或研究中我們也具有單獨開發能力。對自己的動手能力是個很大的鍛煉。實踐出真知,縱觀古今,所有發明創造無一不是在實踐中得到檢驗的。沒有足夠的動手能力,就奢談在未來的科研尤其是實驗研究中有所成就。在實習中,我鍛煉了自己動手技巧,提高了自己獨立解決問題的能力。對電位表及單片機板的設計實習的感受。如果說焊接挑戰我得動手能力,那么單片機原理圖及PCB圖則是挑戰我的快速接受新知識的能力。在我過去一直沒有接觸過單片機的前提下,用幾天的時間去接受、消化老師講的內容,并焊接出完整的器件,對我來說也是一個極大的挑戰。在這過程中不僅鍛煉了我與我與其他同學的團隊合作、共同探討、共同前進的精神,也讓我明白謙虛好學的真諦。因為我對電路知識不是很清楚,可以說是模糊。但是當我有什么不明白的地方去向其他同學請教時,即使他們正在忙于思考,也會停下來幫助我.當我有什么想法告訴他們的時候,他們不會因為我得無知而不采納我得建議,反而會指出我的不足,一起提高。在這個實習整個過程中,通過我自己的努力以及同學的幫助,我終于成功將單片機原理圖畫好,并生成pcb圖,也正確焊接了萬用電表和單片機,雖然在某些方面沒有做到面面俱到,可能還有誤差,但是我對 10 這個器件都有了深刻認知,為我這學期的學習以及以后的工作奠定了良好的基礎。
兩周的實習雖然短暫,但卻讓讓我受益匪淺,我學會了細心和耐心對于電子方面的重要性,例如單片機,上面需要焊接很多的設備,這時一顆平常心就十分重要,一定不能急,否則焊錯了就更加耽誤時間。另外我發現做很多事情不要想當然,例如畫原理圖時有很多電源上面沒有網絡名,我就只把名子直接刪掉,結果在生成PCB圖時一直有錯誤,后來還是在同學的幫助下才發現了錯誤。還有在焊接排針時,經過老師的提醒我們才沒有焊錯。通過這次實習,我不僅提高了也提高了了自己的動手能力,也獲得了對電器知識的認知,以及對焊接的認識。對我以后的工作和生活有重要意義。
姓名:** 日期: **