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

正文內(nèi)容

單片機(jī)搶答器設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-07-31 22:20 本頁面
 

【文章內(nèi)容簡介】 鍵盤芯片。但這兩種方式存在著不能及時(shí)響應(yīng)、價(jià)格較高等缺點(diǎn)。介紹了一種性價(jià)比高的顯示/鍵盤電路的結(jié)構(gòu)及工作原理。以ATMEL89C51系列單片機(jī)為核心構(gòu)成的顯示/鍵盤電路,他具有功能強(qiáng)、價(jià)格低廉等特點(diǎn)?! “存I可直接連接到STC89C52的P1口,這樣其電路結(jié)構(gòu)最為簡單,工作時(shí)可使用中斷方式,但使用STC89C52在不用掃描方式時(shí)最多只可以有8個(gè)按鍵,~,~,;依次如此?! 〉谒恼?軟件設(shè)計(jì)   搶答器流程圖  流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計(jì)方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對其進(jìn)行描述??傮w框圖中的各個(gè)子模塊或各個(gè)子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫出較詳細(xì)的程序流程圖,供后面編寫具體程序和閱讀程序使用。  流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。為便于識別,繪制流程圖的習(xí)慣做法是:  方框表示:要執(zhí)行的處理(Process)  平行四邊型表示:代表資料輸入(Input)  不規(guī)則圖形代表資料輸出(Output)或報(bào)表輸出(Print)  菱形表示:決策或判斷(例如:If...Then...Else)    圖41 搶答器主程序流程圖    圖42 搶答器定時(shí)器中斷流程圖    圖43 外部中斷程序圖   主程序  我們組所設(shè)計(jì)的搶答器的程序采用的是C程序設(shè)計(jì),C語言的顯著特點(diǎn)是用二進(jìn)制來編寫程序,程序的各個(gè)部分除了必要的信息交流外彼此之間相互獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。雖然C語言也是強(qiáng)類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。本次設(shè)計(jì)的主程序中包括時(shí)鐘設(shè)計(jì)程序,定時(shí)器中斷子程序,LED顯示程序以及按鍵控制子程序,程序設(shè)計(jì)如下:  include  sbit k0=P1^0?! bit k1=P1^1?! bit k2=P1^2?! bit k3=P1^3。  sbit d0=P1^4?! bit d1=P1^5?! bit d2=P1^6?! bit d3=P1^7?! bit B0=P3^7。  sbit l0=P2^0?! bit l1=P2^2?! bit l2=P2^3?! bit l3=P2^4。  sbit kz=P3^0。  unsigned char qiangdanum=0x3f?! nsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。  unsigned char ge=0,shi=0。  unsigned int num=0,time=0。  void display()。 /*顯示函數(shù)*/  void delay(unsigned int)?! ain()  {  TMOD=0X01。 /*采用方式一,即十六位計(jì)數(shù)器*/  TH0=(6553650000)/256。 /*設(shè)置初始值*/  TL0=(6553650000)%256?! T0=0?! A=1。ET0=1。 /*開啟總中斷源*/  EX0=1。 /*啟動外部中斷0*/  {while(1)  {display()。  if(kz==0)  TR0=1。 /*開啟定時(shí)器0中斷*/  if(num==20)  { num=0。  time++。  if(time==60) /*60秒的計(jì)時(shí)*/  time=0。  }  }  }  }  void exter0() interrupt 0 /*外部中斷程序*/  {EA=0。l0=0?! f(k0==0) /*開關(guān)0按下*/  {d0=0。qiangdanum=1。B0=1。  } /* 1號選手搶答成功,數(shù)碼管顯示1,蜂鳴器響,第1個(gè)二極管亮*/  if(k1==0) /*開關(guān)1按下*/  {d1=0。qiangdanum=2。B0=1?!  /* 2號選手搶答成功,數(shù)碼管顯示2,蜂鳴器響,第2個(gè)二極管亮*/  if(k2==0) /*開關(guān)2按下*/  {d2=0。qiangdanum=3。B0=1?!  /* 3號選手搶答成功,數(shù)碼管顯示3,蜂鳴器響,第3個(gè)二極管亮*/  if(k3==0) /*開關(guān)3按下*/  {d3=0。qiangdanum=4。B0=1。  } /* 4號選手搶答成功,數(shù)碼管顯示4,蜂鳴器響,第4個(gè)二極管亮*/  }  void time0() interrupt 1  {num++。  TH0=(6553650000)/256?! L0=(6553650000)%256?!  /*1秒定時(shí)函數(shù)*/  void delay(unsigned int z)  {unsigned int x,y?! or(x=z。x0。x)  for(y=110。y0。y)?!  /*延遲函數(shù)*/  void display(void)  {shi=time/10?! e=time%10。  P2=0xef?! 0=table[ge]。  delay(5)。  P2=0xf7?! 0=table[shi]?! elay(5)?! 2=0xFE?! 0=table[qiangdanum]?! elay(5)?!  /*顯示函數(shù):來顯示060的計(jì)數(shù)*/   中斷程序   什么是中斷  中斷是指由于某種隨機(jī)事件的發(fā)生,計(jì)算機(jī)暫?,F(xiàn)行的程序的運(yùn)行,轉(zhuǎn)去執(zhí)行另一個(gè)程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運(yùn)行?! ∮形宸N中斷源:外部中斷0、外部中斷定時(shí)器中斷0、定時(shí)器中斷串行中斷。它們的描述如下圖所示:  表44 五種中斷源的表示中斷源符號名稱終端引起的原因中斷矢量地址INT0外部中斷00003HT0定時(shí)器中斷0定時(shí)/0013HINT1外部中斷1000BHT1定時(shí)器中斷1定時(shí)/001BHTI/RI串行中斷串行口接收或發(fā)送完幀數(shù)據(jù)引起的中斷0023H  中斷源符號名稱終端引起的原因中斷矢量地址    T0定時(shí)器中斷0定時(shí)/    T1定時(shí)器中斷1定時(shí)/  TI/RI串行中斷串行口接收或發(fā)送完幀數(shù)據(jù)引起的中斷0023H   中斷所用到的寄存器  介紹定時(shí)器/計(jì)數(shù)器中所介紹的寄存器: ?。?)定時(shí)器/計(jì)數(shù)器控制寄存器TCON  TCON的作用是控制定時(shí)器的啟動停止,標(biāo)志定時(shí)器的溢出和中斷情況; ?。?)中斷允許控制寄存器IE  對中斷源的開放或屏蔽是由中斷寄存器IE控制的,地址為0A8H,即可以按字節(jié)尋址,也可以按位尋址。當(dāng)單片機(jī)復(fù)位時(shí),IE被清零。  (3)串行控制寄存器SCON  定時(shí)/計(jì)數(shù)器的控制方法:在啟動定時(shí)/計(jì)數(shù)器工作之前CPU必須將一些命令(稱為控制字)寫入定時(shí)/計(jì)數(shù)器中,這個(gè)過程稱為定時(shí)/計(jì)數(shù)的初始化。(定時(shí)/計(jì)數(shù)器的初始化通過定時(shí)/計(jì)數(shù)器的方式寄存器TMOD和控制寄存器TCON來完成。 ?、俣〞r(shí)/計(jì)數(shù)器方式寄存器TMOD  GATEC/TM1M0GATEC/TM1M0 GATEC/TM1M0GATEC/TM1M0  定時(shí)器1 定時(shí)器0M1M0工作方式功能說明00方式013位計(jì)數(shù)器01方式116位計(jì)數(shù)器10方式2自動再裝入8位計(jì)數(shù)器11方式3定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器;定時(shí)器1:停止計(jì)數(shù)  表45 選擇定時(shí)方式表  M1M0工作方式功能說明  00方式013位計(jì)數(shù)器  01方式116位計(jì)數(shù)器  10方式2自動再裝入8位計(jì)數(shù)器  11方式3定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器;定時(shí)器1:停止計(jì)數(shù)  ②中斷程序的編寫的步驟: ?。?)根據(jù)要求設(shè)置IE(中斷允許寄存器)的對應(yīng)位EA(EA總中斷允許位 EA=1開放所有的中斷;EA=0禁止所有的中斷),某個(gè)中斷源還有相應(yīng)的中斷允許位 ?、佟?dāng)=1時(shí):允許相應(yīng)中斷源的中斷;  ②、當(dāng)=0時(shí):禁止相應(yīng)中斷源的中斷; ?。?)INT0、INT1設(shè)定觸發(fā)方式IT0(外部中
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1