⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iosfr86.h

📁 一款C语言编写的小家电程序
💻 H
📖 第 1 页 / 共 3 页
字号:
unsigned char	__io(0x0028)	LCDCR;		// R/W	LCD Control register
 /*** LCDCR	LCD Control Register	(0x0028	初始0000 0000	R/W)
	7 6 5 4 3 2 1 0
	| | | |	| | + +-- SLF:选择LCD主频	00:	fc/2^17 or fs/2^9
	| | | | | |				01:	fc/2^16 or fs/2^8
	| | | | | |				10:	fc/2^15
	| | | | | |				11:	fc/2^13
	| | | | + +------ DUTY:选择驱动方式	00:	1/4 Duty(1/3 Bias)
	| | | |					01:	1/3 Duty(1/3 Bias)
	| | | |					10:	1/2 Duty(1/2 Bias)
	| | | |					11:	Static
	| | + +---------- VFSEL:选择boost频率	00:	fc/2^13 or fs/2^5
	| |					01:	fc/2^11 or fs/2^3
	| |					10:	fc/2^10 or fs/2^2
	| |					11:	fc/2^9
	| +-------------- BRES:Booster电路控制	0:未用	1:使
	+---------------- EDSP:LCD显示控制	0:空白	1:使能显示	***/


unsigned char	__io(0x0029)	P1LCR;		// R/W	P1 segment output control
 /*** P1LCR	Port P1/SEG Output Control Register	(0x0029	初始0000 0000	R/W)
	0:P1输入输出或第二功能	1:SEG输出	***/


unsigned char	__io(0x002A)	P5LCR;		// R/W	P5 segment output control
 /*** P5LCR	Port P5/SEG Output Control Register	(0x002A	初始0000 0000	R/W)
	0:P1输入输出	1:SEG输出	***/


unsigned char	__io(0x002B)	P7LCR;		// R/W	P7 segment output control
 /*** P7LCR	Port P7/SEG Output Control Register	(0x002B	初始0000 0000	R/W)
	0:P1输入输出	1:SEG输出	***/


unsigned char	__io(0x002C)	PWREG3;		// R/W	Timer register 3
unsigned char	__io(0x002D)	PWREG4;		// R/W	Timer register 4
unsigned char	__io(0x002E)	PWREG5;		// R/W	Timer register 5
unsigned char	__io(0x002F)	PWREG6;		// R/W	Timer register 6


unsigned char	__io(0x0034)	WDTCR1;		// R	Watchdog timer control 1
 /*** WDTCR1	Watchdog Timer Control Register 1	(0x0034	初始**11 1001	R)
	7 6 5 4 3 2 1 0
	    | |	| | | +-- WDTOUT:看门狗计数器选出选择	0:中断要求 1:复位信号
	    | |	| + +---- WDTT:看门狗计数定时:	Normal1/2 Mode		SLOW Mode
	    | |	|				DV7CK=0	DV7CK=1
	    | |	|			00:	2^25/fc	2^17/fs		2^17/fs
	    | |	| 			01:	2^23/fc	2^15/fs		2^15/fs
	    | |	| 			10:	2^21/fc	2^13/fs		2^13/fs
	    | |	|			11:	2^19/fc	2^11/fs		2^11/fs
	    | |	+-------- WDTEN:看门狗计数器使能	0:停止	1:启动
	    | +---------- (ATOUT):在内部RAM选择地址捕捉	0:未启动1:地址捕捉(
	    +------------ (ATAS):	***/


unsigned char	__io(0x0035)	WDTCR2;		// W	Watchdog timer control 2
 /*** WDTCR2	看门狗控制写寄存器2	(0x0035	初始**** ****	W)
	7 6 5 4 3 2 1 0
	+ + + + + + + +-- WDTCR2:	0x4E:清掉	0xB1:取消	0xD2:使能分配地址	***/


