久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 23400|回復: 8
收起左側

AT89C51單片機秒表計數器課程設計報告

  [復制鏈接]
ID:345860 發表于 2018-6-6 02:19 | 顯示全部樓層 |閱讀模式
目錄
第一章 概述              2
1.1設計任務              2
1.2設計要求              2
1.3設計內容提要              2
第二章 原理圖及元件清單              3
2.1單片機原理圖              4
2.2單片機部分元件圖              4
2.2元器件選取              5
第三章 單片機各引腳定義              5
3.1 51系列單片機              6
3.2單片機各引腳定義表              6
第四章 程序流程圖              6
4.1 程序流程圖              7
第五章 源程序及仿真圖              7
5.1 C語言源程序              7
5.2 Keil仿真              11
第六章 心得體會              9
第七章 參考文獻              10

第一章 概述
1.1設計任務
設計一個單片機控制的秒表系統,利用單片機的定時器/計數器的原理,結合現實電路,LED數碼管以及按鍵來設計計時器。講軟硬件有機的結合起來,是的系統能夠正確的實現開始暫停清零加速等功能,數碼管能夠正確的現實時間。
1.2設計要求
1.采用外部中斷0和1,控制兩位數碼管進行00-99的技術,其中外部中斷0控制進行減1計數,外部中斷1進行加1計數。
1.3設計內容提要
本系統采用AT89C51單片機為中心器件,利用其定時器/計時器定時和計數的原理,結合硬件電路如電源電路、晶振電路、復位電路、顯示電路,以及一些按鍵電路等來設計計時器,凈軟硬件有機的結合起來,其中軟件系統采用匯編語言編寫程序,包括顯示程序,快加程序,暫停,按鍵消抖程序等,硬件系統利用Keil強大的功能來時間,簡單且易觀察
圖1.3系統電路原理
第二章 原理及元件清單
2.1單片機原理
利用Keil畫出原理圖,
2.2 單片機部分元件圖

圖2.2(1)7SEG-MPX2-CA原理圖
圖2.2(2)上拉電阻RESPACK-7示意圖
2.3元選取
元件
數量
元件
數量
AT89C52
1塊
數碼管7SEG-MPX2-CA
2
按鍵
4個
直插針
1排
杜邦線
30根
USB電源線
1根
電路板
1塊
RS232串口線
1根
CRYSTAL:晶振
1個
CAP\CAP-ELEC:電容、電解電容
2個
第三章 單片機各引腳定義
3.1 51系列單片機
1.采用面向控制的指令系統,為滿足控制需要,單片機有更強的邏輯控制能力,特別是單片機巨涌很強的位處理能力。
2.單片機的I/O通常是多功能的。由于單片機芯片上引腳數目有限,為了解決使用引腳數和需要的信號線的矛盾,采用了引腳功能服用的方法,引腳處于何種功能,可由指令來設置或有機器動態來區分。
3.單片機的外部擴展能力很強,在內部的各種功能部件不能滿足應用的需求時,均可在外部進行擴展,與許多通用的危機借口芯片兼容,給應用系統設計帶來了很大的方便。
圖3.1 AT89C51單片機
3.單片機各引腳的定義
第四章 程序流程圖
4.1 程序流程圖
圖4.1 程序流程圖
第五章 源程序及仿真圖
5.1 C語言源程序
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsegned int
  4. sbit g=P2^1;
  5. sbit s=P2^0;
  6. bit button,flag;
  7. uchar shi,ge,temp,t0;
  8. uchar code table[]={
  9. 0x3f,0x6f,0x5b,0x4f,
  10. 0x66,0x6d,0x7d,0x07,
  11. 0x7f,0x6f,0x77,0x7c,
  12. 0x39,0x5e,0x79,0x71
  13. };
  14. voie display(shi,ge);
  15. void delay(uint z)
  16. {
  17.               uint x,y;
  18.               for(x=z;x>0;x--)
  19.                             for(y=110;y>0;y--);
  20. }
  21. uchar switchscan()
  22. {
  23.               temp=P1;
  24.               if(temo==0xfe)
  25.               {
  26.                             delay(5)
  27.                             temo=P1;
  28.                             if(temo==0xfe)
  29.                             {
  30.                                           button=~button;
  31.                                           if(button)
  32.                                           TR0=1;
  33.                                           else
  34.                                           TR0=0;
  35. t0=0;
  36.                                           flag=0;
  37.                                           shi=o;
  38.                                           ge=0;
  39.                             }
  40.               }
  41.               while (temp==0xfe)
  42.               {
  43.                             temp=P1;
  44.                             desplay(shi,ge);
  45.               }
  46.               return button;
  47. }
  48. void keyscan()
  49. {
  50.               temp=P1;
  51.               if(temp==0xfd||temp==0xfb||temp==0xf7)
  52.               {
  53. delay(5);
  54. temp=P1;
  55. if               (temp==0xfd||temp==0xfb||temp==0xf7)                           
  56. switch(temp)
  57.                                           {
  58.                                           case 0xfd:
  59.                                           {
  60.                                                         TR0=~TR0;
  61.                                           }
  62.                                           break;
  63.                                           case 0xfb:
  64.                                           {
  65.                                           TR0=0;
  66.                                           t0=0;
  67.                                           shi=0;
  68.                                           ge=0;
  69.                                           }
  70.                                           break;
  71.                                           case 0xf7:{flag=~flag;}
  72.                                           break;
  73.                             }
  74.               }
  75. }
  76. while(gemp==0xfd||temp==0xfb||temp==0xf7)
  77.               {
  78.               temp=P1;
  79.               display(shi,ge);
  80.               }
  81. }
  82. Void display(shi,ge)
  83. {
  84.               P0=table[shi];
  85.               s=o;
  86.               P0=table[shi];
  87. delay(1);
  88. s=1;
  89. P0=table[ge];
  90. g=o;
  91. P0=table[ge];
  92. delay(1);
  93. g=1;
  94. }
  95. void count()
  96. {
  97.               t0=0;
  98.               ge++;
  99.               if(ge==10){ge=0;shi++;}
  100.               if(shi==10)
  101.               shi=0;
  102. }
  103. main()
  104. {
  105. shi=0;
  106. ge=0;
  107. button=0;
  108. TM0D=0x01;
  109. TH0=(65536-50000)/256;
  110. TL0=(65536-50000)%256;
  111. EA=1;
  112. ET0=0;
  113. while(1)
  114. {
  115. display(shi,ge);
  116. switchscan();
  117. {
  118. while(button)
  119. {
  120. display(shi,ge);
  121. switchscan();
  122. if(button)
  123. keyscan();
  124. }
  125. while(!button)
  126. {
  127. TR0=0;
  128. display(shi,ge);
  129. switchscan();
  130. }
  131. }
  132. }            
  133. }
  134. void timer0() interrut 1
  135. {
  136. TH0=(65536-50000)/256;
  137. TL0=(65536-50000)%256;
  138. t0++;
  139. if(flag)
  140. {
  141. if(t0>=2)
  142. count();
  143. }
  144. if(!flag)
  145. {
  146. if(t0>=20)
  147. count();
  148. }
  149. }
