找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3966|回复: 3
打印 上一主题 下一主题
收起左侧

胎压监测单片机串口传输的Proteus仿真与源程序

[复制链接]
跳转到指定楼层
楼主
胎压监测,利用了单片机串口传输数据,也可以只用一个蓝牙模块,通过发送端的单片机,连接蓝牙模块,然后手机连接蓝牙,并且下载一个蓝牙串口助手,就可以实现手机与单片机通讯了,还可以通过接受数据来实现各种指令,再进一步就可以单独写一个APP来与单片机通讯了,不过我暂时还不会写APP,希望能有高手写这么个APP来共享一下

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



胎压监测接收端单片机源程序如下(发送端程序在附件中):
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include <1602.h>
  4. typedef unsigned int u16;          //对数据类型进行声明定义
  5. typedef unsigned char u8;
  6. u8 y,changdu=0;
  7. unsigned char x[3];
  8. void delayms(unsigned char xms)
  9. {
  10. unsigned char i,j;
  11. for(j=xms;j>0;j--)       
  12. for(i=114;i>0;i--);
  13. }
  14. void init()
  15. {
  16.      SCON=0X50;                        //设置为工作方式1
  17.         TMOD=0X20;                        //设置计数器工作方式2
  18.         PCON=0X80;                        //波特率加倍
  19.         TH1=0XF4;                                //计数器初始值设置,注意波特率是4800的
  20.         TL1=0XF4;
  21.         ES=1;                                                //打开接收中断
  22.         EA=1;                                                //打开总中断
  23.         TR1=1;                                        //打开计数器
  24. }
  25. void Usart() interrupt 4
  26. {
  27.        
  28.         x[changdu]=SBUF;//出去接收到的数据
  29.         if(RI)
  30.         {
  31.                 changdu++;
  32.                 RI = 0;//清除接收中断标志位
  33.         }
  34. }
  35. void main()
  36. {
  37.         init();
  38.         LCD_init();
  39.         while(1)
  40.         {
  41.                 if(changdu>3)
  42.                         {
  43.                                 LCD_disp_char(0,1,num[x[0]]);
  44.                                 LCD_disp_char(1,1,num[x[1]]);
  45.                                 LCD_disp_char(2,1,num[x[2]]);
  46.                                 LCD_disp_char(3,1,num[x[3]]);
  47.                                 delayms(1000);
  48. //                                LCD_disp_char(0,2,num[y/1000]);
  49. //                                LCD_disp_char(1,2,num[y/100%10]);
  50. //                                LCD_disp_char(2,2,num[y%100/10]);
  51. //                                LCD_disp_char(3,2,num[y%10]);
  52.                                 changdu=0;
  53.                         }
  54.         }
  55. }
复制代码



所有资料51hei提供下载:
胎压监测串口传输.zip (92.75 KB, 下载次数: 105)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:513208 发表于 2019-4-16 10:29 | 只看该作者
楼主,这个显示屏显示的数字是什么意思啊?
回复

使用道具 举报

板凳
ID:870482 发表于 2020-12-30 09:51 来自手机 | 只看该作者
楼主,这个怎么运行呀
回复

使用道具 举报

地板
ID:912188 发表于 2021-4-25 23:50 | 只看该作者
729517 发表于 2020-12-30 09:51
楼主,这个怎么运行呀

先把程序写好,然后再运行仿真
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表