欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)控制電影院人數(shù)顯示的設(shè)計(jì)報(bào)告與源碼 [打印本頁(yè)]

作者: yyl6868    時(shí)間: 2018-4-18 07:33
標(biāo)題: 單片機(jī)控制電影院人數(shù)顯示的設(shè)計(jì)報(bào)告與源碼
單片機(jī)控制電影院人數(shù)顯示
學(xué)    院:       機(jī)械工程      
姓    名:        楊        
學(xué)    號(hào):      S2012007002     
指導(dǎo)教師:      魏教授     

一、題目要求
某電影院可容納99人,分別有一個(gè)入口和一個(gè)出口。設(shè)計(jì)一個(gè)單片機(jī)控制裝置,要求時(shí)刻顯示院內(nèi)的人數(shù),超過(guò)90人時(shí)報(bào)警提示,可以手動(dòng)操作清除顯示、可以手動(dòng)改變報(bào)警閥值在70——90之間變化。
設(shè)計(jì)對(duì)應(yīng)的單片機(jī)系統(tǒng)、供電系統(tǒng)、進(jìn)出人的計(jì)數(shù)傳感裝置,報(bào)警的形式。現(xiàn)實(shí)人數(shù)的顯示方式。
二、使用方法
1、通電后顯示“00”
2、設(shè)置報(bào)警閾值(70—90):按第一個(gè)按鈕是加,按第二個(gè)按鈕是減
3、兩對(duì)紅外發(fā)光二極管與光敏二極管,一個(gè)進(jìn)人,即擋上紅外二極管時(shí)數(shù)碼管顯示加一;個(gè)出人,即擋上紅外發(fā)光二極管時(shí)數(shù)碼管顯示減一。而當(dāng)計(jì)數(shù)值大于等于設(shè)定的報(bào)警閾值時(shí),蜂鳴器開(kāi)始響。
4、如果你想重新計(jì)數(shù),可以按第三個(gè)按鈕實(shí)現(xiàn)手動(dòng)清零
三、調(diào)試
1、確定設(shè)計(jì)思路,采用調(diào)用中斷的方式來(lái)計(jì)數(shù)
2、熟悉電路知識(shí),進(jìn)行電路設(shè)計(jì):①片機(jī)的復(fù)位電路采用自動(dòng)復(fù)位;②振蕩電路設(shè)計(jì);③數(shù)碼管顯示電路如果用P0口的話,必須有上拉電阻,其他口不用;④比較電路設(shè)計(jì);⑤蜂鳴器的驅(qū)動(dòng)電路
3、熟悉Proteus軟件,在Proteus中繪制電路原理圖
4、熟悉C語(yǔ)言相關(guān)的知識(shí),在Keil uVision3中進(jìn)行編程、編譯,看有沒(méi)有錯(cuò)誤,同時(shí)編譯時(shí)要記得生成一個(gè)Hex文件,在仿真時(shí)用。
5、把生成的Hex文件調(diào)入Proteus中的單片機(jī)中,看程序能否實(shí)現(xiàn)所要求功能。遇到的問(wèn)題:①起初數(shù)碼管沒(méi)顯示,是因?yàn)槲页绦蛑袥](méi)給它賦初值“00”;② 點(diǎn)仿真按鈕后,數(shù)碼管總顯示“80”,經(jīng)檢查發(fā)現(xiàn)P0口沒(méi)有接上拉電阻;③計(jì)數(shù)進(jìn)位時(shí),總有一個(gè)數(shù)不顯示,檢查發(fā)現(xiàn)比較條件不合理;④報(bào)警時(shí)就響一聲,而不是一直報(bào)警,把程序的條件語(yǔ)句改了一下;⑤蜂鳴器一開(kāi)始只和一電阻串聯(lián)不工作,之后換做了三極管驅(qū)動(dòng)
6、通電后,數(shù)碼管顯示“88”,經(jīng)檢查連接線路,復(fù)位電路沒(méi)有接地
7、檢查單片機(jī)工作電壓,晶振是否工作,都正常
8、在單片機(jī)電源與地之間接上一個(gè)1uF的電容,避免電磁干擾
9、線路有虛焊的地方,又重新連接
10、振蕩電路的晶振和電容排布的離單片機(jī)太遠(yuǎn)有干擾,又重新調(diào)整
11、比較器的電阻過(guò)小,又換了一個(gè)47k大電阻
12、單片機(jī)的EA引腳沒(méi)有接高電平,這樣對(duì)于AT系列的單片機(jī)會(huì)一會(huì)兒高電平一會(huì)兒低電平,工作不穩(wěn)定
13、檢測(cè)光敏二極管在通斷時(shí)的電壓,看是否有高低變化,如果沒(méi)有,說(shuō)明電阻不合適,在斷時(shí)不能將電壓拉下來(lái),換了一個(gè)47K電阻;還是不通,調(diào)整了一下紅外發(fā)光二極管與光敏二極管的對(duì)射位置,通了
四、所需器材
AT89C52單片機(jī)、晶振6MHZ、電解電容、LM339比較器、74HC245、數(shù)碼管(共陰極)、按鈕、三極管、蜂鳴器、紅外發(fā)光二極管、光敏二極管、電阻、電容、導(dǎo)線
五、所需軟件
Proteus、Keil uVision3、Altium Designer
六、電路原理圖
七、制板圖
八、實(shí)物圖
九、工作源程序
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define unit unsigned int
  4. sbit jinren=P3^2;
  5. sbit churen=P3^3;
  6. sbit shezhi_jian=P1^1;
  7. sbit shezhi_jia=P1^0;
  8. sbit baojing=P3^7;
  9. sbit qingling=P1^2;
  10. void delay(uchar);
  11. char j=0;
  12. char h=0;
  13. char k=0;
  14. char i=7;
  15. char code table[]=
  16. {
  17. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,
  18. 0x7d,0x07,0x7f,0x6f
  19. };
  20. void jin(void) interrupt 0/中斷0
  21. {delay(1);
  22. if(jinren==0)
  23. {
  24. j++;
  25. P2=table[j];
  26. P0=table[h];
  27. if(j>9)
  28. {
  29. j=0;
  30. h++;
  31. P2=table[j];
  32. P0=table[h];
  33. }
  34. if(h>9)
  35. {
  36. h=9;
  37. j=9;
  38. P0=table[h];
  39. P2=table[j];
  40. }
  41. }
  42. }
  43. void chu() interrupt 2/中斷1
  44. {
  45. delay(1);
  46. if(churen==0)
  47. {
  48. --j;
  49. P2=table[j];
  50. P0=table[h];
  51. }
  52. if(j<0)
  53. {j=9;
  54. --h;
  55. P0=table[h];
  56. P2=table[j];
  57. }
  58. if(h<0)
  59. {
  60. h=0;
  61. j=0;
  62. P0=table[h];
  63. P2=table[j];
  64. }
  65. }
  66. void main() /主程序
  67. {EA=1;//開(kāi)全局中斷
  68.   EX0=1;//開(kāi)外部中斷1
  69.   EX1=1;
  70.   IT0=1;//設(shè)置為邊沿觸發(fā)方式
  71.   IT1=1;
  72.   ES=1;
  73.   P0=table[0];
  74.   P2=table[0];
  75.    while(1)
  76. {
  77. if(qingling==0)
  78.   {
  79.   j=0;
  80.   h=0;
  81.   P0=table[h];
  82.   P2=table[j];
  83.   }
  84. else if(shezhi_jia==0)
  85. {delay(100);
  86.   P2=table[k];
  87.   P0=table[i];
  88.   k++;
  89.   if(k>10)
  90.   {
  91.   k=0;
  92.   P2=table[k];
  93.   i++;
  94.   P0=table[i];
  95.   }
  96.   if(i>9)
  97.   {                                                                                                               
  98.   i=7;
  99.   P0=table[i];
  100.   P2=table[k];
  101.   }
  102.   if(i==9)
  103.   {
  104.   k=0;
  105.   P2=table[k];
  106.   P0=table[i];
  107.   }
  108.   if(i<7)
  109.   {
  110.   i=7;
  111.   k=0;
  112.   P0=table[i];
  113.   P2=table[k];
  114.   }
  115.   }
  116. else if(shezhi_jian==0)
  117.   {
  118.   delay(100);
  119.   k--;
  120.   P2=table[k];
  121.   P0=table[i];
  122.   if(k<0)
  123.   {
  124.   k=9;
  125.   i--;
  126.   P2=table[k];
  127.   P0=table[i];
  128.   }
  129.   if(i<7)
  130.   {i=7;
  131.   k=0;
  132.   P0=table[i];
  133.   P2=table[k];
  134.   }
  135.   }                                                                                   
  136. else if((j>=(k-1))&&(h>=i))
  137.   {
  138.   baojing=0;
  139.   }
  140. else if(h>i)
  141.   {
  142.     baojing=0;
  143.               }
  144. else
  145. {
  146. baojing=1;
  147. }
  148.   }
  149. }
  150. void delay(uchar x)
  151. {uchar y;
  152. while(x--)
  153. for(y=0;y<250;y++){}
  154. }
復(fù)制代碼


完整的Word格式報(bào)告51黑下載地址:
單片機(jī)作業(yè).doc (2.22 MB, 下載次數(shù): 24)








歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1