unsigned char	__io(0x0036)	TBTCR;		// R/W	TBT/TG/DVO control
 /*** TBTCR	Time Base Timer Control Register	(0x0036	初始0**0 0***	R/W)
	7 6 5 4 3 2 1 0
	| | | |	| + + +-- TBTCK:BT中断频率的选择:	Normal1/2,IDLE1/2	SLOW,SLEEP
	| | | |	|					DV7CK=0	DV7CK=1
	| | | |	|				000:	fc/2^23	fs/2^15		fs/2^15
	| | | |	|				001:	fc/2^21	fs/2^13		fs/2^13
	| | | |	|				010:	fc/2^16	fs/2^8
	| | | |	|				011:	fc/2^14	fs/2^6
	| | | |	|				100:	fc/2^13	fs/2^5
	| | | |	|				101:	fc/2^12	fs/2^4
	| | | |	|				110:	fc/2^11	fs/2^3
	| | | |	|				111:	fc/2^9	fs/2
	| | | |	+-------- TBTEN:BT使能	0:取消	1:开始
        | | | +---------- DV7CK:驱动晶振选择	0:快晶振fc/2^8 1:慢晶振fs
        | + +------------ DVOCK:分频输出频率选择:
	|				Normal1/2模式		SLOW,SLEEP模式
	|				DV7CK=0	DV7CK=1
	|			00:	fc/2^13	fs/2^5		fs/2^5
	|			01:	fc/2^12	fs/2^4		fs/2^4
	|			10:	fc/2^11	fs/2^3		fs/2^3
	|			11:	fc/2^10	fs/2^2		fs/2^2
        +---------------- DVOEN:分频输出使能	0:取消	1:开始
	注意:	在单时钟模式及慢晶振尚未稳定时,不要设置DV7CK为"1"	***/


unsigned char	__io(0x0037)	EINTCR;		// R/W	External interrupt control
 /*** EINTCR	External interrupt control register	(0x0037	初始00** 000*	R/W)
	7 6 5 4 3 2 1 0
	| |     | | +---- INT1 ES:INT3到INT1边缘选择	0:上升沿1:下降沿
	| |     | +------ INT2 ES:INT3到INT1边缘选择	0:上升沿1:下降沿
	| |    	+-------- INT3 ES:INT3到INT1边缘选择	0:上升沿1:下降沿
	| +-------------- INT0EN:P63//INT0管脚分配	0:P63输入/输出口1:/INT0口(P63应为输入模式)
        +---------------- INT1NC:噪音拒绝时间选择	0:63/fc(秒)	1:15/fc(秒)	***/


 /*** 运作模式控制 ***/
 /*** 有两种模式,一种单晶振,一种为双晶振,可在系统中转换,通过SYSCR1和SYSCR2控制 ***/
 /*** 单时钟模式:只有高频晶振,机器周期为4/fc(秒) ***/
 /*** Normal1模式:高低晶振同时起振 ***/
 /*** IDLE1模式:内部晶振电路保持动作,CPU及看门狗计时器停止,周边保持动作,通过中断及外部中断退到Normal1模式 ***/
unsigned char	__io(0x0038)	SYSCR1;		// R/W	System control 1
 /*** SYSCR1	System Control Register 1	(0x0038	初始0000 00**	R/W)
	7 6 5 4 3 2 1 0
	| | | |	+ +------ WUT:退出STOP模式的复舒时间:	返回Normal模式	返回SLOW模式
	| | | |					00:	3*2^16/fc	3*2^13/fs
	| | | |					01:	2^16/fc		2^13/fs
	| | | |					10:	3*2^14/fc	3*2^6/fs
	| | | |					11:	2^14/fc		2^6/fs
        | | | +---------- OUTEN:STOP模式下管脚输出	0:高阻	1:保持输出
        | | +------------ RETM:退出STOP模式后进入的模式	0:NORMAL 1/2模式	1:SLOW1模式
	| +-------------- RELM:触发离开STOP模式的方法	0:边缘触发	1:幅度触发
        +---------------- STOP:进入STOP模式	0:CPU核心及周边保持活动	1:进入STOP模式	***/


unsigned char	__io(0x0039)	SYSCR2;		// R/W	System control 2
 /*** SYSCR2	System Control Register 2	(0x0039	初始1000 *0**	R/W)
	7 6 5 4 3 2 1 0
	| | | |   +------ TGHALT:TG控制	0: 从TG提供所有时钟	1:TG仅提供TBT
        | | | +---------- IDLE:CPU及看门狗控制	0:CPU及看门狗计数继续	1:CPU及看门狗停止
        | | +------------ SYSCK:主系统时钟选择(写)/主时钟系统检测(读)	0:高时钟 1:低时钟
        | +-------------- XTEN:	低频晶振控制	0:关	1:开
        +---------------- XEN:	高频晶振控制	0:关	1:开	***/


