单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机频率计仿真图与源程序(带详细注释)

[复制链接]
跳转到指定楼层
楼主
   各种找资料,花了三天时间弄出来的东西,有源程序
单片机频率计仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


带详细注释的单片机源码如下:
  1. #include<reg52.h>
  2.    #include<intrins.h>
  3.    #define uchar unsigned char
  4.    #define uint unsigned int
  5.    sbit RS=P2^0;   //数据/命令寄存器选择控制端
  6.    sbit RW=P2^1;  //读写控制端
  7.    sbit E=P2^2;          //使能控制端           
  8.    sfr LCD=0x90;  //P1口作为总线端口
  9.    sbit BF=LCD^7;  //就绪线BF,低电平有效

  10.    void lcd_cmd(uchar cmd)
  11.    { LCD=cmd;
  12.      RS=0;//选择命令寄存器
  13.          RW=0;//执行写数据操作
  14.          E=1;
  15.          _nop_();//延时
  16.          E=0;        //使能信号有效
  17.          while(1)
  18.            {LCD=0xff;//总线变高
  19.             RS=0;        //选择命令寄存器
  20.             RW=1;//读操作
  21.             E=0; //使能信号有效
  22.             _nop_();
  23.             E=1; //撤销使能信号
  24.             if(BF==0)break;  //如果就绪,返回
  25.            }
  26.    }
  27.      
  28.    void lcd_dat(uchar dat)
  29.    {
  30.      LCD=dat;//显示数据总线
  31.      RS=1;//选择数据寄存器
  32.          RW=0;//执行写数据操作
  33.          E=1;
  34.          _nop_();//延时
  35.          E=0;        //使能信号有效
  36.          while(1)
  37.            {LCD=0xff;//总线变高
  38.             RS=0;        //选择命令寄存器
  39.             RW=1;//读操作
  40.             E=0; //使能信号有效
  41.             _nop_();
  42.             E=1; //撤销使能信号
  43.             if(BF==0)break;  //如果就绪,返回
  44.                 dat=LCD;
  45.            }
  46.    }

  47.    void init_lcd(void)//初始化液晶屏
  48.    {
  49.            lcd_cmd(0x01); //清屏幕
  50.         lcd_cmd(0x3c); //设置双行显示,5*10点阵
  51.         lcd_cmd(0x0c); //开显示,关闭光标
  52.    }
  53.    void disp_str(uchar x,uchar y,uchar *p) //在x行、y列显示字符串p
  54.    {
  55.            if(x==0)   //如果在第一行显示
  56.           lcd_cmd(0x80+y); //设置写入地址
  57.         else                          //如果在第二行显示
  58.           lcd_cmd(0xc0+y);//设置写入地址
  59.         while(*p)        //将字符依次发送到液晶屏
  60.           lcd_dat(*p++);  
  61.    }
复制代码

全部资料51hei下载地址:

pinlvji1.rar (45.24 KB, 下载次数: 38)



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

使用道具 举报

沙发
limuzi0916 发表于 2020-1-14 11:20 | 只看该作者
怎样才可以下载啊
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|单片机论坛 |51黑电子论坛技术交流 QQ 管理员QQ:125739409;技术交流QQ群636986012

Powered by 单片机教程网

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