基于51单片机RFID的公交车到站语音播报系统设计-学习笔记

1、有2张卡,一张卡代表梧州学院站,另外一张卡代表富民站。

2、第一张卡刷卡后,语音模块播放到站信息,即“梧州学院站到了!”,点阵同时滚动显示:“梧州学院站到了!”。

3、第二张卡刷卡后,语音模块播放到站信息,即“富民站到了!”,点阵同时滚动显示:“富民站到了!”。

4、两张卡刷卡后,继电器将会闭合。(按下复位按键后,继电器断开。)

5、其他卡刷卡后,继电器不任何操作。

6、通过按键可以控制继电器的开和关。(一个按键控制继电器开,另外一个按键控制继电器关)

#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<stdio.h>
#include <intrins.h>
#include "delay.h"
#include "rc522.h"

/*********/
unsigned char code wtxyID[4]={0xF5,0xB3,0x70,0x8B};	//梧桐
unsigned char code fumiID[4]={0x5B,0xD6,0xC6,0xDB};	//富民站
/*********/

sbit relay = P2^0;		  //引脚定义
sbit yuyin_wt = P2^1;
sbit yuyin_fm = P2^2;
sbit key1 = P2^3;
sbit key2 = P2^4;

xdata unsigned char UID[5];	//卡号
xdata unsigned char Temp[4] ; //暂存数组  

xdata unsigned long time_20ms;   //定时计数
xdata unsigned char zhanFlag  =0;//到站标志
bit rekey =0;//防止重复按下

//IO配置
sbit LEDARRAY_D = P1^0;
sbit LEDARRAY_C = P1^1;
sbit LEDARRAY_B = P1^2;
sbit LEDARRAY_A = P1^3;
sbit LEDARRAY_G = P1^4;
sbit LEDARRAY_DI = P1^5;
sbit LEDARRAY_CLK = P1^6;
sbit LEDARRAY_LAT = P1^7;

#define Display_Num_Word 1				//液晶能显示的汉字个数
#define Shift_Speed 2				   	//移动速度
xdata unsigned char Display_Buffer[2];
xdata unsigned char Display_Swap_Buffer[Display_Num_Word][32]={0};					//显示缓冲区
bit Shift_Bit = 0;
bit Flag_Shift = 0;										
unsigned char Timer0_Count = 0;
unsigned char temp_dis = 0x80;
unsigned char Shift_Count = 0;
unsigned char Display_Word_Count = 0;

#define Num_Of_Word_wz 8 
#define Num_Of_Word_fm 6 
点击并拖拽以移动

  

 

posted @ 2020-12-15 21:28  MCU创新DIY  阅读(161)  评论(0)    收藏  举报