久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 醫(yī)院叫號(hào)系統(tǒng)單片機(jī)程序設(shè)計(jì) [打印本頁(yè)]

作者: wkings    時(shí)間: 2019-6-25 14:39
標(biāo)題: 醫(yī)院叫號(hào)系統(tǒng)單片機(jī)程序設(shè)計(jì)
主機(jī)通過(guò)按鍵完成叫號(hào),數(shù)碼管顯示被叫的號(hào),提醒顧客接受服務(wù);
從機(jī)通過(guò)串行通信方式完成排隊(duì)取號(hào)功能;
從機(jī)顯示隊(duì)列中排在其前面的顧客數(shù);

單片機(jī)源程序如下:
  1. #include <reg52.h>

  2. #define LED P2
  3. #define KEY P1
  4. #define DIG P0
  5. unsigned char GetKey(void);
  6. void delay10ms(void);
  7. unsigned char val[16] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};


  8. void         initSer (void);          //串口初始化
  9. unsigned char  sendFlag = 0;     //未發(fā)送數(shù)據(jù)時(shí)
  10. unsigned char  receFlag =0;                //未接受到數(shù)據(jù)時(shí)
  11. unsigned char key=0;

  12. void sendChar(unsigned char sendValue);  //發(fā)送一字節(jié)數(shù)據(jù)

  13. void main(void)
  14. {
  15.         initSer();
  16.         LED=val[key];
  17.         while(1)
  18.         {
  19.           key = GetKey();
  20.                 while(key)                                //單片機(jī)串口收到任意數(shù)據(jù)后,開(kāi)始向PC發(fā)送數(shù)據(jù)
  21.           {
  22.                     LED=val[key];
  23.                    sendChar(key);         //發(fā)送數(shù)據(jù)
  24.                         key=0;                                //發(fā)完了清標(biāo)志        
  25.           }
  26.         }
  27. }

  28. void serInt() interrupt 4        //中斷函數(shù)
  29. {
  30.         if(RI)                  //如果收到任意數(shù)據(jù)
  31.         {
  32.                 RI = 0;
  33.                 P1=SBUF;                //數(shù)據(jù)的變化讓led燈直觀反應(yīng)出來(lái)
  34.                 receFlag=1;   //修改接受標(biāo)志,便于主函數(shù)進(jìn)入while中發(fā)數(shù)據(jù)
  35.         }
  36.         
  37.         if(TI)
  38.         {
  39.                 TI = 0;                    //發(fā)送完一個(gè)數(shù)據(jù)
  40.                 sendFlag = 0;        //清標(biāo)志位
  41.         }
  42. }


  43. void sendChar(unsigned char Value)  //發(fā)送一個(gè)字節(jié)數(shù)據(jù)
  44. {
  45.          SBUF = Value;     
  46.          sendFlag = 1;       //設(shè)置發(fā)送標(biāo)志位,發(fā)一字節(jié)就置位
  47.          while(sendFlag);         //直到發(fā)完數(shù)據(jù),將sendFlag清零后,才退出sendChar函數(shù)
  48. }

  49. void initSer()                //初始化
  50. {
  51.     //注意:剛上電時(shí),SCON是為0的
  52.         TMOD=TMOD|0x20; //T1定時(shí)器模式,工作方式2
  53.         TH1=0Xfd;                   // 256-(11059200/(32*12*9600))
  54.         TL1=0xfd;
  55.         SM0=0;                         //屬于SCON寄存器
  56.         SM1=1;                         //串口工作方式1,10位異步,波特率可改
  57.         REN=1;                         //允許串口接收
  58.         ES=1;                         //開(kāi)串口中斷
  59.     EA=1;                         //開(kāi)總中斷
  60.         TR1=1;                 //啟動(dòng)定時(shí)器
  61. }

  62. unsigned char GetKey(void)
  63. {
  64. unsigned char hang = 0, lie = 0;
  65. unsigned char keyvalue = 0;
  66. // 第1回合第1步
  67. KEY = 0x0f; // 從IO口輸出,寫(xiě)IO口
  68. if (KEY != 0x0f)// 從IO口輸入,讀IO口
  69. {
  70. // 讀出的不是0x0f說(shuō)明有按鍵被按下
  71. // 第1回合第2步:讀出端口從讀出值來(lái)判斷是哪一行
  72. delay10ms();
  73. // 第一回合中算出行號(hào)
  74. switch (KEY)
  75. {
  76. case 0x0e:hang = 1; break;
  77. case 0x0d: hang = 2; break;
  78. case 0x0b: hang = 3; break;
  79. case 0x07: hang = 4; break;
  80. default: break;
  81. }
  82. // 第2回合第1步
  83. KEY = 0xf0;
  84. if (KEY != 0xf0)
  85. {
  86. switch (KEY)
  87. {
  88. case 0xe0:lie = 1; break;
  89. case 0xd0: lie = 2; break;
  90. case 0xb0: lie = 3; break;
  91. case 0x70: lie = 4; break;
  92. default: break;
  93. }
  94. // 經(jīng)過(guò)2個(gè)回合后hang和lie都知道了,然后根據(jù)hang和lie去計(jì)算鍵值即可
  95. keyvalue = (hang - 1) * 4 + lie;
  96. return keyvalue;
  97. }
  98. }
  99. return 0;
  100. }

  101. void delay10ms(void)  //誤差 0us
  102. {
  103. unsigned char a,b,c;
  104. for(c=5;c>0;c--)
  105.          for(b=4;b>0;b--)
  106.                  for(a=248;a>0;a--);
  107. }
復(fù)制代碼

所有程序51hei提供下載:
kunkun.zip (58.49 KB, 下載次數(shù): 27)




作者: yilinghai    時(shí)間: 2019-7-1 16:29
里面只有程序嗎?還是仿真加程序的
作者: wkings    時(shí)間: 2021-12-15 08:24
yilinghai 發(fā)表于 2019-7-1 16:29
里面只有程序嗎?還是仿真加程序的

程序仿真都有




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 青青草av | 国产伦一区二区三区 | 欧美在线激情 | 亚洲视频手机在线 | 精品国产一区二区三区久久久久久 | 国产伦精品一区二区三区精品视频 | 日韩一区二区在线观看视频 | 蜜桃视频在线观看免费视频网站www | 一区二区三区日 | 麻豆久久久久 | 久久精品1 | 国产偷录视频叫床高潮对白 | 日韩不卡一区二区 | 国产一级特黄aaa大片评分 | 国产精品成人国产乱一区 | 国产一区二区在线播放 | 成人欧美一区二区三区黑人孕妇 | 网站国产 | 日韩av一区二区在线观看 | 欧美黄色网 | 欧美久久一区二区 | 国产精品一区二区不卡 | 亚洲人人 | 美女视频一区 | 国产在线精品一区二区三区 | 韩日一区二区三区 | 偷拍自拍在线观看 | 91在线色视频 | 国产美女久久 | 一区二区影院 | 国产精品免费一区二区三区四区 | 亚洲精品乱码久久久久v最新版 | 中文字幕国产一区 | 在线看亚洲 | 精品久久久久久久久久久久久久久久久 | 亚洲国产精品久久久久秋霞不卡 | 国产伦精品一区二区三区在线 | 韩日av在线 | 国产精品一二区 | 一区二区三区欧美 | 台湾佬久久|