unsigned int	__io(0x003A)	EIR;		// R/W	Interrupt enable register
//unsigned char	__io(0x003A)	EIRL;		// R/W	Interrupt enable register L
//unsigned char	__io(0x003B)	EIRH;		// R/W	Interrupt enable register H
 /*** EIR	中断使能寄存器	(0x003A,0x003B	初始00000000 00000***0	R/W) ***/


unsigned int	__io(0x003C)	IL;		// R/W	Interrupt latch
//unsigned char	__io(0x003C)	ILL;		// R/W	Interrupt latch L
//unsigned char	__io(0x003D)	ILH;		// R/W	Interrupt latch H
 /*** IL	Interrupt Latches	(0x003C,0x003D	初始00000000 0000**	R/W)
	IL15~IL2:中断锁存器	RD:	0:无中断请求	1:中断请求
				WR:	0:清除中断请求	1:中断锁存器没有设置 ***/


unsigned char	__io(0x003E)	INTSEL;		// R/W	Interrupt source selector
 /*** INTSEL	Selecting interrupt factor	(0x003E	初始*0** **00	R/W)
	7 6 5 4 3 2 1 0
	  |	    | +-- IL15ER:/INT5或INTTC5的选择	0:/INT5	1:INTTC5
	  |	    +---- IL14ER:INT3或INTTC3的选择	0:INT3	1:INTTC3
	  +-------------- IL9ER:INTRxD或INTSIO的选择	0:INTRxD1:INTSIO	***/


/************************************************/
/*	特别数据区的定义			*/
/************************************************/
//#define	SEG0100	0x0F80		// 显示的SEG01,SEG00,低四位用于SEG00,高四位用于SEG01	R/W
//#define	SEG0302	0x0F81		// 显示的SEG03,SEG02,低四位用于SEG02,高四位用于SEG03	R/W
//#define	SEG0504	0x0F82		// 显示的SEG05,SEG04,低四位用于SEG04,高四位用于SEG05	R/W
//#define	SEG0706	0x0F83		// 显示的SEG07,SEG06,低四位用于SEG06,高四位用于SEG07	R/W
//#define	SEG0908	0x0F84		// 显示的SEG09,SEG08,低四位用于SEG08,高四位用于SEG09	R/W
//#define	SEG1110	0x0F85		// 显示的SEG11,SEG10,低四位用于SEG10,高四位用于SEG11	R/W
//#define	SEG1312	0x0F86		// 显示的SEG13,SEG12,低四位用于SEG12,高四位用于SEG13	R/W
//#define	SEG1514	0x0F87		// 显示的SEG15,SEG14,低四位用于SEG14,高四位用于SEG15	R/W
//#define	SEG1716	0x0F88		// 显示的SEG17,SEG16,低四位用于SEG16,高四位用于SEG17	R/W
//#define	SEG1918	0x0F89		// 显示的SEG19,SEG18,低四位用于SEG18,高四位用于SEG19	R/W
//#define	SEG2120	0x0F8A		// 显示的SEG21,SEG20,低四位用于SEG20,高四位用于SEG21	R/W
//#define	SEG2322	0x0F8B		// 显示的SEG23,SEG22,低四位用于SEG22,高四位用于SEG23	R/W
//#define	SEG2524	0x0F8C		// 显示的SEG25,SEG24,低四位用于SEG24,高四位用于SEG25	R/W
//#define	SEG2726	0x0F8D		// 显示的SEG27,SEG26,低四位用于SEG26,高四位用于SEG27	R/W
//#define	SEG2928	0x0F8E		// 显示的SEG29,SEG28,低四位用于SEG28,高四位用于SEG29	R/W
//#define	SEG3130	0x0F8F		// 显示的SEG31,SEG30,低四位用于SEG30,高四位用于SEG31	R/W

