资源简介

毕业设计__基于单片机的公交车自动报站系统 1、下行控制报站:首先按下(下行设置按键),(下行指示灯)亮,然后按下(手动播报)按键控制播报下一站 2、上行控制报站:首先按上(上行设置按键),(上行指示灯)亮,然后按下(手动播报)按键控制播报下一站 3、按下关闭播报按键,则关闭播报功能和清除显示 (需要实物或者实物相关资料私聊)

资源截图

代码片段和文件信息

#include 
#define uint unsigned int
#define uchar unsigned char
#include “value.h“
sbit x_key=P1^3;
sbit s_key=P1^4;
sbit bz_key=P1^5;
sbit gb_key=P1^6;
sbit x_LED=P2^6;
sbit s_LED=P2^7;
uchar x_modes_mode;
uchar x_nums_num;
bit flag_200ms = 1;
uchar flag_c_en;
bit flag_100ms;
sbit dq=P3^2;   //18b20 IO口的定义
uint temperature ;    //温度变量

/************ 延时函数  *****************/
void delay_uint(uint z)
{
 while(z--);
}
/********************************************************************
* 名称 : delay_1ms()
* 功能 : 延时1ms函数
* 输入 : q
* 输出 : 无
***********************************************************************/
void delay_1ms(uint q)
{
 uint ij;
 for(i=0;i for(j=0;j<115;j++);
}
uchar dis_lcd[10];
#include “lcd12864bu.h“
/******************显示时间函数***************************/
void dis_shijian() //显示时间
{
 write_shu16(00*8shi0);
 write_shuzi(10*22*8fuhao[1]0);
 write_shu16(03*8fen0);
 write_shuzi(10*25*8fuhao[1]0);
 write_shu16(06*8miao0);

 write_yhanzi(205*16qita[6]);   //星期
 //write_shu16(014*8week0);
 if(week==0)
 {
  write_yhanzi(107*16xingqi[6]);   
 }
 if(week==1)
 {
  write_yhanzi(107*16xingqi[1]);  
 }
 if(week==2)
 {
  write_yhanzi(107*16xingqi[2]);   
 }
 if(week==3)
 {
  write_yhanzi(107*16xingqi[3]);   
 }
 if(week==4)
 {
  write_yhanzi(107*16xingqi[4]);   
 }
 if(week==5)
 {
  write_yhanzi(107*16xingqi[5]);   
 }
 if(week==6)
 {
  write_yhanzi(107*16xingqi[6]);   
 }
 write_shu16(1*20*80x200);
 write_shu16(1*22*8nian0);
 write_shuzi(11*24*8fuhao[0]0);
 write_shu16(1*25*8yue0);
 write_shuzi(11*27*8fuhao[0]0);
 write_shu16(1*28*8ri0);

 write_shu18b20(1*212*8temperature0);
 write_shuzi(11*214*8dian0);
}
/************初始化显示*****************/
void init_12864_dis() //初始化显示
{
 cs1=1; //左屏开显示
 cs2=0;
 dis_shijian(); //显示时间
}
/***********************18b20初始化函数*****************************/
void init_18b20()
{
 bit q;
 dq=1; //把总线拿高
 delay_uint(1);     //15us
 dq=0; //给复位脉冲
 delay_uint(80); //750us
 dq=1; //把总线拿高 等待
 delay_uint(10); //110us
 q=dq; //读取18b20初始化信号
 delay_uint(20); //200us
 dq=1; //把总线拿高 释放总线
}

/*************写18b20内的数据***************/
void write_18b20(uchar dat)
{
 uchar i;
 for(i=0;i<8;i++)
 {  //写数据是低位开始
  dq=0;  //把总线拿低写时间隙开始 
  dq=dat&0x01; //向18b20总线写数据了
  delay_uint(5);  // 60us
  dq=1;  //释放总线
  dat>>=1;
 }
}

/*************读取18b20内的数据***************/
uchar read_18b20()
{
 uchar ivalue;
 for(i=0;i<8;i++)
 {
  dq=0;  //把总线拿低读时间隙开始 
  value>>= 1;  //读数据是低位开始
  dq=1;  //释放总线
  if(dq==1)  //开始读写数据 
  value|=0x80;
  delay_uint(5);  //60us 读一个时间隙最少要保持60us的时间
 }
 return value;  //返回数据
}

/*************读取温度的值 读出来的是小数***************/
uint read_temp()
{
 uint value;
 uchar low;    //在读取温度的时候如果中断的太频繁了,就应该把中断给关了,否则会影响到18b20的时序
 init_18b20();    //初始化18b20
 write_1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4000  2016-07-23 11:20  仿真源程序\ds1302.h

     文件       7582  2016-07-23 12:13  仿真源程序\lcd12864bu.h

     文件      25073  2013-05-03 15:21  仿真源程序\nongli.h

     文件       6376  2009-05-07 14:37  仿真源程序\STARTUP.A51

     文件      14048  2016-07-23 12:13  仿真源程序\STARTUP.LST

     文件        749  2016-07-23 12:13  仿真源程序\STARTUP.OBJ

     文件      10368  2016-07-23 12:08  仿真源程序\value.h

     文件      54196  2016-07-23 12:13  仿真源程序\公交报站仿真

     文件        731  2018-06-10 09:02  仿真源程序\公交报站仿真.build_log.htm

     文件      13607  2016-07-23 12:10  仿真源程序\公交报站仿真.c

     文件      22383  2016-07-23 12:13  仿真源程序\公交报站仿真.hex

     文件         57  2016-07-23 12:13  仿真源程序\公交报站仿真.lnp

     文件      24855  2016-07-23 12:13  仿真源程序\公交报站仿真.LST

     文件      67021  2016-07-23 12:13  仿真源程序\公交报站仿真.M51

     文件      68845  2016-07-23 12:13  仿真源程序\公交报站仿真.OBJ

    .......      1855  2016-07-23 12:13  仿真源程序\公交报站仿真.opt.bak

     文件     152913  2016-07-23 12:13  仿真源程序\公交报站仿真.plg

    .......      2170  2016-07-23 00:29  仿真源程序\公交报站仿真.Uv2.bak

    .......     71994  2018-06-10 09:02  仿真源程序\公交报站仿真.uvgui.Administrator

    .......     70899  2018-05-15 16:41  仿真源程序\公交报站仿真.uvgui_Administrator.bak

    .......      5837  2018-05-15 16:41  仿真源程序\公交报站仿真.uvopt

    .......     14043  2018-05-05 09:26  仿真源程序\公交报站仿真.uvproj

     文件       1858  2016-07-23 00:29  仿真源程序\公交报站仿真_Opt.Bak

     文件          0  2016-07-22 23:12  仿真源程序\公交报站仿真_Uv2.Bak

    .......      5835  2018-05-05 09:26  仿真源程序\公交报站仿真_uvopt.bak

     文件     123730  2018-05-21 15:41  仿真图\Last Loaded 用DS1302与12864LCD设计的可调式中文电子日历.DBK

     文件      22383  2016-07-23 12:13  仿真图\公交报站仿真.hex

     文件     123744  2018-06-10 09:04  仿真图\用DS1302与12864LCD设计的可调式中文电子日历.DSN

     文件       1507  2018-06-10 09:04  仿真图\用DS1302与12864LCD设计的可调式中文电子日历.PWI

     目录          0  2018-06-10 09:02  仿真源程序

............此处省略4个文件信息

评论

共有 条评论