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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stc8單片機功能腳切換寄存器這一位EAXFR是干什么的?

  [復制鏈接]
跳轉到指定樓層
樓主
寄存器這一位 EAXFR 是干什么的

下載.png (75.08 KB, 下載次數: 109)

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

使用道具 舉報

沙發
ID:155507 發表于 2020-7-16 22:07 | 只看該作者
P_SW2寄存器的最高位EAXFR 是擴展SFR訪問控制使能
如下特殊功能寄存器位于擴展 RAM 區域 訪問這些寄存器,需先將 P_SW2 的 BIT7(EAXFR) 設置為 1,才可正常讀寫





  1. #include "reg51.h"
  2. #include "intrins.h"

  3. //測試工作頻率為11.0592MHz

  4. sfr     P_SW2       =   0xba;
  5. sfr     PWMCFG      =   0xf1;
  6. sfr     PWMIF       =   0xf6;
  7. sfr     PWMFDCR     =   0xf7;
  8. sfr     PWMCR       =   0xfe;

  9. #define PWMC            (*(unsigned int volatile xdata *)0xfff0)
  10. #define PWMCKS          (*(unsigned char volatile xdata *)0xfff2)
  11. #define TADCP           (*(unsigned int volatile xdata *)0xfff3)
  12. #define PWM0T1          (*(unsigned int volatile xdata *)0xff00)
  13. #define PWM0T2          (*(unsigned int volatile xdata *)0xff02)
  14. #define PWM0CR          (*(unsigned char volatile xdata *)0xff04)
  15. #define PWM0HLD         (*(unsigned char volatile xdata *)0xff05)
  16. #define PWM1T1          (*(unsigned int volatile xdata *)0xff10)
  17. #define PWM1T2          (*(unsigned int volatile xdata *)0xff12)
  18. #define PWM1CR          (*(unsigned char volatile xdata *)0xff14)
  19. #define PWM1HLD         (*(unsigned char volatile xdata *)0xff15)
  20. #define PWM2T1          (*(unsigned int volatile xdata *)0xff20)
  21. #define PWM2T2          (*(unsigned int volatile xdata *)0xff22)
  22. #define PWM2CR          (*(unsigned char volatile xdata *)0xff24)
  23. #define PWM2HLD         (*(unsigned char volatile xdata *)0xff25)
  24. #define PWM3T1          (*(unsigned int volatile xdata *)0xff30)
  25. #define PWM3T2          (*(unsigned int volatile xdata *)0xff32)
  26. #define PWM3CR          (*(unsigned char volatile xdata *)0xff34)
  27. #define PWM3HLD         (*(unsigned char volatile xdata *)0xff35)
  28. #define PWM4T1          (*(unsigned int volatile xdata *)0xff40)
  29. #define PWM4T2          (*(unsigned int volatile xdata *)0xff42)
  30. #define PWM4CR          (*(unsigned char volatile xdata *)0xff44)
  31. #define PWM4HLD         (*(unsigned char volatile xdata *)0xff45)
  32. #define PWM5T1          (*(unsigned int volatile xdata *)0xff50)
  33. #define PWM5T2          (*(unsigned int volatile xdata *)0xff52)
  34. #define PWM5CR          (*(unsigned char volatile xdata *)0xff54)
  35. #define PWM5HLD         (*(unsigned char volatile xdata *)0xff55)
  36. #define PWM6T1          (*(unsigned int volatile xdata *)0xff60)
  37. #define PWM6T2          (*(unsigned int volatile xdata *)0xff62)
  38. #define PWM6CR          (*(unsigned char volatile xdata *)0xff64)
  39. #define PWM6HLD         (*(unsigned char volatile xdata *)0xff65)
  40. #define PWM7T1          (*(unsigned int volatile xdata *)0xff70)
  41. #define PWM7T2          (*(unsigned int volatile xdata *)0xff72)
  42. #define PWM7CR          (*(unsigned char volatile xdata *)0xff74)
  43. #define PWM7HLD         (*(unsigned char volatile xdata *)0xff75)

  44. void main()
  45. {
  46.     P_SW2 = 0x80;  //將P_SW2寄存器的最高位EAXFR置1,訪問XSFR
  47.     PWMCKS = 0x00;                              // PWM時鐘為系統時鐘
  48.     PWMC = 0x1000;                              //設置PWM周期為1000H個PWM時鐘
  49.     PWM0T1= 0x0100;                             //在計數值為100H地方輸出低電平
  50.     PWM0T2= 0x0500;                             //在計數值為500H地方輸出高電平
  51.     PWM0CR= 0x80;                               //使能PWM0輸出
  52.     P_SW2 = 0x00;

  53.     PWMCR = 0x80;                               //啟動PWM模塊

  54.     while (1);
  55. }

復制代碼




回復

使用道具 舉報

板凳
ID:311846 發表于 2020-7-17 09:33 | 只看該作者
你認真看下這個表的下面文檔,你會發現驚喜,
回復

使用道具 舉報

地板
ID:718037 發表于 2020-7-17 10:35 | 只看該作者
謝了,昨天看了后面才發現
回復

使用道具 舉報

5#
ID:718037 發表于 2020-7-17 10:39 | 只看該作者
angmall 發表于 2020-7-16 22:07
P_SW2寄存器的最高位EAXFR 是擴展SFR訪問控制使能
如下特殊功能寄存器位于擴展 RAM 區域 訪問這些寄存器, ...

