找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于51的频率计

[复制链接]
跳转到指定楼层
楼主

部分主函数

void main(void)
{
    unsigned int k,i,j=0; // period,为定时器计数总值,i是分频次数
    unsigned long int period;
//    float f,m; //浮点变量
//  char buff[30];
   
        LCD_init(); //初始化LCD
   
        for(j = 0;j<7;j++)
        {
            LCD_disp_char(j+0,1,character_1[j]);
        }
        
    P2=0x00; //选通D0路信号
    TMOD=0x09; //配置定时器0为工作方式1,即16位定时器,并硬件启动

    while(1)
    {
//        TMOD=0x09; //配置定时器0为工作方式1,即16位定时器,并硬件启动
        TH0=0; //装定时器初值为0
        TL0=0;
        while(p32==1); //执行完这条语句后信号电平状态为低电平
            TR0=1; //使能TR0
        while(p32==0); //等待信号高电平到来,如果高电平来了则定时器开始计时,如果没来,则继续循环等待。
        while(p32==1); //等待信号高电平结束后,如果低电平,则定时器停止计时
            TR0=0; //关闭定时器
        period=TH0*256+TL0; //计算定时器装的总值




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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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