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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2253|回復: 2
收起左側

關于單片機定時器PWM信號仿真的問題,波形不出來

[復制鏈接]
ID:398554 發表于 2018-9-24 09:00 | 顯示全部樓層 |閱讀模式
求大神幫忙

1.程序:(圖下面)

2.仿真電路
無標題.png

仿真:
1.png

單片機源程序:
  1. #include"reg52.h"
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar COUNT100,PWMCOUNT;
  5. sbit RS=P3^7;
  6. sbit RW=P3^6;
  7. sbit E=P3^5;
  8. sbit PWM=P1^0;
  9. sfr LCDData=0x80;
  10.   /************液晶驅動程序********************/
  11.   /************延時函數*/
  12.   void Delay(uint i)
  13.   {
  14.     while(i--);
  15.   }
  16.   /*寫指令函數*/
  17.   void Write_Instruction(uchar x)
  18.   {
  19.    Delay(1000);
  20.    E=0;
  21.    RW=0;
  22.    RS=0;
  23.    LCDData=x;
  24.    E=1;
  25.    Delay(20);
  26.    E=0;
  27.    }
  28.   /*寫單個數據的函數*/
  29.   void Write_Data(uchar x)
  30.   {
  31.    Delay(1000);
  32.    E=0;
  33.    RW=0;
  34.    RS=1;
  35.    E=1;
  36.    LCDData=x;

  37. E=0;
  38. }
  39. /*寫入一串字符串函數*/
  40. void Write_String(uchar x,uchar *p)
  41. { Write_Instruction(x);
  42.   while(*p!=0x00)
  43. {Write_Data(*p);
  44.   p++;
  45.   if (x++==0x8f)
  46.   {Write_Instruction(0xc0);}
  47. }
  48. }
  49. /*初始化函數*/
  50. void InitLCD(void)
  51. {Write_Instruction(0x38);
  52. Delay(200);
  53. Write_Instruction(0x0e);
  54. Delay(200);
  55. Write_Instruction(0x06);
  56. Delay(200);
  57. }

  58. /************液晶驅動程序結束***********************/
  59. void DISPPWM(uchar addr,uchar p)
  60. {
  61. Write_Instruction(addr);
  62. Write_Data(p/100+0x30);
  63. Write_Data(p%100/10+0x30);
  64. Write_Data(p%100%10+0x30);
  65. Write_Data('%');
  66. }
  67. void main(void)
  68. {
  69. InitLCD();
  70. Delay(0xffff);
  71. COUNT100=0;
  72. PWMCOUNT=50;
  73. Write_String(0x80,"PWM=");
  74. DISPPWM(0x84,PWMCOUNT);
  75. TMOD=0x01;
  76. EA=1;
  77. ET0=1;
  78. TL0=0x66;
  79. TH0=0xfc;
  80. TR0=1;
  81. while(1);
  82. }
  83. void TIME0ISR(void) using 1
  84. {
  85. TL0=0x66;
  86. TH0=0xfc;
  87. COUNT100++;
  88. if(COUNT100==100)
  89.   {
  90.   COUNT100=0;
  91.   }
  92.   if(COUNT100<PWMCOUNT)
  93.   {
  94.   PWM=1;
  95.   }
  96.   else
  97.   {
  98.   PWM=0;
  99.   }
  100. }
復制代碼

仿真波形一直是一條直線,求大神指點迷津,不勝感激

回復

使用道具 舉報

ID:388197 發表于 2018-9-24 10:31 | 顯示全部樓層
中斷函數寫法有誤
應寫為
void Timer0ISR(void) interrupt 1
{
    //你的代碼
}

評分

參與人數 2黑幣 +50 收起 理由
admin + 20 回帖助人的獎勵!
月碎蘭陵 + 30 很給力!

查看全部評分

回復

使用道具 舉報

ID:387733 發表于 2018-9-24 10:39 | 顯示全部樓層
定時器中斷服務程序缺少中斷向量:
正確的應該是:

void TIME0ISR(void) using 1  interrupt 1   

using 1 是指這個中斷函數使用單片機內存中四組工作寄存器中的哪一組, 可以不要

評分

參與人數 1黑幣 +30 收起 理由
月碎蘭陵 + 30 很給力!

查看全部評分

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久中文字幕 | 国产欧美精品一区 | av中文字幕网 | 亚洲一区二区三区四区在线观看 | 成人午夜精品 | 日韩精品一区二区在线 | 中文字幕亚洲无线 | 羞羞视频免费在线 | 日本中文字幕日韩精品免费 | 91在线视频观看免费 | 韩国av电影网 | 日韩av福利在线观看 | 热re99久久精品国产99热 | 久久91精品国产 | 夜夜草导航 | 欧美性影院 | 亚洲在线一区二区三区 | 精品久久久久久久久久久院品网 | 日韩成人在线免费视频 | 国产情侣一区 | 免费精品久久久久久中文字幕 | 欧美激情久久久 | 男人影音 | 91麻豆精品国产91久久久久久 | 人人干人人爽 | 在线观看亚洲 | www.久草 | 天天干视频网 | 亚洲欧美综合精品另类天天更新 | 亚洲另类自拍 | 日韩精品视频在线免费观看 | 天天操天天摸天天干 | 激情毛片 | 亚洲视频区 | 精品一区二区久久久久久久网站 | 一区二区三区在线免费 | 久久久久久久久中文字幕 | 岛国av免费在线观看 | 国产男女猛烈无遮掩视频免费网站 | 国产精品一区一区 | 亚洲欧美一区二区三区国产精品 |