📄 main.c
字号:
//==============数字量输出=================================//
//程序名称: number_display.prj //
//程序描述:用modulus-dowm-counter每0.1秒产生中断,控制八位 //
// 数字量输出,数字量每秒自增1 //
//引脚连接:J14 (PT0-PT7) 与J1八个脚相连接。 //
//=========================================================//
#include <hidef.h>
#include <mc9s12dg128.h>
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
#define Second 0xc530 //to generate an interrupt every 0.1second
//mcpr1 and mcpr0 should be both set high level
#define Number_output PTT
#define Pin_direction DDRT
//define user function
void number_output_int(void);
void number_count(void);
unsigned char index=0;
void main(void) {
EnableInterrupts;
number_output_int();
number_count();
for(;;) {
if (index==10){
Number_output--;
index=0;
}
}
}
void number_output_int(void){
//define register of the pin
Pin_direction=0xff;
Number_output=0xff;
//define register of the modulus-down-counter
MCCTL=0xc3;
}
void number_count(void) { //number begain to increase
MCCTL_MCEN =1;
MCFLG_MCZF=1;
MCCNT=Second;
MCCTL_FLMC=1;
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void interrupt_MCCNT(void) {
DisableInterrupts;
index++;
MCFLG_MCZF=1;
EnableInterrupts;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -