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

📄 test6.asm

📁 试验仪自检程序
💻 ASM
字号:
//======================================================
//  The information contained herein is the exclusive property of
//  Sunnnorth Technology Co. And shall not be distributed, reproduced,
//  or disclosed in whole in part without prior written permission.
//                  (C) COPYRIGHT 2003  SUNNORTH TECHNOLOGY CO.
//                              ALL RIGHTS RESERVED
//  The entire notice above must be reproduced on all authorized copies.
//========================================================

//============================================================
//  工程名称: test6.spj
//  功能描述: 1)选择不同Fosc信号频率,观察发光二极管亮灭快慢
//            2)改变CPUClk频率,观察发光二极管亮灭快慢
//  硬件连接:A口低八位控制八个发光二极管阳极,B6控制8个发光二极管的共阴极
//  文件来源:《实验仪实验指导书》,	 实验八 系统时钟实验"   第20页
//  IDE环境:   SUNPLUS u'nSPTM  IDE 1.8.4
//
//  涉及的库:
//  组成文件:
//    	      main.asm
//===============================================

//============================================================
// 文件名称:main.asm
// 实现功能: 1)选择不同Fosc信号频率,观察发光二极管亮灭快慢
//           2)改变CPUClk频率,观察发光二极管亮灭快慢
//============================================================

	.include     Hardware.inc

	.define 	 FoscCLK_20 		0x00;		 	//Fosc=20.480MHz
	.define		 FoscCLK_24 		0x20;		 	//Fosc=24.576MHz
	.define		 FoscCLK_32 		0x40;		 	//Fosc=32.768MHz
	.define		 FoscCLK_40 		0x60;		 	//Fosc=40.960MHz
	.define 	 FoscCLK_49 		0x80;	   	 	//Fosc=49.152MHz

	.define 	CPUCLK_Fosc       0x00;  	 	//CPUClk选Fosc
	.define		CPUCLK_Fosc2      0x01;   	 	//CPUClk选Fosc/2
	.define 	CPUCLK_Fosc4      0x02;  		//CPUClk选Fosc/4
	.define 	CPUCLK_Fosc8      0x03;   	 	//CPUClk选Fosc/8
	.define		CPUCLK_Fosc16     0x04;   	 	//CPUClk选Fosc/16
	.define 	CPUCLK_Fosc32     0x05;   	 	//CPUClk选Fosc/32
	.define 	CPUCLK_Fosc64     0x06;   	 	//CPUClk选Fosc/64

	.define 	Fosc_CLK_RATE 	  FoscCLK_40; //选择不同Fosc信号频率
	.define 	CPU_CLK_RATE   CPUCLK_Fosc2; //改变CPUClk频率

	.code
	.public _main
//============================================================= 
// 函数名称:   main()
// 功能描述:  1)选择不同Fosc信号频率,观察发光二极管亮灭快慢
//            2)改变CPUClk频率,观察发光二极管亮灭快慢
// 语法格式:  main()
//入口参数:     无
// 出口参数:    无
// 注意事项:    仅为用户模型
//=============================================================
_main:
	r1=0x00FF					
	[P_IOA_Dir]=r1			 	 	//IOA: [7..0]同相输出低电平
	[P_IOA_Attrib]=r1
	r1=0
	[P_IOA_Data]=r1
	r1=0x0040						//IOB6同相输出高电平
	[P_IOB_Dir]=r1
	[P_IOB_Attrib]=r1
	[P_IOB_Data]=r1
	r1=Fosc_CLK_RATE     	 	 	//Fosc
	r1|=CPU_CLK_RATE   	 		 	//CPUClk	
	//系统时钟选择设置,32768Hz时钟默认为自动弱振模式即B3为0
	[P_SystemClock]=r1	
MainLoop:     
	r1=0x00FF        		 	 	 	//LED亮
	[P_IOA_Data]=r1 
	CALL Delay
	r1=0x00                 		 	//LED灭
	[P_IOA_Data]=r1
	CALL Delay       
	JMP MainLoop 
       
Delay:                   		 		//延时
    r1=0x0001                    	//清看门狗
	[P_Watchdog_Clear] = r1
	r3=0x4
DelayLoop2:     
	r4=0xFFFF
DelayLoop1:
	r4-=1
	JNZ DelayLoop1
	r3-=1
	JNZ DelayLoop2
	RETF

⌨️ 快捷键说明

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