找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)排隊叫號系統(tǒng)Proteus仿真 主從機(jī)源程序沒有頭文件 求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:836575 發(fā)表于 2021-5-6 19:19 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
主從機(jī)之間的叫號取號串行通信,缺少頭文件 求大神指導(dǎo)如何 編寫?

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include "LCD1602.h"                        //包含自定義頭文件
  2. #include "reg51.h"
  3. #include <math.h>
  4. #include <intrins.h>
  5. #define uchar unsigned char
  6. #define uint unsigned int

  7. sbit btn1 = P1^0;                //1號窗口
  8. sbit btn2 = P1^1;                //2號窗口
  9. sbit btn3 = P1^2;                //3號窗口
  10. sbit beep = P1^6;                //蜂鳴器
  11. sbit Green = P2^3;
  12. uchar S = 1; //初始化主機(jī)按鈕電平
  13. uchar an = 0;//叫號數(shù)
  14. uchar an_1 = 0;
  15. uchar an_2 = 0;
  16. uchar an_3 = 0;
  17. uchar receiveData = 0;           //接收到的數(shù)據(jù)
  18. //*************************延時函數(shù)***************************//
  19. void delay(uint i){
  20.         int j=0;
  21.         for(j=0;j<i;j++);        
  22. }
  23. //******************************串口初始化函數(shù)**************************************
  24. void UsartInit(){
  25.         SCON=0X50;                        //設(shè)置為串口工作方式1
  26.         TMOD=0X20;                        //設(shè)置定時器工作方式2
  27.         PCON=0X00;                        //波特率不加倍        PCON第一位是SMOD與波特率的倍數(shù)有關(guān)
  28.         TH1=0XF3;                                //計數(shù)器初始值設(shè)置,波特率是2400的
  29.         TL1=0XF3;
  30.         ES=1;                                                //打開接收中斷
  31.         EA=1;                                                //打開總中斷
  32.         TR1=1;                                            //打開計數(shù)器
  33.         LCD_init();                                //LCD1602顯示屏初始化
  34. }         
  35. //*********************************蜂鳴器響應(yīng)函數(shù)***********************************
  36. void beepx(){
  37.         beep=0;
  38.          delay(10000);
  39.           beep=1;
  40. }

  41. //************************數(shù)據(jù)發(fā)送函數(shù)*********************
  42. void sendchar(){
  43.    TI = 0;
  44.    SBUF = an;
  45.            while(!TI);                         //等待發(fā)送數(shù)據(jù)完成
  46.         TI = 0;
  47. }
  48. //********************************窗口工作選擇**************************
  49. void Win_sel(){
  50.         if(btn1 == 0){
  51.                                 delay(1000);
  52.                                 if(btn1 == 0){
  53.                                         if(receiveData>an){
  54.                                                 an++;
  55.                                                 an_1 = an;
  56.                                                 LCD_row(2);
  57.                                                 LCD_DispString("num:");
  58.                                                 LCD_disp_char(2, 6, an_1 / 10 + '0');
  59.                                                 LCD_disp_char(2, 7, an_1 % 10 + '0');
  60.                                                 sendchar();
  61.                                         }
  62.                                         while(!btn1);
  63.                                         delay(1000);
  64.                                 }
  65.                         }
  66.                         else if(btn2 == 0){
  67.                                 delay(1000);
  68.                                 if(btn2 == 0){
  69.                                         if(receiveData>an){
  70.                                                 an++;
  71.                                                 an_2 = an;
  72.                                                 LCD_row(2);
  73.                                                 LCD_DispString("num:");
  74.                                                 LCD_disp_char(2, 10, an_2 / 10 + '0');
  75.                                                 LCD_disp_char(2, 11, an_2 % 10 + '0');
  76.                                                 sendchar();
  77.                                         }
  78.                                         while(!btn2);
  79.                                         delay(1000);
  80.                                 }
  81.                         }
  82.                         else if(btn3 == 0){
  83.                                 delay(1000);
  84.                                 if(btn3 == 0){
  85.                                         if(receiveData>an){
  86.                                                 an++;
  87.                                                 an_3 = an;
  88.                                                 LCD_row(2);
  89.                                                 LCD_DispString("num:");
  90.                                                 LCD_disp_char(2, 14, an_3 / 10 + '0');
  91.                                                 LCD_disp_char(2, 15, an_3 % 10 + '0');
  92.                                                 sendchar();
  93.                                         }
  94.                                         while(!btn3);
  95.                                         delay(1000);
  96.                                 }
  97.                         }        
  98. }
  99. //*******************************串口模式************************
  100. void time1 (void) interrupt        4
  101. {
  102.         if(RI == 1)
  103.    {
  104.         receiveData = SBUF;//出去接收到的數(shù)據(jù)
  105.         RI = 0;//清除接收中斷標(biāo)志位
  106.         }                        
  107. }
  108. //*************************主函數(shù)*******************************
  109. int main(void){
  110. ……………………

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


所有資料51hei提供下載:
51單片機(jī)排隊叫號系統(tǒng)完整.zip (32.22 KB, 下載次數(shù): 79)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:836575 發(fā)表于 2021-5-6 19:19 | 只看該作者
完整代碼及仿真原理圖均在下載里
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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