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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9765|回復: 14
收起左側(cè)

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

  [復制鏈接]
ID:718037 發(fā)表于 2020-7-16 16:42 | 顯示全部樓層 |閱讀模式
寄存器這一位 EAXFR 是干什么的

下載.png
回復

使用道具 舉報

ID:155507 發(fā)表于 2020-7-16 22:07 | 顯示全部樓層
P_SW2寄存器的最高位EAXFR 是擴展SFR訪問控制使能
如下特殊功能寄存器位于擴展 RAM 區(qū)域 訪問這些寄存器,需先將 P_SW2 的 BIT7(EAXFR) 設置為 1,才可正常讀寫


EAXFR-STC8A.jpg


  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時鐘為系統(tǒng)時鐘
  48.     PWMC = 0x1000;                              //設置PWM周期為1000H個PWM時鐘
  49.     PWM0T1= 0x0100;                             //在計數(shù)值為100H地方輸出低電平
  50.     PWM0T2= 0x0500;                             //在計數(shù)值為500H地方輸出高電平
  51.     PWM0CR= 0x80;                               //使能PWM0輸出
  52.     P_SW2 = 0x00;

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

  54.     while (1);
  55. }

復制代碼




回復

使用道具 舉報

ID:311846 發(fā)表于 2020-7-17 09:33 | 顯示全部樓層
你認真看下這個表的下面文檔,你會發(fā)現(xiàn)驚喜,
回復

使用道具 舉報

ID:718037 發(fā)表于 2020-7-17 10:35 | 顯示全部樓層
謝了,昨天看了后面才發(fā)現(xiàn)
回復

使用道具 舉報

ID:718037 發(fā)表于 2020-7-17 10:39 | 顯示全部樓層
angmall 發(fā)表于 2020-7-16 22:07
P_SW2寄存器的最高位EAXFR 是擴展SFR訪問控制使能
如下特殊功能寄存器位于擴展 RAM 區(qū)域 訪問這些寄存器, ...

謝謝,昨天看了后面才發(fā)現(xiàn)
回復

使用道具 舉報

ID:883988 發(fā)表于 2021-3-13 10:55 | 顯示全部樓層
這個操作
一言難盡!
我看IIC的時候剛好把這個漏過去了,結(jié)果硬件IIC怎么也通訊不成功,看了芯片資料給的例程后發(fā)現(xiàn)P_SW2的第一位被置一了,然后再過來查。前前后后搞了好久好久
回復

使用道具 舉報

ID:890869 發(fā)表于 2021-9-4 00:50 | 顯示全部樓層
小胸姑娘 發(fā)表于 2021-3-13 10:55
這個操作
一言難盡!
我看IIC的時候剛好把這個漏過去了,結(jié)果硬件IIC怎么也通訊不成功,看了芯片資料給的 ...

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

使用道具 舉報

ID:911455 發(fā)表于 2023-5-15 16:38 | 顯示全部樓層
他沒有講這位置1后,耽誤訪問data里的內(nèi)容不
回復

使用道具 舉報

ID:206581 發(fā)表于 2023-5-15 21:57 | 顯示全部樓層
我也是沒注意到,搞了好久
回復

使用道具 舉報

ID:155507 發(fā)表于 2023-5-16 08:39 | 顯示全部樓層
innere 發(fā)表于 2023-5-15 16:38
他沒有講這位置1后,耽誤訪問data里的內(nèi)容不

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





回復

使用道具 舉報

ID:879348 發(fā)表于 2023-5-16 11:52 | 顯示全部樓層
搞的太復雜了,這就是51架構(gòu)的局限性
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

ID:1034262 發(fā)表于 2025-1-24 11:01 | 顯示全部樓層
允許訪問擴展在XDATA區(qū)的SFR(特殊功能寄存器)。51架構(gòu)直接訪問的寄存器只有128字節(jié),而STC公司的MCU外設擴展了幾百個寄存器,只好放在XDATA區(qū)。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91视频网址| 日本a级大片 | 国产九一精品 | 国产一区二区视频在线 | 涩涩视频网站在线观看 | 91色站 | 亚洲一区 | 久久久久久综合 | 九九视频在线观看 | 欧美日韩电影一区 | 亚洲色图综合 | 久久精品国产一区二区电影 | 涩涩视频网站在线观看 | 欧美日韩一区二区三区不卡视频 | a级大片免费观看 | 免费久久网站 | 久久国产综合 | 亚洲一区二区中文字幕 | 日韩精品无码一区二区三区 | 在线视频中文字幕 | 欧美精品网 | 午夜丰满寂寞少妇精品 | 国产成年人视频 | 国产日韩欧美 | 亚洲 欧美 在线 一区 | 福利网站在线观看 | 日韩一二区在线 | 成人在线网 | 成人黄色电影免费 | 成人在线a| 国产一区二区三区在线 | 精品一区国产 | 成人性视频免费网站 | 国产免费国产 | 国产乱码精品一品二品 | 99久久精品视频免费 | 欧美视频在线看 | 国产不卡一区 | 狠狠操在线 | 亚洲一级av毛片 | 欧美精品欧美精品系列 |