2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  無線單片機及應用</b></p><p><b>  課程設計報告</b></p><p>  設計題目: 模擬交通燈 </p><p>  專 業(yè): </p&g

2、t;<p>  組 別: 模擬交通燈組 </p><p>  學生姓名: 學 號: 起止日期: </p><p>  指導教師: </p><p><b>  設計任務書</b>&

3、lt;/p><p><b>  目 錄</b></p><p><b>  1. 內容提要1</b></p><p><b>  2. 課題意義1</b></p><p>  2.1. 課題背景1</p><p>  2.2. 主要功能簡述1<

4、;/p><p><b>  3. 硬件設計1</b></p><p>  3.1. 相關元器件介紹1</p><p>  3.1.1. STC89C52RC單片機2</p><p>  3.1.2. 晶振3</p><p>  3.2. 硬件仿真電路圖4</p><p&g

5、t;  3.3. 實物圖6</p><p><b>  4. 軟件設計6</b></p><p>  4.1. 主程序流程圖6</p><p>  4.2. 運行程流程圖7</p><p>  4.3. 源程序代碼8</p><p>  5. 課程總結12</p><

6、;p>  6. 參考文獻13</p><p><b>  內容提要</b></p><p>  十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。這井然秩序靠的是交通信號燈的自動變燈系統。交通信號燈控制方式很多。本次課程設計采用STC89C52RC單片機實現了通過單片機的P1、P3口按位輸出0或1,控制紅、綠、黃三色發(fā)光二極管按照交通燈的規(guī)律亮或者滅并

7、通過數碼管的顯示亮燈剩余時間的倒計時。 </p><p><b>  課題意義</b></p><p><b>  課題背景</b></p><p>  經濟的快速發(fā)展導致了汽車數量的增加,也加大了道路順暢通行的壓力,擁堵、事故、污染紛至沓來,于是交通燈應運而生,通過紅綠黃三盞看似簡單的燈卻在人們遵守的同時給人們帶來了便利

8、。在緩解了交通堵塞的同時,也減少了交通事故的發(fā)生。開發(fā)出適合實際路況的交通燈便是此次選課的目的。</p><p><b>  主要功能簡述</b></p><p>  初始東西方向為綠燈亮,南北為紅燈亮,東西方向通車。</p><p>  數碼管倒計時35s后,東西路口綠燈熄滅,黃燈亮起。</p><p>  黃燈熄滅后

9、,東西路口紅燈亮同時南北路口綠燈亮,南北方向開始通車。</p><p>  再次倒計時35s后,南北方向綠燈滅,黃燈亮,然后又切換成東西方向通車,如此反復。</p><p><b>  硬件設計 </b></p><p><b>  相關元器件介紹</b></p><p><b>  表1

10、 相關元器件</b></p><p>  STC89C52RC單片機</p><p>  增強型8051單片機,6 時鐘/機器周期和12 時鐘/機器周期可以任意 選擇,指令代碼完全兼容傳統8051。</p><p>  用戶應用程序空間為8K字節(jié)。</p><p>  片上集成512 字節(jié)RAM。</p><

11、p>  通用I/O 口(32 個),復位后為:P0/P1/P2/P3 是準雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。</p><p>  ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數秒即可完成一片。</p><p

12、>  共3 個16 位定時器/計數器,即定時器T0、T1、T2。</p><p>  外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒。</p><p><b>  PDIP封裝。</b></p><p>  圖1 STC89C52RC單片機引腳圖</p><

13、p><b>  晶振</b></p><p>  89C52芯片中的高增益反相放大器,其輸入端引腳XTAL1,輸入端引腳XTAL2。通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容(33pF)。石英晶體為一感性元件,與電容構成振蕩回路,為片內放大器提供正反饋和振蕩所需的相移條件,從而構成一個穩(wěn)定的自激振蕩器。晶振頻率就是晶體振蕩器的振蕩頻率,也就是振蕩電路的脈沖頻率,是單片機的一項重