謝謝,昨天看了后面才發現
回復

使用道具 舉報

6#
ID:883988 發表于 2021-3-13 10:55 | 只看該作者
這個操作
一言難盡!
我看IIC的時候剛好把這個漏過去了,結果硬件IIC怎么也通訊不成功,看了芯片資料給的例程后發現P_SW2的第一位被置一了,然后再過來查。前前后后搞了好久好久
回復

使用道具 舉報

7#
ID:890869 發表于 2021-9-4 00:50 | 只看該作者
小胸姑娘 發表于 2021-3-13 10:55
這個操作
一言難盡!
我看IIC的時候剛好把這個漏過去了,結果硬件IIC怎么也通訊不成功,看了芯片資料給的 ...

對,我也是這里,卡了好幾天
回復

使用道具 舉報

8#
ID:911455 發表于 2023-5-15 16:38 | 只看該作者
他沒有講這位置1后,耽誤訪問data里的內容不
回復

使用道具 舉報

9#
ID:206581 發表于 2023-5-15 21:57 | 只看該作者
我也是沒注意到,搞了好久
回復

使用道具 舉報

10#
ID:155507 發表于 2023-5-16 08:39 | 只看該作者
innere 發表于 2023-5-15 16:38
他沒有講這位置1后,耽誤訪問data里的內容不

8.2.8 擴展SFR 使能寄存器EAXFR 的使用說明
STC8G/8H 的擴展SFR 地址范圍為0FA00H~0FFFFH,如需訪問XFR 區域的擴展SFR,需要先將EAXFR
(P_SW2.7)置1,并使用MOVX A,@DPTR 和MOVX @DPTR,A 這兩條指令進行讀寫操作。XFR 的地址范
圍與外部擴展RAM 地址的0FA00H~0FFFFH 區域是重疊的。
1、若用戶不使用外部擴展RAM 或者外部擴展RAM 的最大地址不超過0FA00H
(例如只外擴32K RAM),這種情況下不會有不同區域的訪問地址沖突,可以在上電系統初始化時將EAXFR
寄存器設置為1(例如:P_SW2 |= 0x80;),后續一直保持為1 不用再修改,
即可正常訪問XFR 區域。
2、若用戶有外擴64K 的擴展RAM,則在訪問XFR 和外部擴展RAM 時需要注意:
訪問XFR 時需要將EAXFR 寄存器位設置為1;
訪問地址范圍在0FA00H~0FFFFH 的外部擴展RAM 時需要將EAXFR 設置為0;
訪問地址范圍在0000H~0F9FFH 的外部擴展RAM 時,與EAXFR 設置的值無關






回復

使用道具 舉報

11#
ID:879348 發表于 2023-5-16 11:52 | 只看該作者
搞的太復雜了,這就是51架構的局限性
回復

使用道具 舉報

12#
ID:1034262 發表于 2023-5-16 12:18 | 只看該作者
用于訪問擴展的特殊功能寄存器,因為51的架構問題,常規的特殊功能寄存器地址(128字節)遠遠不夠,所以STC增加的幾百個特殊功能寄存器都放在xdata地址空間,為了避免與xdata內存沖突,所以用這一位來允許/禁止擴展的特殊功能寄存器訪問。
如果沒有外接xdata芯片,或外接的沒到64K,或者到64K,最后幾百個字節不用,則程序已開始設置該位為1,一直不用清除。
回復

使用道具 舉報

13#
ID:106977 發表于 2025-1-23 21:28 | 只看該作者
STC為了發展51芯片擴展了很多東西!又必須考慮兼容過去和能夠在Keil中編程和調試,有些設置就好像是“打補丁”。其實STC的手冊很長,也敘述的很清楚。只是許多人缺少認真看書的習慣!
回復

使用道具 舉報

14#
ID:1034262 發表于 2025-1-24 11:01 | 只看該作者
允許訪問擴展在XDATA區的SFR(特殊功能寄存器)。51架構直接訪問的寄存器只有128字節,而STC公司的MCU外設擴展了幾百個寄存器,只好放在XDATA區。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费在线看黄 | 在线只有精品 | 国产精品久久久久久久久 | 国产高清在线观看 | 亚洲电影中文字幕 | a级片在线观看 | 网站黄色av| 亚洲黄色高清视频 | 日韩手机在线视频 | 久久国产亚洲 | 少妇无套高潮一二三区 | 精品av | 亚洲人成人一区二区在线观看 | 国产成人高清视频 | 亚洲色图插插插 | 欧美一级视频免费看 | 欧美视频网 | 超级黄色一级片 | 亚洲精品永久免费 | 午夜免费精品视频 | 国产福利在线小视频 | 亚洲天堂一区 | 美女艹b | 在线亚州| 欧美一级二级三级 | 亚洲最大看片网站 | 在线看av网址 | 亚洲黄色在线免费观看 | av激情影院 | 国产99精品| 久久久毛片 | 日本免费小视频 | 免费精品 | 国产精品一区在线观看你懂的 | 黄色毛片一级 | 亚洲国产精品久久 | 羞羞视频网站在线观看 | 欧美视频一区 | 久久久久久精 | 国产乱码精品一区二区三区中文 | 男女av|