復制代碼


5.2 Keil仿真
圖5.3Keil仿真軟件
第六章 心得體會
自己寫吧!!
第七章參考文獻
直接吧老師的課本給寫上就可以了!

完整的Word格式文檔51黑下載地址:
AT89C51單片機課程設計-秒表計數器.doc (443.5 KB, 下載次數: 186)


回復

使用道具 舉報

ID:652078 發表于 2019-11-29 02:06 來自觸屏版 | 顯示全部樓層
謝謝大哥
回復

使用道具 舉報

ID:753279 發表于 2020-5-16 14:27 | 顯示全部樓層
謝謝大哥
回復

使用道具 舉報

ID:758416 發表于 2020-5-24 15:30 來自觸屏版 | 顯示全部樓層
有沒有打包好的程序?
回復

使用道具 舉報

ID:767784 發表于 2020-6-4 08:36 | 顯示全部樓層
這發布的代碼是錯的 錯誤有點多啊 大哥
回復

使用道具 舉報

ID:770375 發表于 2020-6-5 15:03 | 顯示全部樓層
qwqwqwwqqw 發表于 2020-6-4 08:36
這發布的代碼是錯的 錯誤有點多啊 大哥

兄弟 你有沒有改好的代碼
回復

使用道具 舉報

ID:770375 發表于 2020-6-5 15:03 | 顯示全部樓層
樓主有沒有源代碼
回復

使用道具 舉報

ID:770375 發表于 2020-6-5 15:03 | 顯示全部樓層
樓主有沒有源代碼
回復

使用道具 舉報

ID:770375 發表于 2020-6-5 15:07 | 顯示全部樓層
qwqwqwwqqw 發表于 2020-6-4 08:36
這發布的代碼是錯的 錯誤有點多啊 大哥

大哥 你有沒有改好的程序 跪求
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品爱久久久久久久 | 欧美精品在线免费观看 | 91精品免费| 日日干日日操 | 精品国产一区二区三区久久久久久 | 国产成人精品一区二区三区四区 | 黄色免费网 | jlzzjlzz欧美大全 | 亚洲精品乱码8久久久久久日本 | 免费看一区二区三区 | 国产精品视频网站 | 免费观看国产视频在线 | 成人在线观看欧美 | 青青草中文字幕 | 五月激情久久 | 欧美激情欧美激情在线五月 | 日本一区二区三区四区 | 狠狠干av| 精品国产乱码久久久久久蜜柚 | 国产免费拔擦拔擦8x高清 | 天天插天天操 | 亚洲九九 | 亚洲一区二区三区久久 | 亚洲精品久久久久久一区二区 | 成人av网站在线观看 | 中文字幕av网 | 在线播放国产一区二区三区 | 蜜桃毛片 | 国产精品免费一区二区三区 | 国产小视频在线看 | 91精品国产91久久综合桃花 | 欧美日韩成人在线 | 国产小视频在线看 | 精品视频99| 久久免费视频1 | 国产欧美精品一区二区 | 男人天堂网址 | 日本黄色影片在线观看 | 国产一级片 | 欧美xxxx性xxxxx高清 | 亚洲综合资源 |