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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4088|回復: 2
打印 上一主題 下一主題
收起左側

雙51單片機叫號系統源程序+Proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
兩個51單片機采用串口通信,實現叫號系統,附加為代碼+Proteus仿真,采用LCD12864顯示
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <REG51F.H>
  2. #include <stdlib.h>
  3. #include "uart.h"
  4. #include <stdio.h>
  5. #include "12864.h"
  6. #include "tcs_resource.h"

  7. unsigned char hour = 23;
  8. unsigned char mnt = 59;
  9. unsigned char sec = 50;
  10. sbit KEY1 = P1^0;
  11. sbit KEY2 = P1^1;
  12. void delay(uint ms);
  13. void button();
  14. void Delay10ms(uchar u);
  15. void Timer0Init(void);
  16. void show(void);
  17. void main(void)
  18. {
  19.         num=0;
  20.         TMOD=0x01;
  21.         EA = 1;                        //開總中斷
  22.         ES = 1;                        //串口中斷標志位
  23.         Timer0Init();
  24.         UartInit();
  25.          
  26.         choose12864(2);                //選擇為全屏操作
  27.         init12864();                //初始化12864
  28.         clear12864();                //清屏
  29.         while(1)
  30.         {
  31.                 show();
  32.                 button();
  33.                
  34.         }
  35. }
  36. void show(void)
  37. {
  38.         char j = 0;
  39.         play8(0,0,2,letter[13]);
  40.         play8(0,1,2,letter[20]);
  41.         play8(0,2,2,letter[22]);
  42.         play8(0,3,2,fuhao[0]);
  43.         play8(0,4,2,Number[Number1/10]);
  44.         play8(0,5,2,Number[Number1%10]);
  45.         
  46.         play8(1,0,2,letter[22]);
  47.         play8(1,1,2,letter[15]);
  48.         play8(1,2,2,fuhao[0]);
  49.         play8(1,3,2,Number[num/10]);
  50.         play8(1,4,2,Number[num%10]);
  51.         //顯示時分秒
  52.         play8(0,3,1,Number[hour/10]);
  53.         play8(0,4,1,Number[hour%10]);
  54.         play8(0,5,1,fuhao[1]);
  55.         play8(0,6,1,Number[mnt/10]);
  56.         play8(0,7,1,Number[mnt%10]);
  57.         play8(1,0,1,fuhao[1]);
  58.         play8(1,1,1,Number[sec/10]);
  59.         play8(1,2,1,Number[sec%10]);
  60. }

  61. void button()
  62. {
  63.         if(KEY1==0)
  64.         {
  65.                 delay(5);
  66.                 if(KEY1==0)
  67.                 {                        
  68.                         Number1++;
  69.                         num=Number1-1;
  70.                         choose12864(2);        //選擇為全屏顯示
  71.                         init12864();                //初始化12864
  72.                         clear12864();
  73.                         Delay10ms(1);
  74.                         while(KEY1==0);
  75.                         send();
  76.                 }
  77.         }
  78. }
  79. void delay(uint ms)
  80. {
  81.         uint i,j;
  82.         for(i=ms;i>0;i--)
  83.                 for(j=110;j>0;j--);
  84. }

  85. void Delay10ms(uchar u)               
  86. {
  87.         unsigned char i, j;

  88.         i = 108;
  89.         j = 145;
  90.         while(u--)
  91.         {
  92.         do
  93.         {
  94.                 while (--j);
  95.         } while (--i);}
  96. }

  97. void Timer0Init(void)                //62毫秒@11.0592MHz
  98. {
  99.         TMOD |= 0x01;
  100.         ET0 = 1;
  101.         TR0 = 1;                //定時器0開始計時
  102. }

  103. void T0ISR() interrupt 1
  104. {
  105.         static char n = 0;
  106.         TH0=(65536-62500)/256;//在65.536ms定時器允許的最大范圍內取最大值,1000/n=62.5ms,n=16
  107.         TL0=(65536-62500)%256;        
  108.         n++;
  109.         if(n>15)
  110.         {
  111.                 n = 0;
  112.                 sec++;
  113.                 if(sec>59)
  114.                 {
  115.                         sec = 0;
  116.                         mnt++;
  117.                         if(mnt>59)
  118.                         {
  119.                                 mnt = 0;
  120.                                 hour++;
  121.                                 if(hour>23)
  122.                                         hour = 0;
  123.                         }
  124.                 }
  125.         }
  126. }
復制代碼

所有資料51hei提供下載:
叫號系統.7z (43.97 KB, 下載次數: 68)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:302325 發表于 2020-5-13 12:38 | 只看該作者
感謝分享               
回復

使用道具 舉報

板凳
ID:377614 發表于 2020-6-15 22:36 | 只看該作者
資料文件不全
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品欧美一区二区 | 国产精品久久久久久久久久久新郎 | 国产欧美一区二区三区在线看 | 3级毛片 | 久久久久无码国产精品一区 | 欧美精品网 | 免费观看一级毛片视频 | 国产一级在线 | 黄视频国产 | 丁香久久| 天天草草草 | 久久久久国产精品 | 成人福利在线观看 | 免费看啪啪网站 | 超碰在线97国产 | 第四色影音先锋 | 欧美9999 | 夜夜骚 | 91在线免费视频 | 国产成人精品免高潮在线观看 | 超碰在线免费 | 在线看免费 | 国产一级在线 | 亚洲成a人片 | 在线播放一区二区三区 | 特级生活片| 国产重口老太伦 | 中文字幕成人 | 久久国产精品视频 | 欧美a视频| 成人av鲁丝片一区二区小说 | 一区在线视频 | 亚洲成人久久久 | 成人自拍视频 | 亚洲第一av网站 | 天天干夜夜拍 | 亚洲国产成人精品一区二区 | 在线观看国产www | 精品成人在线视频 | 精品欧美一区二区三区久久久小说 | 日日操夜夜操视频 |