14、要性能指標,晶振頻率越高系統的時鐘頻率就越高,單片機的運行速度也越快。</p><p><b>  圖2 振蕩電路</b></p><p><b>  硬件仿真電路圖</b></p><p>  圖3 SN綠燈WE紅燈時刻</p><p>  圖4 SN黃燈WE紅燈時刻</p>&

15、lt;p>  圖5 SN紅燈WE綠燈</p><p>  圖6 SN紅燈WE黃燈</p><p><b>  實物圖</b></p><p><b>  圖7 實物正面</b></p><p><b>  軟件設計</b></p><p>&l

16、t;b>  主程序流程圖</b></p><p><b>  運行程流程圖</b></p><p><b>  源程序代碼</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char<

17、/p><p>  uchar code a[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,</p><p>  0x90};//數字0,1,2,3,4,5,6,7,8,9共陽極</p><p>  uchar code b[4]={0x01,0x02,0x04,0x08};//P2口高電平有效w2,w1,w4,w

18、3</p><p>  uchar code c[4]={0x6A,0x6C,0x56,0x36}; //P12綠P14紅,P11黃P14紅,P13紅P15綠,P13紅P16黃 </p><p>  char SN=35,WE=40; //SN表示南北方向綠燈35秒, WE表示東西方向紅燈40秒,</p><p>  char SN_G=35,WE_G=35,

19、Y=5; //SN_G表示南北方向的綠燈 WE_G表示東西方向的綠燈 Y=5黃燈亮5秒</p><p>  uchar i,k=0,count=0;</p><p>  void delay(uchar t);</p><p>  void light();</p><p>  void led();</p><p&g

20、t;<b>  //初始化</b></p><p>  void init(void)</p><p><b>  {</b></p><p>  TMOD=0X01; //定時器0工作模式1,為16位計數器</p><p>  TH0=(65536-46080)/256

21、; //晶振為11.0592MHZ</p><p>  TL0=(65536-46080)%256; //用時50ms</p><p>  ET0=1;//允許T0中斷</p><p>  TR0=1;//啟動計數器</p><p>  EA=1;//總中斷</p><p><b>

22、;  }</b></p><p><b>  //定時函數</b></p><p>  void time1(void) interrupt 1</p><p><b>  {</b></p><p>  TH0=0X3C;//15536D=3CB0H 定時50ms,重新裝置<

23、/p><p><b>  TL0=0XB0;</b></p><p><b>  count++;</b></p><p>  if(count>=20) //定時1秒,20*50ms=1S</p><p>  {

24、 </p><p>  SN--; //SN表示南北方向綠燈減一秒,</p><p>  WE--; // WE表示東西方向紅燈減一秒,</p><p><b>  count=0;</b></p><p>  if(SN==0||WE==0)//當南北方向或者東西方向需要變

