<rt id="cwx28"></rt><rt id="cwx28"><delect id="cwx28"><bdo id="cwx28"></bdo></delect></rt><bdo id="cwx28"></bdo><noframes id="cwx28"><noframes id="cwx28"><rt id="cwx28"><delect id="cwx28"></delect></rt><noframes id="cwx28"><noframes id="cwx28"><rt id="cwx28"></rt><noframes id="cwx28"><rt id="cwx28"></rt> <delect id="cwx28"></delect><bdo id="cwx28"></bdo><rt id="cwx28"></rt><delect id="cwx28"></delect><rt id="cwx28"></rt><noframes id="cwx28"><rt id="cwx28"><delect id="cwx28"></delect></rt><noframes id="cwx28"><noframes id="cwx28"><rt id="cwx28"><delect id="cwx28"></delect></rt><rt id="cwx28"></rt><noframes id="cwx28"><rt id="cwx28"><rt id="cwx28"></rt></rt> <noframes id="cwx28"><noframes id="cwx28"><rt id="cwx28"><delect id="cwx28"></delect></rt><noframes id="cwx28"><noframes id="cwx28"><noframes id="cwx28"><noframes id="cwx28"><rt id="cwx28"><rt id="cwx28"></rt></rt><noframes id="cwx28"><noframes id="cwx28"><rt id="cwx28"></rt><noframes id="cwx28"><rt id="cwx28"><rt id="cwx28"></rt></rt>
  • 領導講話
  • 自我介紹
  • 黨會黨課
  • 文秘知識
  • 轉正申請
  • 問題清單
  • 動員大會
  • 年終總結
  • 工作總結
  • 思想匯報
  • 實踐報告
  • 工作匯報
  • 心得體會
  • 研討交流
  • 述職報告
  • 工作方案
  • 政府報告
  • 調研報告
  • 自查報告
  • 實驗報告
  • 計劃規劃
  • 申報材料
  • 當前位置: 勤學考試網 > 公文文檔 > 述職報告 > 正文

    數碼管隨機模擬顯示乘法口訣實驗報告

    時間:2020-11-20 12:50:37 來源:勤學考試網 本文已影響 勤學考試網手機站

    寧 波 工 程 學 院

    設計與討論

    課程設計報告

    課 題 題 目: 數碼管隨機模擬顯示乘法口訣

    學 院 名 稱: 電子與信息工程學院

    專 業:

    學生 姓名:

    指 導 教 師:

    目錄

    第一章 技術指標

    1.1整體功能要求

    1.2系統結構要求

    1.3設計條件

    第二章 整體方案設計

    1. 整體方框圖及原理

    第三章 單元電路設計

    3.1數碼管顯示及其掃描程序

    3.2數碼管顯示的生成

    3.3主程序

    3.4 隨機產生被乘數與乘數,并得到乘積

    3.5 整體電路圖

    第四章 測試與調整

    第五章 設計小結

    5.1 設計任務完成情況

    5.2 問題及改進

    5.3心得體會

    附錄

    AT89C51

    七段顯示數碼管

    74LS245

    參考文獻

    技術指標

    整體功能要求

    每次按下一次K1鍵時會模擬顯示一道乘法口訣,第1,3位數碼管顯示被乘數與乘數,第4位數碼管顯示等號,第5,6位數碼管顯示乘積.

    在模擬口訣時先顯示被乘數與乘數,在接下來的偶數次按鍵下閃爍顯示結果,在結果閃爍顯示時,被乘數與乘數保持靜態顯示,再次按鍵時繼續這一過程。

    系統結構與要求

    按鍵輸入控制的方波輸出裝置結構要求如圖所示。

    按鍵掃描

    按鍵掃描

    單片機(產生隨機被乘數與乘數)

    按鍵次數奇偶判斷

    數碼管顯示

    數碼管隨機模擬顯示乘法口訣整體方案結構方框圖

    設計條件

    軟件要求:uVision,protuse仿真軟件

    具體的器件模塊:

    態掃描數碼管模塊

    單片機控制模塊

    數碼管顯示模塊

    ④ 驅動模塊

    元器件列表 如表1

    元器件名

    數量

    AT89C51

    1

    按鍵

    2

    排阻

    1

    數碼管(六位)

    1

    普通電容(22pf)

    2

    74LS245

    1

    有向電容(10uf)

    1

    RX8

    1

    電阻(10K)

    1

    表1

    第二章 整體方案設計

    1.整體方框圖及原理:如圖2-1原理框圖

    開始

    開始

    判斷是否有鍵按下

    動態掃描數碼管Tmp=0

    Tmp=tmp+1

    判斷按鍵次數即判斷tmp是否為偶數

    顯示六位數碼管上數字

    顯示前四位數碼管數字

    產生隨機數值并進行相關運算

    圖2-1原理框圖

    原理:通過動態掃描數碼管同時設置按鍵次數標志位,判斷按鍵次數是否為偶數,如果是奇數,隨機產生兩個數值,進行乘法運算,顯示四位數碼管數值;如果是偶數,顯示六位數碼管數值。

    第三章 單元電路設計

    3.1 數碼管顯示及其掃描程序,按鍵圖3-1。

    圖3-1

    按鍵掃描顯示程序:

    動態掃描數碼管

    uchar DSY_Index=0xFE; //動態掃描數碼管的索引

    for (k=0;k<6;k++)

    {P3=DSY_Index;//DSY_Index賦值給P3口

    P0=DSY_CODE[ M_ABC[k] ];//將被乘數與乘數,乘積,從P0口輸出

    DSY_Index=_crol_(DSY_Index,1);//DSY_Index的值向左循環移位1位

    DelayMS(1);

    }

    3.2數碼管顯示的生成,如圖3-2:

    圖3-3

    結果的生成程序:

    //乘積(在4,5兩位中顯示)

    M_ABC[4]=M_ABC[0]*M_ABC[2]/10;

    M_ABC[5]=M_ABC[0]*M_ABC[2]%10;

    //當乘積的十位數(即數組中的第4位)為0時不顯示

    if (M_ABC[4]==0)

    M_ABC[4]=10;

    3.3 主程序:

    void main()

    {

    P0=0x00;P3=0xff;

    srand(56); //設置隨機種子

    while(1)

    {

    if(K1==0)

    { tmp=tmp+1;

    DelayMS(10);

    while (K1==0); //等待K1鍵釋放

    if(tmp%2==1)

    Get_Random_Num_A_B();

    }

    if(K2==0)

    {

    tmp=tmp+1;

    DelayMS(10);

    while (K2==0);

    if(tmp%2==1)

    Get_Random_Mul_A_B();

    }

    Display_ABC(); //顯示三個數

    }

    }

    3.4 隨機產生被乘數與乘數,并得到乘積:

    //--------------------

    // 得到隨機數 ,隨機產生被乘數與乘數,并得到乘積

    //--------------------

    void Get_Random_Num_A_B()

    {

    //隨機生成被乘數,乘數

    M_ABC[0]=rand()%9+1;

    M_ABC[2]=rand()%9+1;

    //乘積(在4,5兩位中顯示)

    M_ABC[4]=M_ABC[0]*M_ABC[2]/10;

    M_ABC[5]=M_ABC[0]*M_ABC[2]%10;

    //當乘積的十位數(即數組中的第4位)為0時不顯示

    if (M_ABC[4]==0)

    M_ABC[4]=10;

    }

    3.5 整體電路圖,如圖3-4

    圖3-4

    第四章 測試與調整

    1:通過按一下按鈕鈕得到兩個相乘的數,再按一下得到乘法口訣,看與事實是否相符,測試1組。

    第一組:如圖4-1

    圖4-1

    所得結果如表4-1:

    乘數

    乘數

    結果

    2

    3

    6

    表4-1

    達到實驗設計目的,并且得到合格的實驗結果

    第五章 設計小結

    設計任務完成情況

    通過課程設計,順利地完成了本次設計的技術指標,本設計主要模塊如下:動態掃描數碼管模塊;單片機控制模塊;數碼管顯示模塊;驅動模塊。按鍵的輸入直接影響著隨機函數生成被乘數與乘數,同時按鍵次數影響著顯示數碼管的狀態。

    5.2 問題及改進

    在設計實驗時,存在問題:本實驗隨機數產生的都是個位數,限于數碼管顯示缺陷,無法顯示乘號;起始沒有在奇數次顯示被乘數與乘數,在偶數次顯示全部數碼管的功能,解決方法是添加按鍵奇偶標志位,通過判斷標志位來決定數碼管的顯示

    5.3心得體會

    通過本次課程設計與實際操作,在確立目的的前提下設計相關單片機控制電路,是我們必須掌握的能力。同時在使用部分芯片,我們得查閱相關資料,通過自學芯片的原理并且使用,了解更多在課本上沒有的知識。確定使用的元器件之后,布局的調整也是必不可少的。尤其在布線的時候,容易引起一系列問題,這時候鍛煉我們的布線布局能力。還有在設計電路原理圖之后,我們得設計編寫相關程序,測試和調試,在仿真軟件操作,同時在遇到問題之后,對問題解決的能力。雖然在短暫的學習中,但是學到的知識與能力不僅僅只是本實驗中應用到的,還有更多程序實驗的設計。

    附錄

    AT89C51

    簡要說明:AT89C51是一塊單片機,在硅片上集成了各種部件的微型計算機。這些部件包括中央處理器CPU,數據存儲器RAM,程序存儲器ROM,定時器/計數器和多種I/O接口電路。

    七段顯示數碼管

    簡要說明:能顯示六位的共陰數碼管

    74LS245

    \o "查看圖片" DIR是H時,A→B

    74LS245是我們常用的芯片,用來驅動led或者其他的設備,它是8路同相三態雙向總線收發器,可雙向傳輸數據。74LS245還具有雙向三態功能,既可以輸出,也可以輸入數據。當8051單片機的P0口總線負載達到或超過P0最大負載能力時,必須接入74LS245等總線驅動器。當片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸;(接收) DIR=“1”,信號由 A 向 B 傳輸;(發送)當CE為高電平時,A、B均為高阻態。由于P2口始終輸出地址的高8位,接口時74LS245的三態控制端1G和2G接地,P2口與 驅動器輸入線對應相連。P0口與74LS245輸入端相連,E端接地,保證數據線暢通。8051的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時,74LS245輸入(P0.1←D1),其它時間處于輸出(P0.1→D1)。

    參考文獻

    彭偉《單片機C語言程序設計實訓100例》

    • 考試時間
    • 范文大全
    • 作文大全
    • 課程
    • 試題
    • 招聘
    • 文檔大全

    推薦訪問

    想看手机在线黃色欧美围产一级大片-1级毛片免费视频看一下-av不卡免费啊不想在线观看-国产美女毛片Av一级