资源简介
毕业设计__基于单片机的公交车自动报站系统
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个文件信息
- 上一篇:口腔医疗管理系统代码及安装
- 下一篇:数据结构试题(哈工大期末考试)
相关资源
- 利用DS1302和msp430进行闹钟和万年历的
- STM32F407实时时钟_DS1302实时时钟模块和
- 基于STM32F103的实时时钟程序,采用D
- 51单片机_DS1302时钟芯片_共阴数码管
- DS1302时钟带可调时间显示
- DS1302+DS13B20+12864,万年历。农历
- AVR多功能实验箱DS1302时钟实验源码资
- 畅学STM32多功能实验箱DS1302时钟芯片源
- 实现按键控制设定温度值,控制继电
- 流水灯设计.zip
- 按键控制系统音量
- stm32f103和时钟芯片ds1302
- STM32+RTCDS1302实时时钟设计,整个工程
- DS1302驱动程序.zip
- FPGA VGA lcd1602 显示时钟 闹钟 按键控制
- 在FPGA开发平台上,通过按键控制一个
- stm32秒表程序
- STM32按键控制L298N驱动两直流电机正反
- DS1302程序开发运用在STM32F103
- STM32 通过按键控制LED灯亮度
- 51单片机通过DS1302进行时钟显示,并在
- STC89C52RC+DS1302电子时钟设计
- DS1302中文资料手册
- STM32F103+DS1302
- 公交车报站器原理图和PCB设计
- DS1302 数码管显示 带闹钟可调
- 辉光管时钟全套开源资料 PCB 源码 5
- 数字时钟设计内含原理图、源代码、
- 51单片机通过蜂鸣器实现电子琴7个音
- 基于MSP430G2553和NRF24L01的DS1302时钟程序
评论
共有 条评论