找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3496|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

簡易單片機(jī)交通燈顯示系統(tǒng)仿真,帶有急停功能

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)交通燈仿真圖如下(proteus仿真工程文件可到本帖附件中下載)


原理圖:


單片機(jī)源程序如下:
  1. #include "reg51.h"
  2. unsigned char t0,t1;//定義全局變量,用來保存延時(shí)時(shí)間的循環(huán)次數(shù)
  3. unsigned char i,j,k,l,m;
  4. void delay0_10s1()
  5. {
  6. for(t0=0;t0<20;t0++)//采用全局變量作為循環(huán)控制變量
  7. {
  8.         TH1=(65536-46080)/256;// 由于晶振為11.0592,故所記次數(shù)應(yīng)為46080,計(jì)時(shí)器每隔50000微秒發(fā)起一次中斷。
  9.         TL1=(65536-46080)%256;//46080的來歷,為50000*11.0592/12
  10.         TR1 = 1;//啟動(dòng)T1
  11.         while(!TF1);//查出計(jì)數(shù)是否溢出,即50ms定時(shí)時(shí)間一到,TF1 = 1
  12.         TF1 = 0;       
  13. }
  14. }
  15. void delay_t1 (unsigned char t)
  16. {
  17. for (t1 = 0;t1<t; t1++)
  18.         delay0_10s1();
  19. }
  20. void int_0() interrupt 0//緊急情況中斷
  21. {
  22. unsigned char i,j,k,l,m;
  23. i = P1;
  24. j = t0;
  25. k = t1;
  26. l = TH1;
  27. m = TL1;
  28. P1 = 0xdb;
  29. delay_t1 (20);
  30. P1 = i;
  31. t0 = j;
  32. t1 = k;
  33. TH1 = l;
  34. TL1= m;

  35. }
  36. void main()           //主函數(shù)
  37. {
  38.         //unsigned char k;
  39.         TMOD = 0x10;//T1設(shè)置為工作方式1
  40.         EA = 1;     //開總中斷允許位
  41.         EX0 = 1;   //開外部中斷0允許位
  42.         IT0 = 1;   //設(shè)置外部中斷0為下降沿觸發(fā)
  43.         while(1)
  44.         {
  45.                 P1 = 0xde;       //A紅燈,B綠燈,延時(shí)10秒
  46.                 delay_t1(20);
  47.                 P1 = 0xdd;       //A紅燈,B黃燈,延時(shí)3秒
  48. ……………………

  49. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
仿真:
交通燈系統(tǒng)控制電路.rar (93.93 KB, 下載次數(shù): 15)
程序:
交通信號(hào)燈.rar (22.8 KB, 下載次數(shù): 25)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:207455 發(fā)表于 2017-6-3 18:56 來自手機(jī) | 只看該作者
感謝分享謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表