欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      基于51單片機(jī)倒計(jì)時(shí)秒表程序設(shè)計(jì)

      時(shí)間:2019-05-15 02:58:00下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫小編為你整理了多篇相關(guān)的《基于51單片機(jī)倒計(jì)時(shí)秒表程序設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《基于51單片機(jī)倒計(jì)時(shí)秒表程序設(shè)計(jì)》。

      第一篇:基于51單片機(jī)倒計(jì)時(shí)秒表程序設(shè)計(jì)

      基于51單片機(jī)倒計(jì)時(shí)秒表程序設(shè)計(jì)

      typedef unsigned char UINT8;typedef unsigned int UINT16;code UINT8 SEGMENT[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};code UINT8 SELECT[8] ={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};#define S1 0x0e #define S2 0x0d #define S3 0x0b #define S4 0x07 sbit SPEAK=P3^5;sbit P3_3=P3^3;UINT8 Second;

      void timer_10ms(void)//定時(shí)器T0定時(shí)10ms {

      TMOD=0x01;TH0=0xdc;TL0=0x32;TR0=1;//啟動(dòng)T0 } void Delay(UINT16 t){

      UINT16 i,j;

      for(i=0;i

      for(j=0;j<114;j++);}

      void Display(void){ static UINT8 num=0;P2=0xff;switch(num){

      case 0:

      P0=0xff;

      break;

      case 1:

      P0=0xff;

      break;

      case 2:

      P0=0xff;

      break;

      case 3:

      P0=0xff;

      break;

      case 4:

      P0=0xff;

      break;

      case 5:

      P0=0xff;

      break;

      case 6:

      P0=SEGMENT[Second%100/10];

      break;

      case 7:

      P0=SEGMENT[Second%10];

      break;} P2=SELECT[num];num++;num%=8;//if(num==8)num=0;} UINT8 Scankey(void){ UINT8 key;if((P3&0x0f)==0x0f)

      return(0xff);Delay(10);

      if((P3&0x0f)==0x0f)

      return(0xff);key=P3&0x0f;while((P3&0x0f)!=0x0f);return(key);}

      void main(){

      UINT8 i;

      EA=1;

      //打開總中斷

      EX1=0;//打開外部中斷1 IT1=1;TH0=0xdc;TL0=0x32;TR0=1;//啟動(dòng)T0

      ET0=1;

      Second=60;while(1)

      {

      Display();

      Delay(2);

      i = Scankey();

      if(i==S1)//啟動(dòng)

      {

      EA=1;

      }

      else if(i == S2)//暫停

      {

      EA=0;

      }

      }

      } } void int_0()interrupt 1 {

      unsigned char z,aa;

      for(aa=59;aa>0;aa--){

      for(z=0;z<50;z++)

      {

      P0=SEGMENT[aa/10];

      P2=SELECT[3];

      delay(5);

      //10ms

      P0=SEGMENT[aa%10];

      P2=SELECT[4];

      delay(5);

      //10ms

      } } } }

      第二篇:?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告多功能秒表

      青島理工大學(xué)琴島學(xué)院

      課程設(shè)計(jì)報(bào)告

      課題名稱:?jiǎn)纹瑱C(jī)原理課程設(shè)計(jì) 學(xué)院:機(jī)電工程系

      專業(yè)班級(jí):電氣工程及其自動(dòng)化103班 學(xué)號(hào):201002

      學(xué)生:

      指導(dǎo)老師:

      青島理工大學(xué)琴島學(xué)院教務(wù)處2012年 12月21 日

      第三篇:實(shí)習(xí)報(bào)告-單片機(jī)秒表設(shè)計(jì)

      目 錄

      第1章 單片機(jī)系統(tǒng)硬件電路.................................................................................1

      1.1 實(shí)習(xí)目的..............................................................................................1 1.2 單片機(jī)型號(hào)及特性..............................................................................1 1.3 單片機(jī)開發(fā)板......................................................................................2

      第2章 單片機(jī)應(yīng)用系統(tǒng)軟件.................................................................................5

      2.1 STC下載軟件......................................................................................5 2.2 Keil軟件...............................................................................................5 2.3 外部電路驅(qū)動(dòng)......................................................................................6

      第3章 00-59秒計(jì)時(shí)器設(shè)計(jì)..................................................................................7

      3.1 電路原理圖..........................................................................................7 3.2 設(shè)計(jì)原理..............................................................................................7 3.3 實(shí)現(xiàn)方法..............................................................................................8

      第4章 實(shí)習(xí)總結(jié).....................................................................................................9

      4.1 實(shí)習(xí)體會(huì)..............................................................................................9 4.2 設(shè)計(jì)硬件體會(huì)......................................................................................9

      參考文獻(xiàn).................................................................................................................10 附錄1 實(shí)物圖........................................................................................................11 附錄2 系統(tǒng)主要程序............................................................................................12

      I

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      第1章 單片機(jī)系統(tǒng)硬件電路

      1.1 實(shí)習(xí)目的

      了解單片機(jī)最小系統(tǒng);

      了解keilc軟件操作,程序下載及調(diào)試方法; 掌握單片機(jī)外部電路使用; 掌握鍵盤和數(shù)碼管顯示編程方法; 應(yīng)用單片機(jī)開發(fā)板進(jìn)行實(shí)驗(yàn)開發(fā);

      1.2 單片機(jī)型號(hào)及特性

      1、AT89S51單片機(jī)功能及特點(diǎn)

      5l系列單片機(jī)中典型芯片(AT89S51)采用40引腳雙列直插封裝(DIP)形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個(gè)16b的定時(shí)/計(jì)數(shù)器TO和T1,4個(gè)8 b的I/O端I:IP0,P1,P2,P3,一個(gè)全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的Flash可編程、可擦除只讀存儲(chǔ)器(E~PROM),使其在實(shí)際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。5l系列單片機(jī)提供以下功能:4 kB存儲(chǔ)器;256 BRAM;32條I/O線;2個(gè)16b定時(shí)/計(jì)數(shù)器;5個(gè)2級(jí)中斷源;1個(gè)全雙向的串行口以及時(shí)鐘電路??臻e方式:CPU停止工作,而讓RAM、定時(shí)/計(jì)數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。掉電方式:保存RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。5l系列單片機(jī)為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測(cè)距系統(tǒng)。ATMEL的AT89S51是一種高效微控制器,AT89S2051是它的一種精簡(jiǎn)版本。AT89S單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。

      2、STC89C52單片機(jī)功能及特點(diǎn)

      STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器(FPEROM-Flash Programable and Erasable Read Only Memory)的低電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。該器件采用ATMEL搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。

      STC89C52完全兼容AT89C51 AT89C52 AT89S51 AT89S52 而且加入了更多新功能, 它內(nèi)部有1280字節(jié)的SRAM、8-64K字節(jié)的內(nèi)部程序存儲(chǔ)器、2-8K字節(jié)的ISP引導(dǎo)碼、除P0-P3口外還多P4口(PLCC封裝)、片內(nèi)自帶8路8位AD(AD系列),片內(nèi)自帶EEPROM、片機(jī)自帶看門狗、雙數(shù)據(jù)指針等。

      1.3 單片機(jī)開發(fā)板

      1、復(fù)位電路

      圖1-1復(fù)位電路圖

      復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。

      RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即二個(gè)機(jī)器周期)以上。若使用頻率為6MHz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過4us才能完成復(fù)位操作。

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      2、晶振電路

      圖1-2晶振電路圖

      簡(jiǎn)單地說,沒有晶振,就沒有時(shí)鐘周期,沒有時(shí)鐘周期,就無法執(zhí)行程序代碼,單片機(jī)就無法工作。

      對(duì)于一個(gè)高可靠性的系統(tǒng)設(shè)計(jì),晶體的選擇非常重要,尤其設(shè)計(jì)帶有睡眠喚醒,往往用低電壓以求低功耗的系統(tǒng),這是因?yàn)榈凸╇婋妷菏固峁┙o晶體的激勵(lì)功率減少,造成晶體起振很慢或根本就不能起振,這一現(xiàn)象在上電復(fù)位時(shí)并不特別明顯,原因是上電時(shí)電路有足夠的擾動(dòng),很容易建立振蕩,在睡眠喚醒時(shí),電路的擾動(dòng)要比上電時(shí)小得多,起振變得很不容易,在振蕩回路中,晶體既不能過激勵(lì),容易振到高次諧波上,也不能欠激勵(lì)不容易起振,晶體的選擇至少必須考慮、諧振頻點(diǎn)、負(fù)載電容、激勵(lì)功率、溫度特性長(zhǎng)期穩(wěn)定性。

      8051的時(shí)鐘周期即CPU的晶振的振蕩頻率的振蕩周期(頻率的倒數(shù))當(dāng)振蕩頻率為10MHZ時(shí),振蕩周期=1/10MHZ=0.1us機(jī)器周期是完成一個(gè)基本操作的時(shí)間單元,一個(gè)機(jī)器周期=12個(gè)時(shí)鐘周期,當(dāng)振蕩頻率為10MHZ時(shí),機(jī)器周期=12x0.1=1.2us 8051的指令周期,指取出并執(zhí)行一條指令的時(shí)間。一般為1-4個(gè)機(jī)器周期

      3、鍵盤和中斷

      矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當(dāng)無鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這一點(diǎn)是識(shí)別矩陣按鍵是否被按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號(hào)配合起來作適當(dāng)處理,才能確定閉合鍵的位置。

      按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時(shí)處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會(huì)引起行線電平的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時(shí),該鍵所在的東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      行電平才會(huì)由高電平變?yōu)榈碗娖?。CPU根據(jù)行平電的變化,便能判定相應(yīng)的行有鍵按下。8號(hào)鍵按下時(shí),第2行一定為低電平,然而,第2行為低電平時(shí),能否肯定是8號(hào)鍵按下呢?回答是否定的,因?yàn)?、10、11號(hào)鍵按下同樣使第2行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時(shí)刻都處在低電平,可在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,另一時(shí)刻,讓下一列處在低電平,依次循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。

      外部中斷請(qǐng)求源:即外中斷0和1,經(jīng)由外部管腳引入的,在單片機(jī)上有兩個(gè)管腳,名稱為INT0、INT1,也就是P3.2、P3.3這兩個(gè)管腳。在內(nèi)部的TCON中有四位是與外中斷有關(guān)的。IT0:INT0觸發(fā)方式控制位,可由軟件進(jìn)行置位和復(fù)位,IT0=0,INT0為低電平觸發(fā)方式,IT0=1,INT0為負(fù)跳變觸發(fā)方式。IE0:INT0中斷請(qǐng)求標(biāo)志位。當(dāng)有外部的中斷請(qǐng)求時(shí),這位就會(huì)置1(這由硬件來完成),在CPU響應(yīng)中斷后,由硬件將IE0清0。IT1、IE1的用途和IT0、IE0相同。內(nèi)部中斷請(qǐng)求源TF0:定時(shí)器T0的溢出中斷標(biāo)記,當(dāng)T0計(jì)數(shù)產(chǎn)生溢出時(shí),由硬件置位TF0。當(dāng)CPU響應(yīng)中斷后,再由硬件將TF0清0。TF1:與TF0類似。TI、RI:串行口發(fā)送、接收中斷,中斷允許寄存器IE在MCS-51中斷系統(tǒng)中,中斷的允許或禁止是由片內(nèi)可進(jìn)行位尋址的8位中斷允許寄存器IE來控制的。

      圖1-3矩陣式鍵盤的結(jié)構(gòu)

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      第2章 單片機(jī)應(yīng)用系統(tǒng)軟件

      2.1 STC下載軟件

      圖2-1 總體方案原理框圖

      2.2 Keil軟件

      目前流行的51系列單片機(jī)開發(fā)軟件是德國(guó)Keil公司推出的Keil C51軟件,它是一個(gè)基于32位Windows環(huán)境的應(yīng)用程序,支持C語言和匯編語言編程,其6.0以上的版本將編譯和仿真軟件統(tǒng)一為μVision(通常稱為μV2)。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,由以下幾部分組成:μVision IDE集成開發(fā)環(huán)境(包括工程管理器①、源程序編輯器②、程序調(diào)試器③,C51編譯器、A51匯編器、LIB51庫管理器、BL51連接/定位器、OH51目標(biāo)文件生成器以及 Monitor-

      51、RTX51實(shí)時(shí)操作系統(tǒng)。

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      應(yīng)用Keil進(jìn)行軟件仿真開發(fā)的主要步驟為:編寫源程序并保存—建立工程并添加源文件—設(shè)置工程—編譯/匯編、連接,產(chǎn)生目標(biāo)文件—程序調(diào)試。Keil使用“工程”(Project)的概念,對(duì)工程(而不能對(duì)單一的源程序)進(jìn)行編譯/匯編、連接等操作。工程的建立、設(shè)置、編譯/匯編及連接產(chǎn)生目標(biāo)文件的方法非常易于掌握。首先選擇菜單File-New…,在源程序編輯器中輸入?yún)R編語言或C語言源程序(或選擇File-Open…,直接打開已用其它編輯器編輯好的源程序文檔)并保存,注意保存時(shí)必須在文件名后加上擴(kuò)展名.asm(.a51)或.c;然后選擇菜Project-New Project…,建立新工程并保存(保存時(shí)無需加擴(kuò)展名,也可加上擴(kuò)展名.uv2);工程保存后會(huì)立即彈出一個(gè)設(shè)備選擇對(duì)話框,選擇CPU后點(diǎn)確定返回主界面。這時(shí)工程管理窗口的文件頁(Files)會(huì)出現(xiàn)“Target1”,將其前面+號(hào)展開,接著選擇Source Group1,右擊鼠標(biāo)彈出快捷菜單,選擇“Add File to Group ?Source Group1?”,出現(xiàn)一個(gè)對(duì)話框,要求尋找并加入源文件(在加入一個(gè)源文件后,該對(duì)話框不會(huì)消失,而是等待繼續(xù)加入其它文件)。加入文件后點(diǎn)close返回主界面,展開“Source Group1”前面+號(hào),就會(huì)看到所加入的文件,雙擊文件名,即可打開該源程序文件。緊接著對(duì)工程進(jìn)行設(shè)置,選擇工程管理窗口的Target1,再選擇Project-Option forTarget ?Target1?(或點(diǎn)右鍵彈出快捷菜單再選擇該選項(xiàng)),打開工程屬性設(shè)置對(duì)話框,共有8個(gè)選項(xiàng)卡,主要設(shè)置工作包括在Target選項(xiàng)卡中設(shè)置晶振頻率、在Debug選項(xiàng)卡中設(shè)置實(shí)驗(yàn)仿真板等,如要寫片,還必須在Output選項(xiàng)卡中選中“Creat Hex Fi”;其它選項(xiàng)卡內(nèi)容一般可取默認(rèn)值。工程設(shè)置后按F7鍵(或點(diǎn)擊編譯工具欄上相應(yīng)圖標(biāo))進(jìn)行編譯/匯編、連接以及產(chǎn)生目標(biāo)文件。

      2.3 外部電路驅(qū)動(dòng)

      1、串口

      2、定時(shí)器

      3、中斷

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      第3章 00-59秒計(jì)時(shí)器設(shè)計(jì)

      3.1 電路原理圖

      圖3-1電路原理圖

      3.2 設(shè)計(jì)原理

      在設(shè)計(jì)過程中我們用一個(gè)存儲(chǔ)單元作為秒計(jì)數(shù)單元,當(dāng)一秒鐘到來時(shí),就讓秒計(jì)數(shù)單元加 1,當(dāng)秒計(jì)數(shù)達(dá)到 60 時(shí),就自動(dòng)返回到 0,從新秒計(jì)數(shù)。

      對(duì)于秒計(jì)數(shù)單元中的數(shù)據(jù)要把它十位數(shù)和個(gè)數(shù)分開,方法仍采用對(duì) 10 整除和對(duì) 10 求余。

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      在數(shù)碼上顯示,仍通過查表的方式完成。

      一秒時(shí)間的產(chǎn)生在這里我們采用軟件精確延時(shí)的方法來完成,經(jīng)過精確計(jì)算得到 1 秒時(shí)間為 1.002 秒。

      圖3-1 程序流程圖

      3.3 實(shí)現(xiàn)方法

      系統(tǒng)的軟件設(shè)計(jì)也是工具系統(tǒng)功能的設(shè)計(jì)。單片機(jī)軟件的設(shè)計(jì)主要包括執(zhí)行軟件(完成各種實(shí)質(zhì)性功能)的設(shè)計(jì)和監(jiān)控軟件的設(shè)計(jì)。單片機(jī)的軟件設(shè)計(jì)通常要考慮以下幾個(gè)方面的問題:

      (1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個(gè)相對(duì)獨(dú)立的部分,設(shè)計(jì)出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡(jiǎn)潔和流程合理;

      (2)培養(yǎng)良好的編程風(fēng)格,如考慮結(jié)構(gòu)化程序設(shè)計(jì)、實(shí)行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;

      (3)繪制程序流程圖;(4)合理分配系統(tǒng)資源;

      (5)為程序加入注釋,提高可讀性,實(shí)施軟件工程;

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      第4章 實(shí)習(xí)總結(jié)

      4.1 實(shí)習(xí)體會(huì)

      大約20天的的實(shí)習(xí)已經(jīng)結(jié)束了,通過這次的實(shí)習(xí)鍛煉了我們的實(shí)踐能力,也是對(duì)我們以后的實(shí)際工作能力的具體訓(xùn)練和考察過程?,F(xiàn)在是一個(gè)高科技的時(shí)代,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域。因此對(duì)于我們這一專業(yè)的同學(xué)來說,學(xué)好單片機(jī),并正確應(yīng)用單片機(jī)是非常重要的。

      此次單片機(jī)課程設(shè)計(jì),從選題到定稿,從理論到實(shí)踐,學(xué)到了很多的東西。同時(shí)不僅鞏固了以前所學(xué)過的知識(shí),而且還學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,要把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。這次的課程設(shè)計(jì)還讓我學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會(huì)了堅(jiān)持不懈,不輕言放棄。

      4.2 設(shè)計(jì)硬件體會(huì)

      設(shè)計(jì)過程,常有一些不如意,但畢竟這是第一次做,難免會(huì)遇到各種各樣的問題。在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固。在整個(gè)設(shè)計(jì)中也培養(yǎng)了我獨(dú)立工作的能力,樹立了對(duì)自己工作能力的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動(dòng)手的能力,使我充分體會(huì)到了在創(chuàng)造過程中探索的艱難和成功時(shí)的喜悅。

      單片機(jī)實(shí)習(xí)雖然結(jié)束了,但通過實(shí)習(xí)所學(xué)到的東西將長(zhǎng)久存在。相信這次單片機(jī)設(shè)計(jì)帶給我們的嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度和一絲不茍的科學(xué)作風(fēng)將會(huì)給我們未來的工作和學(xué)習(xí)打下一個(gè)更堅(jiān)實(shí)的基礎(chǔ)。

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      參考文獻(xiàn)

      [1] 張占松,孫時(shí)生,伍言真.電路和系統(tǒng)的仿真實(shí)踐.北京:科學(xué)出版社電路.2000年1月

      [2] Akagi H.Kanazawa Y ,Nabe A.Instantaneous reactive power compensators comprising switching devices without energy storage components.IEEE Trans.Ind.Applicat.,1984,20(3).625-630 [3] Peng F Z, Akagi H,A H;Nabae A.A novel harmonic power filter.PESC Record,1988,1151-1159 [4] 朱東起,姜新建,馬大銘.無源和有源濾波器構(gòu)成的并聯(lián)型綜合電力濾波系統(tǒng).北京:清華大學(xué)學(xué)報(bào)(自然科學(xué)版),1999,39(3):49-52 [5] 鄧肖粵、胡曉云《EDA在電子技術(shù)教學(xué)中的應(yīng)用》 《實(shí)驗(yàn)與探索》 2000年12月

      [6] 張占松,孫時(shí)生,伍言真.電路和系統(tǒng)的仿真實(shí)踐.北京:科學(xué)出版社電路.2000年1月

      [7] 鄭春龍.Pspice在數(shù)?;旌想娐贩治鲋械膽?yīng)用. 電子技術(shù).1999(12)[8] 紀(jì)良文,蔣靜坪.機(jī)器人超聲測(cè)距數(shù)據(jù)的采集與處理.電子技術(shù)應(yīng)用.2001(4)

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      附錄1 實(shí)物圖

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      附錄2 系統(tǒng)主要程序

      #include

      code unsigned char tab[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};// 0-9

      unsigned char Shiwei;//定義十位 unsigned char Gewei;//定義個(gè)位 void delay(unsigned int cnt){ while(--cnt);} main(){ TMOD |=0x01;//工作在模式1,16位定時(shí) TH0=(65535-45872)/256;TL0=(65535-45872)%256;IE= 0x82;//打開中斷 TR0=1;

      //打開定時(shí)開關(guān)

      while(1)

      {

      P0=Shiwei;//顯示十位

      P1=0xdf;

      delay(300);

      //短暫延時(shí)

      P0=Gewei;//顯示個(gè)位

      P1=0xef;

      delay(300);

      } }

      /*

      定時(shí)器中斷函數(shù)

      */

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      void tim(void)interrupt 1 using 1 { static unsigned char second,count;TH0=(65535-45872)/256;TL0=(65535-45872)%256;

      count++;

      if(count==20)

      {

      count=0;

      second++;

      //秒加1

      if(second==60)

      second=0;Shiwei=tab[second/10];//十位顯示值處理

      Gewei=tab[second%10];//個(gè)位顯示處理

      }

      }

      東北石油大學(xué)生產(chǎn)實(shí)習(xí)總結(jié)報(bào)告

      第四篇:電氣07課程設(shè)計(jì)任務(wù)書(倒計(jì)時(shí)、秒表)

      本文由lj436436貢獻(xiàn)

      doc文檔可能在WAP端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。湖南工程學(xué)院

      課程設(shè)計(jì)任務(wù)書

      課程名稱: 數(shù)字電子技術(shù) 題 目:通用倒計(jì)時(shí)系統(tǒng) ——A 題

      專業(yè)班級(jí): 學(xué)生姓名: 指導(dǎo)老師: 郭照南 審 批:

      班 學(xué)號(hào):

      任務(wù)書下達(dá)日期 2009 年 10 月 26 日星期一 設(shè)計(jì)完成日期 2009 年 11 月 6 日星期五

      設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求 一. 設(shè)計(jì)內(nèi)容 設(shè)計(jì)一個(gè)適于各類場(chǎng)合的通用倒計(jì)時(shí)系統(tǒng),功能 要求如下: 1)計(jì)時(shí)器的計(jì)時(shí)間隔為 1S,其遞減計(jì)數(shù)器的模 在 59 分 59 秒至 00 分 01 秒范圍內(nèi)可預(yù)置。2)設(shè)置 4 個(gè)預(yù)置按鈕,分別用于分個(gè)位、分十位 和秒個(gè)位、秒十位的預(yù)置,預(yù)置時(shí)通過按鈕對(duì)相應(yīng)的 時(shí)間位進(jìn)行遞增計(jì)數(shù)來完成預(yù)置。3)倒計(jì)時(shí)器通過外部功能鍵使其具有直接復(fù)位、啟動(dòng)、暫停/繼續(xù)等功能; 4)具有顯示功能,用 LED 數(shù)碼管實(shí)現(xiàn);

      5)計(jì)時(shí)數(shù)器遞減到零時(shí),數(shù)碼顯示器的 LED “00∶ 00”字樣發(fā)生閃爍(或停止),同時(shí)發(fā)出警報(bào)聲。二. 設(shè)計(jì)要求: 1. 設(shè)計(jì)思路清晰,給出整體設(shè)計(jì)框圖; 2. 設(shè)計(jì)各單元電路,給出具體設(shè)計(jì)思路、電 路圖、器件清單; 3. 總電路設(shè)計(jì); 4. 安裝調(diào)試電路; 5. 寫出設(shè)計(jì)報(bào)告;

      主要設(shè)計(jì)條件 1. 提供面包板、直流穩(wěn)壓電源、示波器; 2. 提供各種 TTL 集成電路芯片、NE555 定時(shí) 器、電阻及電容等;

      說明書格式 1. 課程設(shè)計(jì)報(bào)告書封面; 2. 任務(wù)書; 3. 說明書目錄; 4. 設(shè)計(jì)總體思路; 5. 單元電路設(shè)計(jì); 6. 總電路設(shè)計(jì); 7. 設(shè)計(jì)調(diào)試體會(huì)與總結(jié); 8. 附錄; 9. 參考文獻(xiàn)。

      進(jìn) 度 安 排

      第一周星期一 上午 安排任務(wù)、講課。星期一 下午 星期四 下午 查資

      料、設(shè)計(jì)(四樓機(jī)房)、EWB 設(shè)計(jì)仿真〈四樓機(jī)房〉

      星期五開始到第二周星期四 安裝調(diào)試電路 第二周星期五 調(diào)試驗(yàn)收 答辯 地 點(diǎn):實(shí)驗(yàn)樓 403 室

      參 考 文 獻(xiàn) 《電子技術(shù)課程設(shè)計(jì)》 歷雅萍、易映萍編 《電子技術(shù)課程設(shè)計(jì)指導(dǎo)》 彭介華、主編 高等教育出版社 《電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試》 謝自美主編 華中理工出版社。湖南工程學(xué)院

      課程設(shè)計(jì)任務(wù)書

      課程名稱: 數(shù)字電子技術(shù) 題 目:數(shù)字秒表 ——B 題

      專業(yè)班級(jí): 學(xué)生姓名: 指導(dǎo)老師: 郭照南 審 批:

      班 學(xué)號(hào):

      任務(wù)書下達(dá)日期 2009 年 10 月 26 日星期一 設(shè)計(jì)完成日期 2009 年 11 月 6 日星期五

      設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求

      一、設(shè)計(jì)內(nèi)容: 設(shè)計(jì)并制作符合以下要求的數(shù)字秒表: 1.6 位數(shù)碼管顯示,其中兩位顯示 min,四位顯示 sec。顯示分辨率為 0。01s; 2.秒表的最大計(jì)時(shí)值為 59min59.99sec; 3.設(shè)置秒表的復(fù)位/啟動(dòng)鍵,按一下該鍵啟動(dòng)計(jì)時(shí),再按即清 0。依此循環(huán)。4.設(shè)置秒表的暫行/繼續(xù)鍵。啟動(dòng)后按一下暫行,再 按繼續(xù)。依此循環(huán)。

      二、設(shè)計(jì)要求: 1.設(shè)計(jì)思路清晰,給出整體設(shè)計(jì)框圖; 2.設(shè)計(jì)各單元電路,給出具體設(shè)計(jì)思路、電路 圖、器件清單; 3.總電路設(shè)計(jì); 4.安裝調(diào)試電路; 5.寫出設(shè)計(jì)報(bào)告;

      主要設(shè)計(jì)條件 3. 提供面包板、直流穩(wěn)壓電源、示波器; 4. 提供各種 TTL 集成電路芯片、NE555 定時(shí) 器、電阻及電容等;

      說明書格式 1.課程設(shè)計(jì)報(bào)告書封面; 2 任務(wù)書; 3 說明書目錄; 4 設(shè)計(jì)總體思路; 5 單元電路設(shè)計(jì); 6 總電路設(shè)計(jì); 7 設(shè)計(jì)調(diào)試體會(huì)與總結(jié); 8 附錄; 9 參考文獻(xiàn)。進(jìn) 度 安 排

      第一周星期一 上午 安排任務(wù)、講課。星期一 下午 星期四 下午 查資

      料、設(shè)計(jì)(四樓機(jī)房)、EWB 設(shè)計(jì)仿真〈四樓機(jī)房〉

      星期五開始到第二周星期四 安裝調(diào)試電路 第二周星期五 調(diào)試驗(yàn)收 答辯 地 點(diǎn):實(shí)驗(yàn)樓 403 室

      參 考 文 獻(xiàn) 《電子技術(shù)課程設(shè)計(jì)》 歷雅萍、易映萍編 《電子技術(shù)課程設(shè)計(jì)指導(dǎo)》 彭介華、主編 高等教育出版社 《電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試》 謝自美主編 華中理工出版社。

      第五篇:基于89C51單片機(jī)的秒表課程設(shè)計(jì)

      摘要

      隨著電子技術(shù)的發(fā)展,電子技術(shù)在各個(gè)領(lǐng)域的運(yùn)用也越來越廣泛,人對(duì)它的認(rèn)識(shí)也逐步加深。秒表計(jì)時(shí)器秒表計(jì)時(shí)器常常用于體育競(jìng)賽及各種其他要求有較精確時(shí)間的各領(lǐng)域中。其中啟/停開關(guān)的使用方法與傳統(tǒng)的機(jī)械計(jì)時(shí)器相同,即按一下啟/停開關(guān),啟動(dòng)計(jì)時(shí)器開始計(jì)時(shí),再按一下啟/停開關(guān)計(jì)時(shí)終止。而復(fù)位開關(guān)可以在任何情況下使用,即使在計(jì)時(shí)過程中,只要按一下復(fù)位開關(guān),計(jì)時(shí)應(yīng)立即終止,并對(duì)計(jì)時(shí)器清零。本設(shè)計(jì)就是利用所學(xué)到的電子元器件將脈沖源用數(shù)碼管顯示出來,以制承諾簡(jiǎn)易的秒表。

      以單片機(jī)為核心,設(shè)計(jì)一個(gè)秒表,具有計(jì)時(shí)功能,按鍵有啟動(dòng)計(jì)時(shí)、數(shù)據(jù)清零、停止、時(shí)間顯示。

      采用3個(gè)LED數(shù)碼管顯示時(shí)間,計(jì)時(shí)范圍設(shè)置為0~99.9秒,即精確到0.1秒,用按鍵控制秒表的“開始”、“暫?!?、“復(fù)位”,按“開始”按鍵,開始計(jì)時(shí);按“暫?!卑存I,系統(tǒng)暫停計(jì)時(shí);再按“開始”鍵,系統(tǒng)繼續(xù)計(jì)時(shí);數(shù)碼管顯示當(dāng)前計(jì)時(shí)值;按“復(fù)位”按鍵,系統(tǒng)清零。

      目錄

      一、設(shè)計(jì)任務(wù).................................................................................................................3

      二、設(shè)計(jì)題目.................................................................................................................3

      三、功能分析.................................................................................................................3

      四、總體設(shè)計(jì).................................................................................................................3

      4.1硬件設(shè)計(jì)...............................................................................................................4

      4.1.1 89C51單片機(jī)...........................................................................................4

      4.1.2晶體振蕩電路...........................................................................................5

      4.1.3復(fù)位電路...................................................................................................6

      4.1.4按鍵電路...................................................................................................7

      4.1.5顯示電路.................................................................................................8

      4.2引腳控制...............................................................................................................9

      五、電路原理圖...........................................................................................................10

      六、程序流程圖及程序設(shè)計(jì)......................................................................................11

      6.1程序流程圖.........................................................................................................11

      6.2程序設(shè)計(jì).............................................................................................................12

      七、程序仿真...............................................................................................................21

      八、心得體會(huì)...............................................................................................................22

      九、致謝.......................................................................................................................23

      十、參考文獻(xiàn)...............................................................................................................24

      一、設(shè)計(jì)任務(wù)

      以單片機(jī)為核心,設(shè)計(jì)一個(gè)秒表,具有計(jì)時(shí)功能,按鍵有啟動(dòng)計(jì)時(shí)、數(shù)據(jù)清零、停止、時(shí)間顯示。

      二、設(shè)計(jì)題目

      秒表的設(shè)計(jì)

      三、功能分析

      采用3個(gè)LED數(shù)碼管顯示時(shí)間,計(jì)時(shí)范圍設(shè)置為0~99.9秒,即精確到0.1秒,用按鍵控制秒表的“開始”、“暫停”、“復(fù)位”,按“開始”按鍵,開始計(jì)時(shí);按“暫?!卑存I,系統(tǒng)暫停計(jì)時(shí);再按“開始”鍵,系統(tǒng)繼續(xù)計(jì)時(shí);數(shù)碼管顯示當(dāng)前計(jì)時(shí)值;按“復(fù)位”按鍵,系統(tǒng)清零。

      四、總體設(shè)計(jì)

      本實(shí)驗(yàn)利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,通過采用Proteus仿真軟件來模擬實(shí)現(xiàn)。模擬AT89C51單片機(jī)、LED數(shù)碼管以及控件來控制秒表的計(jì)數(shù)以及計(jì)時(shí)的開啟、暫停、繼續(xù)、與復(fù)位。其中有三個(gè)數(shù)碼管來顯示數(shù)據(jù),兩個(gè)數(shù)碼管顯示秒(兩位),另一個(gè)數(shù)碼管顯示十分之一秒,十分之一秒的數(shù)碼管計(jì)數(shù)從0~9,滿十進(jìn)一后顯示秒得數(shù)碼管的個(gè)位加一,并且十分之一秒顯示清零

      重新從零計(jì)數(shù)。同理當(dāng)個(gè)位滿十進(jìn)一后個(gè)位也清零重新計(jì)數(shù),當(dāng)計(jì)時(shí)超過范圍(即超過99.9秒)后,所有數(shù)碼管全部清零從新計(jì)數(shù)

      4.1硬件設(shè)計(jì)

      4.1.1 89C51單片機(jī)

      MCS-51系列單片機(jī)是8位單片機(jī)產(chǎn)品,89C51是其中的典型代表,基本模塊包括以下幾個(gè)部分:

      (1)CPU:89C51的CPU是8位的,另外89C51內(nèi)部有1個(gè)位處理器

      (2)R0M:4KB的片內(nèi)程序存儲(chǔ)器,存放開發(fā)調(diào)試完成的應(yīng)用程序

      (3)RAM:256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器,容量小,但作用大

      (4)I/O口:P0-P3,共4個(gè)口32條雙向且可位尋址的I/O口線

      (5)中斷系統(tǒng):共5個(gè)中斷源,3個(gè)內(nèi)部中斷,2個(gè)外部中斷

      (6)定時(shí)器/計(jì)數(shù)器:2個(gè)16位的可編程定時(shí)器/計(jì)數(shù)器

      (7)通用串行口:全雙工通用異步接收器/發(fā)送器

      (8)振蕩器:89C51的外接晶振與內(nèi)部時(shí)鐘振蕩器為CPU提供時(shí)鐘信號(hào)

      (9)總線控制:89C51對(duì)外提供若干控制總線,便于系統(tǒng)擴(kuò)展

      89C51單片機(jī)引腳如下圖:

      4.1.2晶體振蕩電路

      89C51單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反相放大器,引線XTAL1和XTAL2分別為反相振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入和來自反相

      振蕩器的輸出,該反相放大器可以配置為片內(nèi)振蕩器。

      這里選用51單片機(jī)12MHZ的內(nèi)部振蕩方式,電路如下:C2、C3起穩(wěn)定振蕩頻率、快速起振的作用。

      晶振電路

      4.1.3復(fù)位電路

      采用上電復(fù)位,上電后,由于電容充電,使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電復(fù)位操作。這不僅能使單片機(jī)復(fù)位,還能是單片機(jī)的外圍設(shè)備同時(shí)復(fù)位,當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),可以隨時(shí)使電路復(fù)位。

      電路圖如下:

      復(fù)位電路

      4.1.4按鍵電路

      當(dāng)按鍵被按下時(shí),相應(yīng)的引腳被拉低,經(jīng)掃描后,獲得鍵值,并執(zhí)行鍵功能程序,因此按下不同的按鍵,將執(zhí)行不同的功能程序。

      電路圖如下:

      按鍵電路

      4.1.5顯示電路

      采用3個(gè)LED數(shù)碼管,LED是七段顯示器,內(nèi)部有7個(gè)條形發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管,根據(jù)各管的亮暗組成字符。

      在用數(shù)碼管顯示時(shí),有靜態(tài)和動(dòng)態(tài)兩種選擇,這里采用LED動(dòng)態(tài)顯示,用P0、P1、P2口驅(qū)動(dòng)顯示,由于P0口沒有上拉電阻,因此P0口需要外接上拉

      電阻才能輸出高電平,這里使用8個(gè)4.7k的電阻作為上拉電阻。

      電路圖如下:

      顯示電路

      4.2引腳控制

      P0.0—P0.7、P2.0—P2.7、P1.0—P1.7對(duì)應(yīng)三個(gè)數(shù)碼管的a、b、c、d、e、f、g段和小數(shù)點(diǎn)位;P0控制數(shù)碼管十位的顯示,P2控制數(shù)碼管個(gè)位的現(xiàn)實(shí),P1控制小數(shù)點(diǎn)后一問的顯示,P3.2、P3.3、P3.4分別接。

      五、電路原理圖

      用Proteus軟件畫出主電路圖如下:

      六、程序流程圖及程序設(shè)計(jì)

      6.1程序流程圖

      6.2程序設(shè)計(jì)

      程序的各個(gè)組成模塊及工作流程描述:

      (1)秒表的初始化

      根據(jù)程序流程圖,先進(jìn)行秒表的初始化,即:①將I/O口P3全寫一,為秒表的控制輸入做好準(zhǔn)備;②將數(shù)碼管全部置零,使其處于秒表計(jì)時(shí)的初始狀態(tài);③將工作寄存器R0~R2以及30H初始化,留待后面的計(jì)時(shí)程序備用;④將定時(shí)器0置于工作方式1,并為其裝入計(jì)時(shí)預(yù)置數(shù)D8FE(因?yàn)槌绦蜻\(yùn)行過程中占用的時(shí)間會(huì)導(dǎo)致一定誤差,此為經(jīng)實(shí)物測(cè)試之后的修正值),即將定時(shí)器定為每10ms溢出;⑤開總中斷允許和定時(shí)器0中斷允許。初始化完成后,即進(jìn)入之后的按鍵掃描程序。

      (2)按鍵檢測(cè)程序

      輪流檢測(cè)開始計(jì)時(shí)(P3.2)、暫停計(jì)時(shí)(P3.3)、秒表清零(P3.4)三個(gè)按鍵。若發(fā)現(xiàn)有一個(gè)按鍵出現(xiàn)低電平(可能被按下),則延時(shí)10ms(調(diào)用延時(shí)子程序DELAY),延時(shí)完成后,若發(fā)現(xiàn)低電平消失,則說明該按鍵實(shí)際上未被按下,此時(shí)轉(zhuǎn)回按鍵檢測(cè)處繼續(xù)檢測(cè);若發(fā)現(xiàn)仍然是低電平,則說明此鍵確實(shí)被按下了,此時(shí)就跳轉(zhuǎn)至相應(yīng)的程序標(biāo)號(hào)處,執(zhí)行相應(yīng)的功能。

      (3)開始計(jì)時(shí)

      若確認(rèn)“開始計(jì)時(shí)”鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“RUN”處,將定時(shí)器0計(jì)時(shí)允許控制位TR0置位,則定時(shí)器開始運(yùn)行。此動(dòng)作完成后,返回按鍵檢測(cè)程序,等待操作者的下一次指令。

      (4)計(jì)時(shí)程序

      定時(shí)器0計(jì)時(shí)至10ms,溢出,引發(fā)中斷,程序跳轉(zhuǎn)至定時(shí)器0中斷服務(wù)程序入口000BH處執(zhí)行。程序跳轉(zhuǎn)至中斷服務(wù)程序TIME0。由于秒表的最小計(jì)時(shí)單位是0.1s,即100ms,因此需加入軟件計(jì)時(shí),使定時(shí)器0溢出10次之后才改變數(shù)碼管的顯示狀態(tài)。因此每來一次中斷就將30H中的數(shù)加1,若30H中的數(shù)沒有到10,則給定時(shí)器0重新裝入預(yù)置數(shù),之后中斷返回并繼續(xù)等待中斷;到10了,才進(jìn)入顯示程序,改變數(shù)碼管的顯示狀態(tài),執(zhí)行完畢之后中斷返回并繼續(xù)等待中斷。

      (5)顯示程序

      將數(shù)碼管的段選碼放在數(shù)表TAB中。每次100ms計(jì)時(shí)完成后,將R0中的值(初值為0)送入A,然后自加1。.若R0中的值沒到10,則使用累加器A查表,并將查得的數(shù)碼管段選碼送入毫秒位數(shù)碼管。之后將30H中的數(shù)置零,中斷返回。若發(fā)現(xiàn)R0中的數(shù)到10了,則將R0置零,并轉(zhuǎn)入秒位進(jìn)位子程序SECOND,向秒位進(jìn)位,之后,繼續(xù)照常向毫秒位送數(shù)。

      在秒位進(jìn)位子程序SECOND中,由于要用到累加器A,因此先將其推入堆棧保護(hù)。將R1中的值(初值為10)送入A,然后自加1。.若R1中的值沒到20,則使用累加器A查表,并將查得的數(shù)碼管段選碼送入秒位數(shù)碼管。若發(fā)現(xiàn)R1中的數(shù)到20了,則將R1重置為10,并轉(zhuǎn)入十秒位進(jìn)位子程序SECOND1,向十秒位進(jìn)位,之后,繼續(xù)照常向秒位送數(shù)。完成后,彈出ACC和PSW,子程序返回。

      十秒位進(jìn)位子程序與秒位進(jìn)位子程序相似,只是沒有向下一位進(jìn)位的功能。

      (6)暫停計(jì)時(shí)

      若確認(rèn)“暫停計(jì)時(shí)”鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“PAUSE”處,將定時(shí)器0計(jì)時(shí)允許控制位TR0置零,則定時(shí)器暫停運(yùn)行。此動(dòng)作完成后,返回按鍵檢測(cè)程序,等待操作者的下一次指令。

      (7)秒表清零

      若確認(rèn)“秒表清零”鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“STOP”處,將TR0置零,關(guān)閉定時(shí)器0運(yùn)行。并且將數(shù)碼管、工作寄存器、定時(shí)器0預(yù)置數(shù)全部重置,使其處于秒表計(jì)時(shí)的初始狀態(tài)。此動(dòng)作完成后,返回按鍵檢測(cè)程序,等待操作者的下一次指令。

      (8)延時(shí)程序

      用于按鍵延時(shí)防抖,延時(shí)10ms。

      程序清單如下:

      ORG 0000H;程序開始

      AJMP START;跳轉(zhuǎn)到主程序START ORG 000BH;定時(shí)器0中斷的地址入口

      AJMP TIME0;定時(shí)器0溢出,跳轉(zhuǎn)到中斷程序TIME0 START:;主程序

      MOV P3,#0FFH;輸入端口P3全寫1 MOV P0,#3FH;MOV P1,#3FH;

      MOV P2,#0BFH;數(shù)碼管初始化

      MOV 30H,#00H;MOV R0,#00H;MOV R1,#0AH;MOV R2,#00H;MOV TMOD,#01H;MOV TH0,#0D8H;MOV TL0,#0FEH;SETB EA;SETB ET0;READ:;L1:JB P3.2,L2;LCALL DELAY;JB P3.2,L1;AJMP RUN;L2:JB P3.3,L3;

      工作寄存器初始化

      定時(shí)器0工作于方式1

      定時(shí)器0預(yù)置數(shù)(D8FEH=55550D)

      開總中斷允許

      開定時(shí)器0中斷允許

      讀鍵程序

      按鍵延時(shí)防抖

      確認(rèn)計(jì)時(shí)鍵被按下,開始/繼續(xù)計(jì)時(shí)15

      LCALL DELAY;按鍵延時(shí)防抖

      JB P3.3,L2;AJMP PAUSE;確認(rèn)暫停鍵被按下,暫停計(jì)時(shí)

      L3:JB P3.4,L1;LCALL DELAY;JB P3.4,L3;AJMP STOP;RUN:;SETB TR0;AJMP READ;PAUSE:;CLR TR0;AJMP READ;TIME0:;INC 30H;MOV A,30H;

      按鍵延時(shí)防抖

      確認(rèn)清零鍵被按下,秒表重置

      計(jì)時(shí)鍵按下,跳轉(zhuǎn)至此

      定時(shí)器0開始/繼續(xù)運(yùn)行

      暫停鍵按下,跳轉(zhuǎn)至此

      定時(shí)器0溢出,中斷,跳轉(zhuǎn)至此16

      CJNE A,#0AH,TIME1;30H單元中的值到10了嗎?(計(jì)時(shí)到10毫秒了嗎,也就是說,該向毫秒位送數(shù)了嗎?)MOV DPTR,#TAB;30H中的值到10了,順序執(zhí)行

      MOV A,R0;INC R0;CJNE R0,#0AH,GET;R0MOV R0,#00H;LCALL SECOND;進(jìn)位

      GET:;MOVC A,@A+DPTR;MOV P1,A;MOV 30H,#00H;TIME1:;MOV TH0,#0D8H;MOV TL0,#0FEH;RETI;中的值到10了嗎?(該向秒位進(jìn)位了嗎?)

      到了,R0清零,調(diào)用進(jìn)位子程序SECOND,向秒位沒到,跳過進(jìn)位子程序

      查表并向數(shù)碼管毫秒位送數(shù)

      重置30H單元

      給定時(shí)器0重新預(yù)置數(shù)

      中斷返回

      SECOND:;秒位進(jìn)位子程序

      PUSH ACC;PUSH PSW;將ACC和PSW推入堆棧保護(hù)

      MOV A,R1;INC R1;CJNE R1,#14H,GET1;R1了嗎?

      MOV R1,#0AH;LCALL SECOND1;位進(jìn)位

      GET1:;MOVC A,@A+DPTR;MOV P2,A;POP PSW;POP ACC;PSW,ACCRET;SECOND1:;中的值到20了嗎,也就是說,該向十秒位進(jìn)位到了。R1重置,調(diào)用進(jìn)位子程序SECOND1,向十秒沒到,跳過進(jìn)位子程序

      查表并向數(shù)碼管秒位送數(shù)

      出棧

      子程序返回

      十秒位進(jìn)位子程序

      PUSH ACC;PUSH PSW;將ACC和PSW推入堆棧保護(hù)

      MOV A,R2;INC R2;CJNE R2,#0AH,GET2;R2

      MOV R2,#00H;GET2:;MOVC A,@A+DPTR;MOV P0,A;POP PSW;POP ACC;PSWRET;STOP:;MOV P3,#0FFH;MOV P0,#3FH;MOV P1,#3FH;

      中的值到10了嗎,也就是說,該將此位歸零了到了,R2清零

      沒到,跳過清零程序

      查表并向數(shù)碼管十秒位送數(shù),ACC出棧

      子程序返回

      清零鍵按下,跳轉(zhuǎn)至此 嗎?

      MOV P2,#0BFH;數(shù)碼管清零

      MOV 30H,#00H;MOV R0,#00H;MOV R1,#0AH;MOV R2,#00H;CLR TR0;MOV TH0,#0D8H;MOV TL0,#0FEH;AJMP READ;DELAY:;MOV R3,#50D;D1:MOV R4,#100D;D2:DJNZ R4,D2;DJNZ R3,D1;RET;工作寄存器初始化計(jì)時(shí)器0停止計(jì)時(shí)定時(shí)器0預(yù)置數(shù)

      延時(shí)10ms子程序

      子程序返回

      TAB: DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,3FH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,0BFH;數(shù)碼管段選碼數(shù)表

      END;程序結(jié)束

      七、程序仿真

      將以上程序清單導(dǎo)入先前做好的Proteus仿真電路,匯編之后,按 鍵開始進(jìn)行仿真。

      仿真結(jié)果如下:

      仿真結(jié)果描述:

      按“開始”鍵,秒表開始計(jì)時(shí);按“暫?!辨I,秒表暫停計(jì)時(shí);再按“開始”鍵,秒表繼續(xù)計(jì)時(shí);按“清零”鍵,秒表清零。

      八、心得體會(huì)

      雖然秒表是一個(gè)非常簡(jiǎn)單的功能,但要在單片機(jī)中使用匯編語言來實(shí)現(xiàn)這個(gè)功能,仍然花了我不少心思。

      首先是計(jì)時(shí)的問題,由于單片機(jī)計(jì)時(shí)器最大只能計(jì)時(shí)65.5ms,因此要實(shí)現(xiàn)毫秒位的變化,我采用了軟件計(jì)時(shí)的方法,單片機(jī)只需計(jì)時(shí)10ms,然后用軟件重復(fù)10次,即可達(dá)到計(jì)時(shí)100ms的目的。

      顯示方面,為了使編程簡(jiǎn)單,我使用了靜態(tài)顯示。不過這使得占用I/O口線過多,而且連線復(fù)雜繁瑣,為實(shí)物的制作帶來了不便。在以后的學(xué)習(xí)和應(yīng)用中我會(huì)努力加深動(dòng)態(tài)掃描顯示的理解,爭(zhēng)取熟練運(yùn)用。

      根據(jù)書本知識(shí),我們一開始只給P0口加上了上拉電阻,但是實(shí)物做成后我們發(fā)現(xiàn)P1和P2口得輸出顯示非常暗,初步確定是驅(qū)動(dòng)能力不足的問題后,我們給二者也加上了上拉電阻,結(jié)果使得顯示正常了。由此我們了解到,實(shí)踐才是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),有時(shí)候書本上的知識(shí)需要經(jīng)過實(shí)踐的改進(jìn),才能運(yùn)用到實(shí)際中。

      此次課程設(shè)計(jì)鞏固了我的基礎(chǔ)知識(shí),提高了我的應(yīng)用水平,鍛煉了我的動(dòng)手能力,使我受益匪淺。然而,在吸取經(jīng)驗(yàn)的同時(shí),我也吃了不少教訓(xùn)。在編程、仿真、焊接方面都走了不少?gòu)澛贰5?,學(xué)則要有所收獲,經(jīng)過此次的鍛煉,我在很多方面都已經(jīng)有所提高,知識(shí)也掌握得更加扎實(shí)了。

      在今后的學(xué)習(xí)和實(shí)踐中,我將繼續(xù)努力鉆研,提高自己,爭(zhēng)取在學(xué)術(shù)和記憶上獲得更大的進(jìn)步。

      九、致謝

      本設(shè)計(jì)是在李芳老師的悉心指導(dǎo)下完成的,李老師淵博的知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的工作作風(fēng),平易近人的性格都是我學(xué)習(xí)的楷模。在論文的研究及整理期間,李老師給了我很大的支持和鼓勵(lì),才使得論文得以順利的完成,在此謹(jǐn)向?qū)煴硎局倚牡母兄x和崇高的敬意。

      同時(shí)還要感謝同學(xué)們,他們也給了我很大的支持和幫助。

      十、參考文獻(xiàn)

      1)《微控制器與接口技術(shù)》.虞滄.電子工業(yè)出版社.2012.10 2)李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社.2005.10 3)夏繼強(qiáng).單片機(jī)實(shí)驗(yàn)北京:北京航空航天大學(xué)出版社.2001.4)孫德輝,鄭士富.微型計(jì)算機(jī)控制系統(tǒng).北京:冶金工業(yè)出版社.2002

      5)肖洪兵.跟我學(xué)用單片機(jī).北京:北京航空航天大學(xué)出版社.2002.8 6)陳汝全.實(shí)用微機(jī)與單片機(jī)控制技術(shù).電子科技大學(xué)出版社.1995.7 7)王涌.單片機(jī)與嵌入式系統(tǒng)應(yīng)用[J],2002(3):58-61 8)羅亞非.凌陽16位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社.2003.5 9)李慶.Keil C51 使用詳解 V3.0[M].北京:北京理工大學(xué)出版

      10)李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù).北京航空航天大學(xué)出版社.1993,162-229 11)溫鋼云,黃道平.計(jì)算機(jī)控制技術(shù).廣州:華南理工大學(xué)出版社.2002 12)肖洪兵.單片機(jī)應(yīng)用技術(shù).自編教材

      13)孫德輝,鄭士富.微型計(jì)算機(jī)控制系統(tǒng).北京:冶金工業(yè)出版社.2002 14)韓來吉.用 89C51實(shí)現(xiàn)急救車優(yōu)先的交通燈控制系統(tǒng)[J] 15)陳志強(qiáng),芮延年,城市路口交通燈多級(jí)智能控制方法的研究J.2007 16)李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社.2001,56 17)馬忠梅等.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì).北京航空航天出版社.1999

      18)劉瑞新,單片機(jī)原理及應(yīng)用教程,北京機(jī)械工業(yè)出版社,2003 19)李傳軍,單片機(jī)原理及應(yīng)用,河南科技出版社,2006 20)饒慶,89C51單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材,北京人民郵電出版社,2003

      下載基于51單片機(jī)倒計(jì)時(shí)秒表程序設(shè)計(jì)word格式文檔
      下載基于51單片機(jī)倒計(jì)時(shí)秒表程序設(shè)計(jì).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        單片機(jī)課程設(shè)計(jì)之秒表五篇范文

        單片機(jī)課程設(shè)計(jì)報(bào)告題目:基于stc89c52rc的秒表設(shè)計(jì)學(xué)生:唐偉軒 11071339指導(dǎo)老師:日期:2013年12月8日基于stc89c52rc的秒表設(shè)計(jì)此設(shè)計(jì)中硬件部分由王華杲完成,軟件由唐偉軒完成一......

        單片機(jī)課程設(shè)計(jì)-99秒倒計(jì)時(shí)

        單片機(jī)應(yīng)用技術(shù) 課程設(shè)計(jì)指導(dǎo)書 合肥通用職業(yè)技術(shù)學(xué)院 電氣與計(jì)算機(jī)系 二OO九年11月 單片機(jī)應(yīng)用是一門很重要的專業(yè)課,它涉及到的理論及技術(shù)在工業(yè)過程控制、智能儀器儀表及......

        單片機(jī)-分支程序設(shè)計(jì)教案

        一、復(fù)習(xí)上次課內(nèi)容 1、什么是標(biāo)識(shí)符? 答:標(biāo)識(shí)符是程序員選擇的名字,用來標(biāo)識(shí)常量、變量、過程、段名等。2、什么是偽指令? 答:注釋性的,沒有對(duì)應(yīng)的機(jī)器碼,不令計(jì)算機(jī)做任何操作,不......

        單片機(jī)課程設(shè)計(jì)秒表系統(tǒng)設(shè)計(jì)(含5篇)

        單片機(jī)課程設(shè)計(jì) 學(xué)院:信息工程專業(yè):——秒表系統(tǒng)設(shè)計(jì) 一,設(shè)計(jì)目的: 1,熟悉51單片機(jī)的內(nèi)部結(jié)構(gòu),計(jì)數(shù)器,中斷控制器等的用法,來實(shí)現(xiàn)簡(jiǎn)單的控制應(yīng)用系統(tǒng)。 2,通過簡(jiǎn)單系統(tǒng)的設(shè)計(jì)了解單片......

        51單片機(jī)脈沖產(chǎn)生程序設(shè)計(jì)

        獨(dú)立鍵盤控制輸出脈沖信號(hào) 用51單片機(jī)用獨(dú)立鍵盤控制輸出4種頻率:1Hz、2Hz、10Hz、50Hz,占空比為50%的脈沖信號(hào)。 #include #define uint unsigned int #define uchar unsign......

        51單片機(jī)程序設(shè)計(jì)實(shí)訓(xùn)100例

        《單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例---基于8051和PROTEUS仿真》案例 《單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例—基于8051+Proteus仿真》案例 第 01 篇 基礎(chǔ)程序設(shè)計(jì) 01 閃爍的LED /*......

        單片機(jī)實(shí)驗(yàn)9 多分支程序設(shè)計(jì)

        實(shí)驗(yàn)9 多分支程序設(shè)計(jì) 1、實(shí)驗(yàn)內(nèi)容 用P1.0、P1.1控制流水燈的變化 P1.0、P1.1=00燈全滅 P1.0、P1.1=01單燈亮左循環(huán) P1.0、P1.1=10單燈亮右循環(huán) P1.0、P1.1=11雙燈亮左循環(huán)......

        FPGA秒表實(shí)驗(yàn)報(bào)告

        課程設(shè)計(jì)報(bào)告 專業(yè)班級(jí) 課 程 題 目 秒表的設(shè)計(jì) 學(xué) 號(hào) 姓 名 同 組 人 成 績(jī) 2013年5月 一、設(shè)計(jì)目的 1.進(jìn)一步熟悉七段碼譯碼器的硬件接口。 2.掌握用掃描方法驅(qū)動(dòng)多個(gè)數(shù)碼......