找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4|回复: 0
打印 上一主题 下一主题
收起左侧

单片机+车速监测报警仿真设计 Keil源程序

[复制链接]
跳转到指定楼层
楼主
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机+车速监测+报警    程序
#include "reg51.h"
#include "lcd1602.h"
#include "ADC0832.h"
sbit beep=P2^7;//蜂鸣器
uchar sec=0;//计时
uint freq=0;//频率
uchar lim=100;
uchar hang1[]="speed:000km/h";
uchar hang2[]="limit:000km/h";

void main()
{
        init_1602();//初始化LCD1602
        write_string(1,0,hang1); //显示初始化
        TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
        //设置INT0
        IT0=1;//跳变沿出发方式(下降沿)
        EX0=1;//打开INT0的中断允许。
        TH0=0X3C;        //50ms
        TL0=0Xb0;        
        ET0=1;//打开定时器0中断允许
        EA=1;//打开总中断
        TR0=1;//打开定时器

        while(1);
}
void Timer0() interrupt 1 //定时器0中断
{
        //定时
        if(sec<20)//定时1s
                sec++;
        else
        {
                sec=0;
                EX0=0;//关INT0        
                lim=ADC(1);        
                hang1[6]=freq/100+0x30;//显示速度
                hang1[7]=freq%100/10+0x30;
                hang1[8]=freq%10+0x30;
                write_string(1,0,hang1);
                hang2[6]=lim/100+0x30;//显示速度
                hang2[7]=lim%100/10+0x30;
                hang2[8]=lim%10+0x30;
                write_string(2,0,hang2);
                if(freq>lim)//报警
                        beep=0;
                else
                        beep=1;
                freq=0;
            EX0=1;//开INT0
        }
        TH0=0X46;        //50ms
        TL0=0X2f;        
}
void Int0()        interrupt 0                //外部中断0的中断函数
{
        freq++;
}

下载: 01车速监测报警仿真设计.7z (93.23 KB, 下载次数: 0)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表