找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3580|回復: 2
收起左側(cè)

單片機短路檢測系統(tǒng)proteus仿真

[復制鏈接]
ID:137190 發(fā)表于 2016-9-25 13:09 | 顯示全部樓層 |閱讀模式
100313ho8ojzvzmwqsottz.gif
主要實現(xiàn)了單片機焊接短路檢測功能
程序: 單片機短路檢測.zip (52.58 KB, 下載次數(shù): 25)

  1. #include<main.h>
  2. #include<LCD.h>

  3. sbit k1=P1^0;//
  4. sbit bell=P1^7;
  5. sbit master=P3^5;
  6. sbit slave1=P3^6;
  7. sbit slave2=P3^7;
  8. uchar m,n;
  9. uchar change;
  10. uchar number=1;
  11. uchar sbuf;
  12. void Delay(uint x)//延時函數(shù)
  13. {
  14.         while(x--);
  15. }
  16. void serial_int()//串口初始化
  17. {
  18.          TMOD=0X22;//t1工作在方式2
  19.          SM0=1;//串口工作在方式2
  20.          SM1=1;
  21.          SM2=1;//使能rb8和TB8才能
  22.          REN=1;//接收
  23.          
  24.          TH1=0xF3;//2400BIT/S  485通信速度
  25.          TL1=0xF3;

  26.      TH0=0xF0;
  27.          TL0=0x0F;
  28.          TR1=1;//打開計數(shù)器
  29.          EA=1;//打開中斷
  30.          ES=1;//打開串口中斷
  31.          ET0=1;//打開T0中斷
  32. }

  33. void time0_isr() interrupt 1
  34. {
  35.          TH0=0xF0;
  36.          TL0=0x0F;
  37.          bell=~bell;//蜂鳴器響
  38. }

  39. void com_isr() interrupt 4 //進入串口中斷
  40. {

  41.   TH1=0xF3;//2400BIT/S
  42.   TL1=0xF3;
  43.   RI=0;//復位接受標志位
  44.   sbuf=SBUF;//接受數(shù)據(jù)
  45. }


  46. void key1()//切換成單片機間的切換
  47. {
  48.         if(k1==0)
  49.     {
  50.          change++;
  51.                 if(change>1)
  52.                 change=0;
  53.                 n=0;
  54.         if(change==0)
  55.         {
  56.                         slave1=1;//單片機1發(fā)送模式
  57.                         slave2=0;//單片機2關(guān)閉
  58.                         number=1;
  59.                 }
  60.                 else
  61.                 {
  62.                         slave1=0;//單片機2發(fā)送模式
  63.                         slave2=1;//單片機1關(guān)閉
  64.                          number=2;
  65.                 }
  66.     }
  67. while(k1==0);
  68. }


  69. void main()//主函數(shù)
  70. {
  71.   
  72.         lcd_init();//LCD初始化
  73.         welcome();//開機歡迎
  74.     Delay(50000);
  75.         Delay(50000);//延時
  76.     serial_int();//初始化485(中斷)
  77.     master=0;//設置master為接受
  78.         slave1=1;//1號機發(fā)送
  79.         slave2=0;//2號機等待
  80.         while(1)
  81.         {
  82.                  key1();//按鍵
  83.          if(sbuf==0xff)//如果沒有短路
  84.                 {
  85.           if(n==0)
  86.           {
  87.                         write_lcdcom(0x01);//清屏
  88.                         all_ok(number);
  89.             n=1;
  90.           }
  91.                   TR0=0;
  92.           m=0;
  93.          }
  94.                 else//如果從機有短路
  95.                 {    if(m==0)
  96.                          {
  97.                  write_lcdcom(0x01);//清屏
  98.                          display_1602(number);
  99.                  m=1;
  100.                  n=0;
  101.                          }
  102.                      lcd_printf(sbuf,0xC3);//顯示從機短路的號數(shù)
  103.                          TR0=1;//打開警報器
  104.                 }
  105.         }

  106. }
復制代碼



回復

使用道具 舉報

ID:143203 發(fā)表于 2016-12-23 16:49 | 顯示全部樓層
protues 文件呢
回復

使用道具 舉報

ID:189773 發(fā)表于 2017-4-18 19:06 | 顯示全部樓層
樓主,沒有protues 文件啊。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表