[ 本帖最后由 autopccopy 于 2020-11-25 22:27 编辑 ]\n\n/*---------------------------------------------------------------------*//* --- STC MCU Limited ------------------------------------------------*//* --- STC 1T Series MCU Demo Programme -------------------------------*//* --- Mobile: (86)13922805190 ----------------------------------------*//* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*//* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*//* --- Web: www.**.com --------------------------------------------*//* --- Web: www.***.com ---------------------------------------*//* --- QQ: 800003751 -------------------------------------------------*//* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 *//*---------------------------------------------------------------------*/
/************* 功能说明 **************
本例程基于STC16为主控芯片的实验箱8进行编写测试.
程序使用P6口来演示跑马灯,输出低驱动。
下载时, 选择时钟 24MHZ (用户可自行修改频率).
******************************************/
#include "..\comm\STC16f.h"
#include "stdio.h"#include "intrins.h"
typedef unsigned char u8;typedef unsigned int u16;typedef unsigned long u32;
#define MAIN_Fosc 24000000UL
//==========================================================================
/************* 本地常量声明 **************/
/************* IO口定义 **************/
/************* 本地变量声明 **************/
u8 ledIndex;u8 code ledNum[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
/************* 本地函数声明 **************/
void delay_ms(u8 ms);
/**************** 外部函数声明和外部变量声明 *****************/
/******************** 主函数 **************************/void main(void){ WTST = 0; P_SW2 |= 0x80; CLKDIV = 0; //24MHz主频,分频设置 P_SW2 &= 0x7F;
P0M1 = 0; P0M0 = 0; //设置为准双向口 P1M1 = 0; P1M0 = 0; //设置为准双向口 P2M1 = 0; P2M0 = 0; //设置为准双向口 P3M1 = 0; P3M0 = 0; //设置为准双向口 P4M1 = 0; P4M0 = 0; //设置为准双向口 P5M1 = 0; P5M0 = 0; //设置为准双向口 P6M1 = 0; P6M0 = 0; //设置为准双向口 P7M1 = 0; P7M0 = 0; //设置为准双向口
P40 = 0; //LED Power On
while(1) { P6 = ~ledNum[ledIndex]; //输出低驱动 ledIndex++; if(ledIndex > 7) { ledIndex = 0; } delay_ms(250); delay_ms(250); }}
//========================================================================// 函数: void delay_ms(unsigned char ms)// 描述: 延时函数。// 参数: ms,要延时的ms数, 这里只支持1~255ms. 自动适应主时钟.// 返回: none.// 版本: VER1.0// 日期: 2013-4-1// 备注: //========================================================================void delay_ms(u8 ms){ u16 i; do{ i = MAIN_Fosc / 6000; while(--i); }while(--ms);}
|
|