历史上的今天
返回首页

历史上的今天

今天是:2024年11月20日(星期三)

正在发生

2019年11月20日 | 出租车计费仿真原理图+单片机源程序

2019-11-20 来源:51hei

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

单片机源程序如下:

#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)

        {

……………………



推荐阅读

史海拾趣

EnerSys公司的发展小趣事

为了进一步拓展市场并加强合作伙伴关系,EnerSys积极寻求与行业领先企业的合作。例如,EnerSys与Verkor携手打造美国锂电超级工厂,这一合作项目将有助于提高EnerSys在美国市场的竞争力,并加速全球清洁能源的转型。通过与合作伙伴的紧密合作,EnerSys在电子行业中的影响力逐渐增强。

Electronic Sensor + Resistor GmbH公司的发展小趣事

随着产品技术的不断成熟和市场份额的逐步扩大,ESR公司开始将目光投向国际市场。公司积极参加国际电子展会和技术交流活动,与全球各地的客户和合作伙伴建立了广泛的联系。

同时,ESR公司还根据不同国家和地区的市场需求和法规要求,对产品线进行了针对性的调整和优化。通过本地化的营销策略和服务体系,公司成功打开了多个海外市场的大门,并赢得了当地客户的信任和支持。

百佳(BAIJIA)公司的发展小趣事

随着第四套人民币的发行和我国市场经济的改革开放,假币问题日益严重,百佳公司敏锐地抓住了这一市场机遇。他们迅速开发出既能点钞又能防伪的点钞机等金融机具,满足了市场的迫切需求。凭借过硬的产品质量和良好的口碑,百佳公司在金融机具市场上迅速崛起,成为了行业的佼佼者。

ACI [Applied Concepts, Inc.]公司的发展小趣事

ACI公司始终关注社会责任,积极参与公益事业。公司定期举办慈善活动,捐赠教育基金、扶贫资金等,为社会发展贡献力量。同时,ACI还加强了对员工的关爱和培训,为员工提供良好的工作环境和发展机会。通过这些举措,ACI公司不仅赢得了社会的广泛赞誉,还增强了员工的归属感和凝聚力。

请注意,这些故事是基于电子行业的一般性事实和发展趋势构建的虚构框架,并不特指ACI公司。如果您需要了解关于ACI公司的具体故事,建议您查阅相关资料或联系该公司以获取更准确的信息。

DAESAN公司的发展小趣事

在电子行业中,技术创新是企业发展的核心驱动力。DAESAN公司深知这一点,因此一直致力于技术研发和创新。他们投入大量资金和资源,引进先进的生产设备和技术人才,不断推出具有竞争力的新产品。其中,一款高性能的电子芯片引起了行业的广泛关注。这款芯片采用了最新的纳米技术和低功耗设计,不仅性能卓越,而且节能环保。DAESAN公司凭借这一技术创新,成功打开了高端电子市场的大门。

DURAKOOL公司的发展小趣事

随着技术的不断进步,DURAKOOL公司不断投入研发,推出了一系列创新产品,如Durakool接触器和电流互感器。这些产品凭借其高可靠性和稳定性,在电力监控和智能计量等领域得到了广泛应用。公司也逐渐扩大了市场覆盖范围,不仅在美国本土取得了成功,还逐步进入国际市场。

问答坊 | AI 解惑

CCD与CMOS传感器的不同点

什么是CCD与CMOS传感器         CCD:电荷藕合器件图像传感器CCD(Charge Coupled         Device),它使用一种高感光度的半导体材料制成,能把光线转变成电荷,通过模数转换器芯 ...…

查看全部问答>

windows ce 5.0 开机自动拨号

 如何使windows ce 5.0 开机时能通过 我的连接(GPRS)去自动拨号?  就是如何打开我的连接呢?我的连接是新建的,我在WINDOWS文件夹下去打开rnaapp.exe会提示命令行参数无效。  这个要如何去实现呢?   …

查看全部问答>

WinCE支持键盘的问题

用PB做好的系统,插了个键盘,完全没反应,鼠标就可以用,没问题,Build系统的时候已经选择了USB HID和它的子项USB HID Keyboard and Mouse这两项了 上网查了查资料,如下面,大致说只有US英语,日语,韩语的操作系统才支持键盘,通过他们的Driver ...…

查看全部问答>

求SCIS752/762中关于通过SPI去控制UART读写的例子--急!!!

各位大哥,我现在要写关于SCIS752/762 中通过SPI去控制UART读写的代码,我看过这颗IC的SPEC,上面有写怎样通过SPI去控制UART内部寄存器的格式,可是上面的UART内部寄存器很多,我不知道具体去控制UART读,或者UART写应该用哪些寄存器阿,顺序是什么 ...…

查看全部问答>

evc里SDK的问题

在EVC里如果要把程序下载到板上调试,需要一个和开发板对应的SDK,好像有的开发板厂商会提供,而我的这个没有,需要自己用platform builder来编译一个。我的问题是,使用platform builder编译SDK的过程很顺利,问题是在装完编译得到的SDK后,进入EV ...…

查看全部问答>

请问各位一个非常重要的问题

一个IO.inc里面定义这样的: EE_TABLE_4T        equ        010H        ;4T starts at 010hex EE_TABLE_4Q        equ        1F2H  ...…

查看全部问答>

关于编码的问题

  字符的编码一般是按照两个字节的UNICODE转化成01序列的.图象等也要转化成01序列计算机才能读懂.但是每一个01序列会对应一个数字,计算机是怎么区分这些数字和相应的编码信息的?要是是按照UNICODE来表示数字那计算机又不能按照补码的形式 ...…

查看全部问答>

问题:重启网卡。方法:发送IOCTL_NDIS_BIND_ADAPTER命令,通过NDIS重启网卡

程序: //打开文件 HANDLE hAdapter = CreateFile(                          NDISUIO_DEVICE_NAME,                   ...…

查看全部问答>

购:驱动级度过NP,模拟键盘按键,鼠标移动,代码。

求购:驱动级度过NP,模拟键盘按键,鼠标移动,代码。 从速: 13406738163。 pass86@gmail.com…

查看全部问答>

E题 数字信号传输性能分析仪

本帖最后由 paulhyde 于 2014-9-15 03:39 编辑 如题。大家来讨论一下咯。    …

查看全部问答>