基于单片机的公车计价系统 包含源程序 和部分电路
#define uchar unsigned char
#define uint unsigned int
uchar table2[]="0123456789abcdef";
sbit lcdwr=P2^6; //液晶使能
sbit lcdrs=P2^5;
sbit lcden=P2^7;
sbit beep=P2^4; //蜂鸣器报警
sbit sclk=P3^7;//DS1302时钟
sbit io=P3^6;
sbit rst=P3^5;
sbit scl=P3^0; //AT24C02
sbit sda=P3^1;
uchar model; //模式标志位
uchar yue,ri,xq,shi,fen,miao; //月,日,星期,时,分,秒
uchar qibu=50,danjia=5; //起步,单价
uint zongjia,lucheng,zzongjia,zlucheng; //总价,路程,总总价,总路程
uchar xiugai,Starting=8; //修改时间和起步价单价标志
uint zj;
uint zlc;
uchar zu; //组数
uint count; //定时器中的数
uint waitmiao,waitfen; //等待时间 秒,分
uint count1,count2; //外部中断中的数
uchar xsfen,xsmiao; //行驶时间分,秒
uchar wait; //等待标志
uint speed; //速度标志
uchar cycount; //速度采样值
void delayms(uint x) //延时xms
{ uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--);}
void delay() //短暂延时
{;;}
/******************************
1602液晶部分
******************************/
void yjwrite_com(uchar com) //液晶写命令
{
lcdrs=0; P0=com; delayms(5);
lcden=1; delayms(5); lcden=0;
}
void yjwrite_date(uchar date) //液晶写数据
{
lcdrs=1;P0=date;delayms(5);
lcden=1;delayms(5); lcden=0;
}
void yjinit() //液晶初始化
{
lcdwr=0;lcden=0;yjwrite_com(0x38);
yjwrite_com(0x0c); yjwrite_com(0x06);
yjwrite_com(0x01); //显示清0,指针清0
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