久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3519|回復: 3
打印 上一主題 下一主題
收起左側

定時器做可調頻方波,為何頻率調整速度變慢???

[復制鏈接]
跳轉到指定樓層
樓主
//程序名:方波發生器,LCD1602顯示
//T0用于方波輸出,T1用于脈沖調整
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
#include<stdio.h>
#include"1602.h"         //液晶顯示器頭文件
#include"delay.h"
sbit out=P0^1;           //方波輸出端口
sbit KEY_ADD=P3^0;            //頻率增加按鍵
sbit KEY_DEC=P3^1;          //頻率減小按鍵
#define uchar unsigned char
#define uint unsigned int
unsigned int a=1250;   //時鐘周期數量

//定時器初始化
void InitTimer0(){
     TMOD|=0x01;                  //定時器方式1
     TH0=0xfb;   //定時器初值1.25ms,頻率400HZ
     TL0=0x1e;
     TR0=1;                      //啟動T0  
     ET0=1;                     //允許T0中斷
     EA=1;                      //開總中斷

}

//定時器0中斷
void Time0Int() interrupt 1{
    TH0=(65536-a)/256;   //定時器初值1.25MS
    TL0=(65536-a)%256;
    out=~out;
}


//主函數
void main()
{  
   char temp[14];
   uint b;
   InitTimer0();  
   LCD_Init();         //初始化液晶屏
   LCD_Clear();        //清屏
   LCD_Write_String(0,0,"VOLT: 5.000    V");//寫入第一行信息,主循環中不再更改此信息,所以在while之前寫入
   LCD_Write_String(0,1,"FREQ:         HZ");

   while(1)
    {

      if(!KEY_ADD)  //如果檢測到低電平,說明按鍵按下
        {
               DelayMs(10); //延時去抖,一般10-20ms
           if(!KEY_ADD)     //再次確認按鍵是否按下,沒有按下則退出
               {
                   a++;
                                 
                }
             }

       else  if(!KEY_DEC)  //如果檢測到低電平,說明按鍵按下
                {
                   DelayMs(10); //延時去抖,一般10-20ms
                    if(!KEY_DEC)     //再次確認按鍵是否按下,沒有按下則退出
                     {
                        a--;   
                      }
                 }                                      
         b=500000/a;
        sprintf(temp,"%05.0f",(float)b);
        LCD_Write_String(6,1,temp);//顯示到液晶第二行
     }
}

//b值變到620以上后,一致變化都很慢。
如果減至600以下,變化速度又變正常。
如果程序的初始值b為620時,速度也很慢顯示也很慢!

請各位大仙分析一下是什么原因????

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:111634 發表于 2016-7-7 21:49 | 只看該作者
本帖最后由 zl2168 于 2016-7-7 21:51 編輯

實例69  輸出周期脈沖方波(示波器顯示)


Proteus仿真一下,確認有效。
實例69 輸出周期脈沖方波.rar (34.2 KB, 下載次數: 10)





以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版


書中電路和程序設計有詳細說明,程序語句條條有注解。


回復

使用道具 舉報

板凳
ID:111634 發表于 2016-7-7 21:51 | 只看該作者
實例70  輸出矩形脈沖波(示波器顯示)


Proteus仿真一下,確認有效。

實例70 輸出矩形脈沖波.rar (34.07 KB, 下載次數: 6)


以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版


書中電路和程序設計有詳細說明,程序語句條條有注解。




回復

使用道具 舉報

地板
ID:61390 發表于 2016-7-23 06:31 來自手機 | 只看該作者
找到原因了,中斷中加了運算呀導致的原因,加②個中間變量就解決了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 韩日精品视频 | 欧美日韩久 | 最近最新中文字幕 | 成人久久视频 | 国产在线中文字幕 | 午夜男人免费视频 | 一区二区三区视频在线观看 | 黄色片免费看视频 | 日韩av第一页 | 亚洲精品一区二区三区蜜桃久 | 香蕉久久久久久 | 免费的黄色片子 | 中文字幕在线一 | 日韩精品影院 | 亚洲女人天堂成人av在线 | 欧美一级毛片免费观看 | 日本成人一区二区 | 日本黄色大片免费 | 天天成人综合网 | 成人在线一区二区 | 国产精品久久久久久婷婷天堂 | 毛片在线免费 | 成人亚洲网站 | 成人深夜福利 | 综合久久综合久久 | 99精品国产一区二区三区 | 欧美视频在线播放 | 国产成人短视频在线观看 | 亚洲久久一区 | 久久久久久国产精品免费免费狐狸 | 亚洲精品久久久久久久久久久 | 日本高清在线一区 | chinese中国真实乱对白 | 国产精品a久久久久 | 最近中文字幕在线视频1 | 国产区高清| 精品一区二区三区四区五区 | 免费观看一级毛片视频 | 中文字幕国产视频 | 国产精品美女久久久 | 免费成人在线网站 |