找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2237|回復(fù): 8
收起左側(cè)

STC單片機(jī)定時(shí)器2的使用問題 頭文件STC15.H不能編譯定時(shí)器2的寄存器

[復(fù)制鏈接]
ID:383654 發(fā)表于 2023-8-2 17:27 | 顯示全部樓層 |閱讀模式
遇到一個(gè)很尷尬的事情;
用STC15W204S的定時(shí)器2,頭文件用STC15.H不能編譯定時(shí)器2的寄存器,如果用REG52.H又沒有P5的IO口。
這個(gè)單片機(jī)有定時(shí)器0和定時(shí)器2,程序里兩個(gè)都用上了,P5的IO也用上了,為什么STC官方的頭文件沒有定時(shí)器2的定義?各位大神,這種怎么解決? 1690967951016.png 1690968113402.jpg

回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2023-8-3 12:00 | 顯示全部樓層
Jang 發(fā)表于 2023-8-3 07:57
我就是用的這個(gè)stc15.h的頭文件,但是里面沒有定時(shí)器2的定義

不是頭文件中沒有定時(shí)器2的相關(guān)寄存器定義,而是樓主用錯(cuò)相關(guān)寄存器名稱,當(dāng)然找不到。這個(gè)不能想當(dāng)然自定義,除非高手能做到。

無標(biāo)題.jpg

回復(fù)

使用道具 舉報(bào)

ID:383654 發(fā)表于 2023-8-3 17:21 | 顯示全部樓層
wulin 發(fā)表于 2023-8-3 12:00
不是頭文件中沒有定時(shí)器2的相關(guān)寄存器定義,而是樓主用錯(cuò)相關(guān)寄存器名稱,當(dāng)然找不到。這個(gè)不能想當(dāng)然自 ...

感謝!正如大師所言。只需要控制兩個(gè)寄存器就可以用了。附上程序,方便后人。
  1. #include<stc15.h>                                  
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uint numt1;
  6. uchar flag;
  7. void init()                                                           /*************設(shè)置計(jì)時(shí)器2重載初值*****************/
  8. {       
  9.    T2L =(65536-50000)/256;
  10.    T2H =(65536-50000)/256;
  11.    AUXR|= 0X10;           //計(jì)時(shí)器2啟動(dòng)運(yùn)行
  12.    IE2|=0X04;             //啟用定時(shí)器2中斷
  13.    EA=1;                 //打開全局中斷開關(guān)
  14. }
  15. void main()
  16. {
  17.    init();
  18.    numt1=0;
  19.    flag=0;
  20. while(1);
  21. }
  22. void T2_time()interrupt 12
  23. {
  24.    numt1++;
  25.    if(numt1>100)
  26.    {
  27.    flag=1;
  28.    AUXR&=0X00;            //計(jì)時(shí)器2停止運(yùn)行
  29.    numt1=0;
  30.    }       
  31. }
復(fù)制代碼

1691053278396.jpg 1691053320847.jpg

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2023-8-2 20:39 | 顯示全部樓層
無標(biāo)題.jpg
回復(fù)

使用道具 舉報(bào)

ID:383654 發(fā)表于 2023-8-3 07:57 | 顯示全部樓層

我就是用的這個(gè)stc15.h的頭文件,但是里面沒有定時(shí)器2的定義
回復(fù)

使用道具 舉報(bào)

ID:1089588 發(fā)表于 2023-8-3 09:49 | 顯示全部樓層
#include <STC15F2K60S2.H>
回復(fù)

使用道具 舉報(bào)

ID:229375 發(fā)表于 2023-8-3 10:21 | 顯示全部樓層
把缺的寄存器,按照頭文件定義的寄存器的方式,把寄存器的地址補(bǔ)上去
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2023-8-3 11:32 | 顯示全部樓層
如果能明白【.h】文件的意義,則用不用它都無所畏。
當(dāng)KELL提示不認(rèn)識(shí)的字符串時(shí),自己可以給它定義一下。
你的【.h】文件失靈,多為文件引用的不準(zhǔn)確。
回復(fù)

使用道具 舉報(bào)

ID:1034262 發(fā)表于 2023-8-3 18:05 | 顯示全部樓層
STC官方的頭文件一定會(huì)有定義,否則那么多官方的例子怎么編譯?
寄存器名字不同而已。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表