//#define	SIOBR0	0x0F90		// SIO缓冲区的第0个	R/W
//#define	SIOBR1	0x0F91		// SIO缓冲区的第1个	R/W
//#define	SIOBR2	0x0F92		// SIO缓冲区的第2个	R/W
//#define	SIOBR3	0x0F93		// SIO缓冲区的第3个	R/W
//#define	SIOBR4	0x0F94		// SIO缓冲区的第4个	R/W
//#define	SIOBR5	0x0F95		// SIO缓冲区的第5个	R/W
//#define	SIOBR6	0x0F96		// SIO缓冲区的第6个	R/W
//#define	SIOBR7	0x0F97		// SIO缓冲区的第7个	R/W

//#define	SIOSR	0x0F99		// SIO状态寄存器	R
//#define	RDBUF	0x0F9B		// UART接收数据缓冲区	R

//#define	SIOCR1	0x0F98		// SIO控制寄存器1	W
//#define	SIOCR2	0x0F99		// SIO控制寄存器2	W
//#define	STOPCR	0x0F9A		// 键盘唤醒控制寄存器	W
//#define	TDBUF	0x0F9B		// UART发射数据缓冲区	W

// 0x009C ~ 0x0FFF	保留


#define	SIOCR1	0x0098		// SIO控制寄存器1	W
 /*** SIOCR1	SIO Control Register	(0x0F98	初始0000 0000	W)
	7 6 5 4 3 2 1 0
	| | | |	| + + +-- SCK:串行时钟:	Normal1/2,IDLE1/2	SLOW,SLEEP
	| | | | |			DV7CK=0	DV7CK=1
	| | | | |		000:	fc/2^13	fs/2^5		fs/2^5
	| | | | |		001:	fc/2^8	fc/2^8
	| | | | |		010:	fc/2^7	fc/2^7
	| | | | |		011:	fc/2^6	fc/2^6
	| | | | |		100:	fc/2^5	fc/2^5
	| | | | |		101:	fc/2^4	fc/2^4
	| | | | |		110:	保留
	| | | | |		111:	External clock(SCK)
	| | + +	+-------- SIOM:传输模式选择:	000:	8-bit传输模式
	| |					010:	4-bit传输模式
	| |					100:	8-bit传输/接收模式
	| |					101:	8-bit接收模式
	| |					110:	4-bit接收模式
	| |					Other:	保留
	| +-------------- SIOINH:继续/放弃传输:	0:继续	1:放弃(在放弃后自动清除)
	+---------------- SIOS:指示传输开始/停止:	0:停止	1:开始	***/


#define	SIOSR	0x0F99		// SIO状态寄存器	R
 /*** SIOSR	SIO Status Register	(0x0F99	初始00** ****	R)
	7 6 5 4 3 2 1 0
	| +-------------- SEF:	移位操作运行状态监视	0:移动操作结束	1:正在过程中
	+---------------- SIOF:	串行传输运行状态监视	0:传输结束	1:正在过程中	***/


#define	SIOCR2	0x0F99		// SIO控制寄存器2	W
 /*** SIOCR2	SIO Control Register 2	(0x0F99	初始***0 0000	W)
	7 6 5 4 3 2 1 0
	      |	| + + +-- BUF:传输字的数目	000:	1个字	0x0F90
	      | |				001:	2个字	0x0F90 到 0x0F91
	      | |				010:	3个字	0x0F90 到 0x0F92
	      | |				011:	4个字	0x0F90 到 0x0F93
	      | |				100:	5个字	0x0F90 到 0x0F94
	      | |				101:	6个字	0x0F90 到 0x0F95
	      | |				110:	7个字	0x0F90 到 0x0F96
	      | |				111:	8个字	0x0F90 到 0x0F97
	      + +-------- WAIT:等待控制,除了传输/接收模式通常设为00
				00:	Tf = Td(non-wait)
				01:	Tf = 2Td
				10:	Tf = 4Td
				11:	Tf = 8Td	***/


#define	STOPCR	0x0F9A		// 键盘唤醒控制寄存器	W
 /*** STOPCR	Key-On Wake-up Control Register	(0x0F9A	初始0000 ****	W)
	7 6 5 4 3 2 1 0
	| | | +---------- STOP2:通过P64离开停止模式	0:未启动1:启动
	| | +------------ STOP3:通过P65离开停止模式	0:未启动1:启动
	| +-------------- STOP4:通过P66离开停止模式	0:未启动1:启动
	+---------------- STOP5:通过P67离开停止模式	0:未启动1:启动	***/




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -