• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      微電腦控制簡易球賽計分牌的設(shè)計與制作

      2015-02-05 08:05:36貴州電子信息職業(yè)技術(shù)學院通信工程系吳政江
      電子世界 2015年13期
      關(guān)鍵詞:球賽計分數(shù)碼管

      貴州電子信息職業(yè)技術(shù)學院通信工程系 吳政江

      微電腦控制簡易球賽計分牌的設(shè)計與制作

      貴州電子信息職業(yè)技術(shù)學院通信工程系 吳政江

      球類比賽中裁判需要計分時通常需要計分牌,以便及時、準確、清楚地記錄并顯示比賽雙方的得分,體現(xiàn)比賽的公正性以及渲染比賽的緊張氣氛。傳統(tǒng)的計分牌采用黑板加粉筆方式,計分麻煩且不環(huán)保。用單片機來設(shè)計計分牌可謂得心應(yīng)手。本文介紹一款微電腦控制簡易球賽計分牌的設(shè)計與制作。硬件上,它是一個具有數(shù)碼管顯示、按鍵輸入、數(shù)據(jù)運算等比較完整的單片機應(yīng)用系統(tǒng)。軟件上,采用C語言編程。旨在向廣大單片機愛好者介紹單片機應(yīng)用系統(tǒng)的基本開發(fā)過程以及C語言程序設(shè)計方法。

      單片機;計分牌;設(shè)計;制作

      引言

      電子信息類專業(yè)各骨干課程不但有較難理解的理論分析,也有大量的實際應(yīng)用電路,因而既要學習理論,更要動手實踐,理論性和實踐性均很強。然而,當前職業(yè)學校學生普遍存在文化基礎(chǔ)不牢,接受能力不佳,學習積極性、分析問題與解決問題能力不高的現(xiàn)實情況。因此,長期以來,職業(yè)學校電子信息類專業(yè)各骨干課程理論教學方法枯燥,實驗教學可操作性差,課程設(shè)計缺乏創(chuàng)新,結(jié)果大多數(shù)學生對這些課程理論理解不清,實驗走過場,課程設(shè)計找槍手,考試弄虛作假。針對這一問題,我們提出了用計算機仿真技術(shù)對電子信息類專業(yè)各骨干課程進行教學改革的思想。本文是用Proteus仿真軟件對單片機課程進行教學改革的一個綜合應(yīng)用。用單片機設(shè)計一個簡易球賽計分牌。硬件上,它是一個具有數(shù)碼管顯示、按鍵輸入、數(shù)據(jù)運算等比較完整的單片機應(yīng)用系統(tǒng)。軟件上,采用C語言編程。

      1 電路結(jié)構(gòu)與工作原理

      1.1 球賽計分牌功能模塊劃分

      (1)人機對話功能模塊。計分牌應(yīng)能及時輸入比賽雙方得分,故電路要求有人機對話功能。這里用4個按鍵來改變比賽雙方得分,按鍵SW1與SW2用來增加及減少比賽一方(如A方)得分數(shù);按鍵SW3與SW4用來增加及減少比賽另一方(如B方)得分數(shù)。

      (2)顯示模塊。采用4只共陽極數(shù)碼管顯示得分情況,最大顯示比分為99∶99,基本能滿足小型比賽要求。其中“∶”由兩只紅色發(fā)光二極管代替,開機時即亮。

      (3)單片機模塊。這里采用AT89C51單片機加復位電路與時鐘電路即可,無需外擴存儲器與I/O口。

      (4)電源模塊。單片機所需的+5V電源可由220伏的交流市電經(jīng)降壓、整流、濾波與穩(wěn)壓得到。

      1.2 硬件電路設(shè)計

      根據(jù)以上功能模塊劃分,確定球賽計分牌硬件電路[1]如圖1所示(電源電路略去未畫,實際制作時應(yīng)補上)。對該電路簡要分析如圖1所示。

      (1)核心部分是由AT89C51單片機與復位電路以及時鐘電路組成的單片機最小應(yīng)用系統(tǒng)。

      (2)根據(jù)計分牌功能要求,用4個共陽極數(shù)碼管顯示比賽雙方得分,數(shù)字顯示中間分隔符“∶”利用兩只紅色發(fā)光二極管來實現(xiàn)。

      (3)Q1、Q2、Q3、Q4為4個共陽極數(shù)碼管驅(qū)動三極管,目的是增強單片機I/O口的電流驅(qū)動能力。

      (4)由于本項目涉及到的按鍵數(shù)較少,故采用獨立式鍵盤結(jié)構(gòu)。4只按鍵分別連接單片機的P1.4~P1.7口(實際制作時可任選單片機其他I/O口,但程序應(yīng)作相應(yīng)的調(diào)整)。

      2 軟件規(guī)劃與設(shè)計

      根據(jù)硬件電路,設(shè)比賽雙方為A與B,按鍵SW1與SW2設(shè)為A方得分加、減按鍵;按鍵SW3與SW4設(shè)為B方得分加、減按鍵。程序采用模塊化設(shè)計,由主函數(shù)及相關(guān)子函數(shù)組成。

      2.1 主函數(shù)

      完成對四個獨立按鍵的無限循環(huán)判斷,并調(diào)動態(tài)掃描函數(shù)顯示比賽雙方得分數(shù)。其流程圖[2]如圖2所示。

      2.2 動態(tài)掃描函數(shù)

      完成BCD碼轉(zhuǎn)換、動態(tài)數(shù)碼管顯示,同時用于按鍵延時消抖。

      圖1 球賽計分牌電路

      2.3 5ms延時函數(shù)

      完成5ms延時,供動態(tài)掃描函數(shù)調(diào)用。

      這里給出C語言參考源程序如下所示。

      #include〈reg51.h〉

      #define uchar unsigned char

      #define uint unsigned int

      sbit sw1=P1?7; //定義A方增加鍵

      sbit sw2=P1?6; //定義A方減少鍵

      sbit sw3=P1?5; //定義B方增加鍵

      sbit sw4=P1?4; //定義B方減少鍵

      uchar duanma[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x 92,0x82,0xF8,0x80,0x90}; //共陽極數(shù)碼管0到9的段碼

      uchar weima[4]={0x7f,0xbf,0xdf,0xef}; //共陽極數(shù)管位碼

      uchar xianshi[4]={0,0,0,0}; //顯示緩存器

      uint jishu=0,affs=0,bffs=0; //定義變量

      void dtsm(void); //聲明動態(tài)掃描函數(shù)

      /*延時約5毫秒函數(shù)*/

      void delay05ms(void)

      {

      uchar j,k;

      for(j=10;j〉0;j--)

      for(k=110;k〉0;k--);

      }

      如圖2所示。

      /*主函數(shù)*/

      void main(void)

      {

      while(1) //無限循環(huán)

      {

      dtsm(); //*******************按鍵判斷**** ********************************

      if(sw1==0) //A方加分鍵按下嗎

      {

      dtsm(); //調(diào)動態(tài)掃描函數(shù)兼作延時消抖

      if(sw1==0) //A方加分鍵還按下嗎

      圖2 計分牌主函數(shù)流程圖

      {

      affs++; //A方分數(shù)加1

      if(affs==100)affs=99; //最大為99

      while(sw1==0)dtsm(); //等待A方加分鍵釋放

      }

      }

      if(sw2==0) //A方減分鍵按下嗎

      {

      dtsm(); //調(diào)動態(tài)掃描函數(shù)兼作延時消抖

      if(sw2==0) //A方減分鍵還按下嗎

      {

      affs--; //A方分數(shù)減1

      if(affs==-1)affs=0; //最小為0

      while(sw2==0)dtsm(); //等待A方減分鍵釋放

      }}

      if(sw3==0) //判斷B方加分鍵

      {

      dtsm();

      if(sw3==0)

      {

      bffs++;

      if(bffs==100)bffs=99;

      while(sw3==0)dtsm();

      }}

      if(sw4==0) //判斷B方減分鍵

      {

      dtsm();

      if(sw4==0)

      {

      bffs--;

      if(bffs==-1)bffs=0;

      while(sw4==0)dtsm();

      }}}}

      /*動態(tài)掃描函數(shù)*/

      void dtsm(void)

      {

      xianshi[0]=duanma[affs/10]; //分離A方分數(shù)十位

      xianshi[1]=duanma[affs%10]; //分離A方分數(shù)個位

      xianshi[2]=duanma[bffs/10]; //分離B方分數(shù)十位

      xianshi[3]=duanma[bffs%10]; //分離B方分數(shù)個位

      //*******************動態(tài)掃描**************** *****************

      jishu++;

      if(jishu==4)jishu=0;

      P2=0x00;

      P2=weima[jishu]; //送位碼

      P0=xianshi[jishu]; //送段碼

      delay05ms();

      }

      本程序采用模塊化設(shè)計有利于程序的升級與修改。程序中按鍵“去抖”不用延時子函數(shù)而用動態(tài)掃描函數(shù)代替,可以提高程序效率,避免在調(diào)用延時子函數(shù)時數(shù)碼管亮度下降甚至出現(xiàn)閃爍現(xiàn)象。調(diào)用一次動態(tài)掃描函數(shù)相當于延時約8ms。這是采用動態(tài)數(shù)碼管顯示時的應(yīng)用技巧之一。

      3 系統(tǒng)調(diào)試

      (1)啟動Proteus軟件,并用其繪制圖1所示電路原理圖。

      (2)啟動Keil軟件。建立工程,輸入上述C語言源程序并編譯調(diào)試生成二進制的目標文件。

      (3)將第(2)步生成的二進制目標文件加載到第(1)步所繪電路原理圖的AT89C51單片機中,然后仿真運行。按下SW1~SW4中的任一按鍵,觀察相應(yīng)的數(shù)碼管顯示是否變化,其變化是否符合要求。

      (4)購買元器件,按硬件電路焊好電路板,將參考程序?qū)懭階T89C51單片機,通電。按下SW1~SW4中的任一按鍵,觀察相應(yīng)的數(shù)碼管顯示是否變化,其變化是否符合要求。調(diào)試完成后,將產(chǎn)品投入實際的球類比賽(如籃球比賽)中使用,看是否能適應(yīng)實際的現(xiàn)場比賽。

      4 結(jié)束語

      文中從電路結(jié)構(gòu)與工作原理、軟件規(guī)劃與設(shè)計以及系統(tǒng)調(diào)試等三個方面簡要介紹了微電腦控制簡易球賽計分牌的設(shè)計與制作。是采用Proteus仿真軟件對單片機原理及應(yīng)用課程進行教學改革的一個綜合性應(yīng)用實例。硬件上,它是一個具有數(shù)碼管顯示、按鍵輸入、數(shù)據(jù)運算等比較完整的單片機應(yīng)用系統(tǒng)。軟件上,采用C語言編程。涉及單片機的內(nèi)部結(jié)構(gòu)及最小應(yīng)用系統(tǒng)、獨立式鍵盤結(jié)構(gòu)與設(shè)計、LED數(shù)碼管接口技術(shù)及其動態(tài)顯示原理以及C語言程序設(shè)計等單片機知識。旨在向廣大單片機愛好者介紹單片機應(yīng)用系統(tǒng)的基本開發(fā)過程以及C語言程序設(shè)計方法。

      [1]吳政江,張定祥.單片機原理及應(yīng)用(基于C語言)[M].北京:化學工業(yè)出版社,2013.

      [2]舒?zhèn)ゼt.單片機原理與實訓教程[M].北京:科學出版社,2008.

      2014年貴州省高校人文社會科學研究項目“基于計算機仿真技術(shù)的電子信息類骨干課程課改研究”(負責人:吳政江;編號:14ZC261)。

      吳政江,貴州電子信息職業(yè)技術(shù)學院副教授,主要研究方向:單片機與嵌入式系統(tǒng)、電子信息技術(shù)、職業(yè)教育等。

      猜你喜歡
      球賽計分數(shù)碼管
      帶定性判斷的計分投票制及其公理刻畫
      邏輯學研究(2021年3期)2021-09-29 06:54:38
      雪中馬球賽
      Arduino編程
      電腦報(2019年2期)2019-09-10 07:22:44
      引導素質(zhì)教育的新高考計分模式構(gòu)想:線性轉(zhuǎn)化計分模式
      MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
      科技風(2019年13期)2019-06-11 13:38:30
      基于單片機的中國式摔跤比賽計分器開發(fā)設(shè)計
      電子制作(2019年9期)2019-05-30 09:42:06
      單片機控制的四位數(shù)碼管動態(tài)顯示編程
      基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計與實現(xiàn)
      球賽輸了
      計分考核表在績效管理中的應(yīng)用效果
      天津護理(2015年4期)2015-11-10 06:12:04
      富顺县| 茌平县| 淮滨县| 巴马| 定结县| 克山县| 中宁县| 九台市| 五常市| 南宫市| 政和县| 拉萨市| 东宁县| 明溪县| 修文县| 光山县| 梨树县| 阳原县| 巴楚县| 丹棱县| 隆子县| 嘉荫县| 淄博市| 清苑县| 江永县| 庆城县| 漠河县| 隆安县| 曲沃县| 太仆寺旗| 富锦市| 囊谦县| 交城县| 清徐县| 永州市| 岑巩县| 北川| 松江区| 天全县| 临西县| 府谷县|