25、燈</p><p><b>  {</b></p><p><b>  k++;</b></p><p>  if(k>3) //k每加一次,代表需要更改狀態(tài)了</p><p><b>  {k=0;}</b></p><p

26、><b>  switch(k)</b></p><p><b>  {</b></p><p>  case 0: SN=SN_G,WE=SN_G+Y;break;//東西方向綠燈時間給SN,即35S,南北SN_G+Y即WE紅燈時間40S; </p><p>  case 1: SN=Y,WE=Y;break;

27、 //同時顯示5s。35+5=40,一邊顯示黃燈,一邊倒計時</p><p>  case 2: SN=WE_G+Y,WE=WE_G;break;//和Case 0對應,不過另一個方向40s,一個方向35秒</p><p>  case 3: SN=Y,WE=Y;break; //同時顯示5s,紅燈方向是倒計時的5s,綠燈方向是5S黃燈</p><p>

28、;<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //交通燈函數</b></p><p&g

29、t;  void light()</p><p><b>  {</b></p><p><b>  P1=c[k];</b></p><p>  if(P1==c[1]&&count==0) //黃,紅</p><p><b>  {</b><

30、;/p><p>  TH1=(65536-46080)/256;</p><p>  TL1=(65536-46080)%256;</p><p>  P1=0X6E; //P14紅燈繼續(xù)亮</p><p><b>  }</b></p><p>  else //紅,

31、黃</p><p>  if(P1==c[3]&&count==0)</p><p><b>  {</b></p><p>  TH1=(65536-46080)/256;</p><p>  TL1=(65536-46080)%256;</p><p>  P1=0X76;

32、//P13紅燈繼續(xù)亮</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //數碼管函數</b></p><p>  void led()</p><p><b>  {</

33、b></p><p>  P2=b[0],P0=a[SN/10]; //十位 w1</p><p><b>  delay(5);</b></p><p>  P2=b[1],P0=a[SN%10];//個位w2</p><p><b>  delay(5);</b></p&g

34、t;<p>  P2=b[2],P0=a[WE/10]; //w3</p><p><b>  delay(5);</b></p><p>  P2=b[3],P0=a[WE%10]; //w4</p><p><b>  delay(5);</b></p><p><b>

35、;  }</b></p><p>  void main(void)</p><p><b>  {</b></p><p><b>  init();</b></p><p><b>  for(;;)</b></p><p><b&

36、gt;  {</b></p><p>  light();//交通燈函數</p><p>  led();//數碼管函數</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //延

37、時函數</b></p><p>  void delay(uchar t)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(t;t>0;t--)</p><p><b>  

38、{</b></p><p>  for(i=2000;i>0;i--)</p><p>  { </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&

39、lt;/p><p><b>  課程總結</b></p><p>  本次的課程設計為期有一個星期,卻在忙碌之中眨眼而過,從一開始16號上午的選定課題之后就開始了忙碌的查找資料,一開始也想嘗試做最有挑戰(zhàn)性的無線溫度采集和接受,但是后來發(fā)現和自己知識匱乏的根本做不了這個,于是考慮了一下便選擇了第一個課題交通燈,16號下午便開始嘗試著參考網絡相關資料匯出模擬的仿真電路,由于之

40、前有protel 99SE的學習,仿真電路的繪制并沒有多大問題,不過這里卻發(fā)生了一段小插曲。</p><p>  一開始繪制仿真電路的時候數碼管的選擇是共陰極,相應的程序編寫的時候也是選擇了共陰極的編寫方法,第二天領到數碼管時突然發(fā)現數碼管型號為F526 1BH,為共陽極數碼管,沒有想要的共陰極只好對程序進行修改,但由于對知識的不熟悉,改了很久在仿真的電路上也得不到想要的結果,但是晚上回到宿舍熄燈之后突然發(fā)現想要

41、的數字正好是不亮的部分,于是只能默默的將用于顯示數字的數組a[ ]取反,最終在睡覺前得到了自己想要的結果。第二天便有了思路,發(fā)現將a[ ]取反或者將P2口置于高電平有效都能實現共陽極數碼管的正常顯示。</p><p>  這次的實訓還是存在遺憾的,一是數碼管有一位不亮,影響了整體的效果,再者便是數碼管亮度非常的暗幾乎肉眼不可見。</p><p>  整個實訓過程五味陳雜,不小心被焊錫燙到手

42、指十指連心的疼;一遍遍重新連接電路卻還是得不到想要的結果的沮喪;重復調試閉上眼睛都是LED在亮的無奈;最終電路大部分功能都能實現的欣喜。拿著自己焊接的電路,看著從一塊光禿禿的板子到接滿線路并且能夠按照自己想要的在運行就像看著一個小孩子慢慢長大成才,一股成就感油然而生,這大概就是的知識與實踐結合的魅力吧。</p><p>  在實訓中,以前很多并不是很了解的知識都得到了鞏固,如為了數碼管變亮,嘗試這接了鎖存器,雖然

43、最后并沒有用到,但是對鎖存器的相關知識卻是有了更進一步的了解。</p><p>  在動手操作中理解課堂所學的知識并體會實踐的快樂,這大概就是我實訓最大的收獲。</p><p><b>  參考文獻</b></p><p>  [1] 百度百科. STC89C52[M/OL]. [2014-6-20]. </p><p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論