出租车计费仿真原理图如下

单片机源程序如下:

#include

#include


unsigned code num[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

unsigned char data x_pos, y_pos;

sbit rs=P2^0;

sbit  rw=P2^1;

sbit  e=P2^2;


sbit Control=P3^5;

bit  swit_flg=0;


unsigned char time,minte,second;

unsigned char result;


void delay_ms(unsigned char ms)

{   unsigned int i,j;

    for(i=ms;i>0;i--)

        {

          for(j=200;j>0;j--);

          for(j=102;j>0;j--);

          }

}


void busy(void)

{

    unsigned char i;

        P0=0xff;

        rs=0;

        rw=1;

        e=1;

        for(i=0;i<20;i++)

           if((P0&0x80)==0) break;

        e=0;

}

void  LcdWD(unsigned char d)

{

    busy();

        rs=1;

        rw=0;

        P0=d;

        e=1;

        _nop_();        

        e=0;

}

void LcdWC(unsigned char c)

{

    busy();

        rs=0;

        rw=0;

        P0=c;

    e=1;

        _nop_();

        e=0;

}

void LcdInit(void)

{

    LcdWC(0x38);     //显示模式设置

        delay_ms(3);         //延时3ms

    LcdWC(0x38);

        delay_ms(3);

        LcdWC(0x38);

        delay_ms(3);

        LcdWC(0x38);

        delay_ms(3);


        LcdWC(0x08);   //显示关闭

        LcdWC(0x01);   //清屏        

        delay_ms(3);


        LcdWC(0x06);   //显示光标移动设置

        LcdWC(0x0c);   //开显示及   光标设置        

}


void charlcdpos(unsigned char x,unsigned char y)

{

    x_pos=x;

        y_pos=y;

        x_pos&=0x0f;

        y_pos&=0x01;


        if(y_pos==0)  LcdWC(x_pos|0x80);           //  写第一行命令

        else    LcdWC(x_pos|0xc0);                           //  写第二行命令

}


void putchar(unsigned char x,unsigned char y,unsigned char c)

{

    charlcdpos(x,y);

        LcdWD(c);

}

/*

void charcursornext(void)

{

    x_pos++;

        if(x_pos>15)

        {

           x_pos=0;

           y_pos++;

           y_pos&=0x1;

        }

}

  */ 

void  displayInit(void)

{  unsigned char tmp;



                    tmp=time/10;putchar(4,0,num[tmp]);

                        tmp=time%10;putchar(5,0,num[tmp]);        putchar(6,0,0x3a);


                        tmp=minte/10;putchar(7,0,num[tmp]);

                        tmp=minte%10;putchar(8,0,num[tmp]);        putchar(9,0,0x3a);


                        tmp=second/10;putchar(10,0,num[tmp]);

                        tmp=second%10;putchar(11,0,num[tmp]);


                        tmp=result/10; putchar(7,1,num[tmp]);

                        tmp=result%10;putchar(8,1,num[tmp]);

        

}

void IRS_EX0() interrupt 0 using 1

{

        if(swit_flg==0)

        {        time=0;

                minte=0;

                second=0;

                result=0;

                swit_flg=1;

                ET0=1;

                ET1=1;

                TR0=1;

            TR1=1;

        }

        else if(swit_flg==1)

        {        result=(minte*60+second)*2;

            swit_flg=0;

                ET0=0;

                ET1=0;


        }

}

void  IRS_T0() interrupt 1 using 2

{

        Control=1;

        TH0=0XD8;

        TL0=0XF0;

        Control=0;

}

void  ISR_T1() interrupt 3 using 2

{

        second++;

                if(second>=60)

                {        second=0;

                        minte++;

                }

                if(minte>=60)

                {        minte=0;

                        time++;

                }

                if(time>=24) time=0;

}

void init_TC()

{

        TMOD=0X61;

        TH0=0Xd8;  //

        TL0=0Xf0;

        TL1=0XbC;//TL1=0X9C;

        TH1=0XbC;

        //IE=0X8A;

        Control=0;

//   TR0=1;

//        TR1=1;

}

void init_EX0()

{

        IT0=1;

        EX0=1;

        EA=1;

}



void main()

{  unsigned char  tmp;


        LcdInit();

        displayInit();           

        delay_ms(100);


        init_TC();

        init_EX0();


        while(1)

        {

……………………




关键字:出租车计费  原理图  单片机 引用地址:出租车计费仿真原理图+单片机源程序

上一篇:51单片机PCF8591 AD DA转换电位器控制舵机旋转的源程序
下一篇:ESP8266的单片机程序,一页版

推荐阅读

来自印度人工智能的一个研究小组开发出一种工具,它能在监控视频中通过人的高度,衣服颜色和性别搜索人,就像一个搜索引擎一样,通过一个简单的视频便能够找到人。科学家们通过深度学习和微软的COCO(可可数据库)来训练一个卷积神经网络如何识别人类的某些特性,比如,“女性穿红色衬衫,高153厘米”,通过这个工具便能缩小整个视频的搜索范围。进击的人工智...
美媒称,中国新设了一只价值2041.5亿元人民币(约合289亿美元)的国家半导体基金。中国正寻求培育本土芯片产业,并缩小与美国的技术差距。据美国《华尔街日报》网站10月25日报道,根据企业注册信息,这只政府支持的基金是22日成立的,规模比2014年发起的一只类似基金大,那只基金筹集了约1390亿元人民币。报道称,这只新基金是中国决心降低对美国技术依赖...
今年的 iPhone 12 系列,除了 5G 和 A14 仿生芯片之外,整机防护性能也是今年进步很大的一部分。iPhone 12 全系采用了 Ceramic Shield 超瓷晶面板,而防水性能也从去年的 2 米深 / 30 分钟(iPhone 11)和 4 米深 / 30 分钟(iPhone 11 Pro)升级为全系 6 米深 / 30 分钟,堪比 bug 一样的防水性能让 iPhone 12 胜任一...
10月28日,深圳市皇庭国际企业股份有限公司发布公告称,为更好地推动意发功率的业务发展,对公司投资收购意发功率的方案进行优化调整。即由收购意发功率的股权调整为由全资子公司深圳市皇庭基金管理有限公司(以下简称“皇庭基金”)向意发功率增资5000万元。本次增资完成后公司将通过皇庭基金间接持有意发功率的股权比例为13.3774%。图片来源:皇庭国际公...

史海拾趣

问答坊 | AI 解惑

有需要电感、变压器样品的工程师请进来,可能会有您用到的产品。

本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 我工厂位于深圳观澜,是一家专业电感、贴片变压器生产商.在品质、交期、单价各方面都有一定的优势.有需要这方面样品的工程师敬请联络索样,我会尽快免费提供给大家,谢谢! 美登一电子(深圳)有 ...…

查看全部问答∨

正弦波信号发生器VHDL源代码

本帖最后由 paulhyde 于 2014-9-15 09:44 编辑 拿出来恭喜  …

查看全部问答∨

50Mhz分频的问题

怎么将50M的时钟分频成153600hz? 用普通的方法好像不能解决,因为除不尽。 我设想用一个pll,倍频后,再分 高手指教…

查看全部问答∨

有操作系统的嵌入式设备和没有操作系统的嵌入式设备之间的区别

有操作系统的嵌入式设备和没有操作系统的嵌入式设备之间的区别,以及有操作系统的嵌入式设备的优点是什么??…

查看全部问答∨

初学者问几个问题,关于wince与arm,望高人指教

首先,我用的是微芯力科的ws-430评估板,cpu为at91rm9200,要求用wince开发。 评估板附带的资料只有linux以及ucos系统的,没有wince的资料,打电话到微芯力科公司,被告知该板不支持wince,因为wince要求某尺寸的真彩屏幕,而我的板子上是一个128 ...…

查看全部问答∨

如何验证下位机的串行发送程序

我现在没有芯片,只是在keilc中写的串行通信程序,我想验证一下它能不能实现发送字节,只有一台的情况下该如何做?其中发送字节程序是? void sendbyte(unsigned char word) { SBUF=word; while(TI==0);   TI=0; } …

查看全部问答∨

到底怎么才算嵌入式编程?

会C语言就算是会嵌入式编程了吗?…

查看全部问答∨

原以为写个usb驱动很简单

DOS下的usb storage驱动一个比一个不好用,我一急就决定自己写一个,结果搞了20天了,还一头浆糊,怎么办。想来想去还是原始社会好啊…

查看全部问答∨

AD快捷键大全

挺全的,ad6的快捷键大全,很实用的…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved