HCS08入门之——蜂鸣器实验
0赞该实验非常简单,就是通过IO口输出高电平使蜂鸣器发出蜂鸣声。本实验主要学习IO口的几个寄存器用法:
1、IO口数据寄存器PTxD,对应的值为0时是低电平,为1时是高电平。单个使用是PTxD_PTxDn(x为A、B、C、D……,n为1、2、3……),本例中的“PTCD_PTCD2=1;”等效于“PTCD |= 0x04;”是让PTCD2脚输出高电平。
2、IO口方向寄存器PTxDD,对应的值为0时IO口做输入,为1时IO口做输出。单个使用是PTxDD_PTxDDn(x为A、B、C、D……,n为1、2、3……),本例中的“PTCDD_PTCDD2=1;”等效于“PTCDD |= 0x04;”是将PTCD2脚设为输出。
3、IO口驱动强度寄存器PTDxS,对应的值为0时是低驱动强度,为1时是高驱动强度。单个使用是PTxDS_PTxDSn(x为A、B、C、D……,n为1、2、3……),本例中的“PTCDS_PTCDS2=1;”等效于“PTCDS |= 0x04;”是让PTCD2脚使用高驱动强度。
程序代码如下:
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
//============================
//函数名:Init_io初始化I/O
//作用:初始化I/O
//输入参数:无
//返回参数:无
//=============================
void Init_io(void)
{
//io初始值为1
PTCD_PTCD2=1;
//io为输出
PTCDD_PTCDD2=1;
//高驱动强度
PTCDS_PTCDS2=1;
}
void main(void) {
EnableInterrupts; /* enable interrupts */
/* include your code here */
Init_io();
for(;;) {
__RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
}
