📄 main.c
字号:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2004-09-16
** Last Version: 1.0
** Descriptions: The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2004-09-16
** Version: 1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
unsigned int Data[512] =
{
/*
90, 90, 91, 91, 91, 91, 92, 92, 92, 93, 93, 94, 95, 96, 96, 97,
98, 99,100,101,103,104,105,107,108,110,111,113,114,116,118,120,
122,124,126,128,130,132,134,136,139,141,144,146,149,151,154,157,
159,162,165,168,171,174,177,180,183,187,190,193,197,200,203,207,
210,214,218,221,225,229,232,236,240,244,248,252,256,260,264,268,
272,277,281,285,289,294,298,302,307,311,316,320,325,329,334,339,
343,348,353,357,362,367,372,376,381,386,391,396,400,405,410,415,
420,425,430,435,440,445,450,455,460,465,470,475,480,485,490,495,
500,505,510,515,520,525,530,535,540,545,550,555,560,565,570,575,
580,585,590,595,600,604,609,614,619,624,628,633,638,643,647,652,
657,661,666,671,675,680,684,689,693,698,702,706,711,715,719,723,
728,732,736,740,744,748,752,756,760,764,768,771,775,779,782,786,
790,793,797,800,803,807,810,813,817,820,823,826,829,832,835,838,
841,843,846,849,851,854,856,859,861,864,866,868,870,872,874,876,
878,880,882,884,886,887,889,890,892,893,895,896,897,899,900,901,
902,903,904,904,905,906,907,907,908,908,908,909,909,909,909,910,
910,910,909,909,909,909,908,908,908,907,907,906,905,904,904,903,
902,901,900,899,897,896,895,893,892,890,889,887,886,884,882,880,
878,876,874,872,870,868,866,864,861,859,856,854,851,849,846,843,
841,838,835,832,829,826,823,820,817,813,810,807,803,800,797,793,
790,786,782,779,775,771,768,764,760,756,752,748,744,740,736,732,
728,723,719,715,711,706,702,698,693,689,684,680,675,671,666,661,
657,652,647,643,638,633,628,624,619,614,609,604,600,595,590,585,
580,575,570,565,560,555,550,545,540,535,530,525,520,515,510,505,
500,495,490,485,480,475,470,465,460,455,450,445,440,435,430,425,
420,415,410,405,400,396,391,386,381,376,372,367,362,357,353,348,
343,339,334,329,325,320,316,311,307,303,298,294,289,285,281,277,
272,268,264,260,256,252,248,244,240,236,232,229,225,221,218,214,
210,207,203,200,197,193,190,187,183,180,177,174,171,168,165,162,
159,157,154,151,149,146,144,141,139,136,134,132,130,128,126,124,
122,120,118,116,114,113,111,110,108,107,105,104,103,101,100, 99,
98, 97, 96, 96, 95, 94, 93, 93, 92, 92, 92, 91, 91, 91, 91, 90
*/
32768,33161,33553,33946,34338,34730,35122,35514,35905,36295,36685,37075,
37463,37851,38239,38625,39011,39396,39779,40162,40543,40924,41303,41681,
42057,42432,42806,43178,43548,43917,44285,44650,45014,45376,45736,46094,
46450,46804,47156,47505,47853,48198,48541,48881,49219,49555,49888,50218,
50546,50871,51194,51514,51830,52144,52455,52763,53069,53371,53670,53965,
54258,54547,54833,55116,55395,55671,55944,56213,56478,56740,56999,57253,
57504,57752,57995,58235,58471,58703,58931,59155,59375,59591,59803,60011,
60215,60415,60611,60802,60989,61172,61351,61526,61696,61861,62023,62180,
62332,62480,62624,62763,62897,63027,63153,63274,63390,63502,63609,63711,
63809,63902,63990,64074,64153,64227,64297,64362,64422,64477,64527,64573,
64614,64650,64681,64708,64729,64746,64758,64766,64768,64766,64758,64746,
64729,64708,64681,64650,64614,64573,64527,64477,64422,64362,64297,64227,
64153,64074,63990,63902,63809,63711,63609,63502,63390,63274,63153,63027,
62897,62763,62624,62480,62332,62180,62023,61861,61696,61526,61351,61172,
60990,60802,60611,60415,60215,60011,59803,59591,59375,59155,58931,58703,
58471,58235,57995,57752,57504,57253,56999,56740,56478,56213,55944,55671,
55395,55116,54833,54547,54258,53965,53670,53371,53069,52764,52455,52144,
51830,51514,51194,50871,50546,50218,49888,49555,49219,48881,48541,48198,
47853,47505,47156,46804,46450,46094,45736,45376,45014,44650,44285,43917,
43549,43178,42806,42432,42057,41681,41303,40924,40543,40162,39779,39396,
39011,38625,38239,37852,37463,37075,36685,36295,35905,35514,35122,34730,
34338,33946,33553,33161,32768,32375,31983,31590,31198,30806,30414,30023,
29632,29241,28851,28462,28073,27685,27297,26911,26525,26141,25757,25374,
24993,24612,24233,23855,23479,23104,22730,22358,21988,21619,21251,20886,
20522,20160,19800,19442,19086,18732,18381,18031,17683,17338,16995,16655,
16317,15981,15648,15318,14990,14665,14342,14023,13706,13392,13081,12773,
12467,12165,11867,11571,11278,10989,10703,10420,10141,9865,9592,9323,
9058,8796,8537,8283,8032,7784,7541,7301,7065,6833,6605,6381,6161,5945,
5733,5525,5321,5121,4925,4734,4547,4364,4185,4010,3840,3675,3513,3356,
3204,3056,2912,2773,2639,2509,2383,2262,2146,2034,1927,1825,1727,1634,
1546,1462,1383,1309,1239,1174,1114,1059,1009,963,922,886,855,828,807,
790,778,770,768,770,778,790,807,828,855,886,922,963,1009,1059,1114,1174,
1239,1309,1383,1462,1546,1634,1727,1825,1927,2034,2146,2262,2383,2509,
2639,2773,2912,3056,3204,3356,3513,3675,3840,4010,4185,4363,4546,4734,
4925,5121,5321,5525,5733,5945,6161,6381,6605,6833,7065,7301,7541,7784,
8032,8283,8537,8796,9057,9323,9592,9865,10140,10420,10703,10989,11278,
11571,11866,12165,12467,12772,13080,13392,13705,14022,14342,14664,14990,
15317,15648,15981,16317,16655,16995,17338,17683,18031,18380,18732,19086,
19442,19800,20160,20522,20886,21251,21618,21987,22358,22730,23104,23479,
23855,24233,24612,24992,25374,25757,26140,26525,26911,27297,27684,28072,
28461,28851,29241,29631,30022,30414,30806,31198,31590,31983,32375
};
#include "config.h"
#define BEEP 1 << 7 /* P0.7控制BEEP,低电平蜂鸣 */
#define LED 1 << 20 //LED控制
unsigned char FlashLed;
unsigned int Count;
unsigned char i;
/*
*********************************************************************************************************
** 函数名称 :IRQ_Timer0()
** 函数功能 :定时器0中断服务程序,取反LED9控制口。
** 入口参数 :无
** 出口参数 :无
*********************************************************************************************************
*/
void __irq IRQ_Timer0 (void)
{
T0IR = 0x01; /* 清除中断标志 */
VICVectAddr = 0x00; /* 通知VIC中断处理结束*/
DACR = Data[(Count++) ];
//Count ++;
if(Count >= 512) Count = 0;
}
/*
*********************************************************************************************************
** 函数名称 :main()
** 函数功能 :使用定时器实现1秒钟定时,控制LED9闪烁。中断方式。
** 调试说明 :需要将跳线JP11连接BEEP。
*********************************************************************************************************
*/
int main (void)
{
PINSEL1 = 0x00000000; /* 设置管脚连接GPIO */
IO0DIR = BEEP; /* 设置BEEP控制口输出 */
IO0SET = BEEP;
PINSEL2 = 0x00000000; /* 设置管脚连接GPIO */
IO1DIR = LED; /* 设置LED控制口输出 */
IO1SET = LED;
PINSEL1 |= (PINSEL1&(~(0x03<<18))) | (0x02<<18); // P0.25连接Aout
IRQEnable(); /* IRQ中断使能 */
/* 定时器0初始化 */
T0TC = 0; /* 定时器设置为0 */
T0PR = 0; /* 时钟不分频 */
T0MCR = 0x03; /* 设置T0MR0匹配后复位T0TC,并产生中断标志 */
T0MR0 = Fpclk / (800 * 512) - 1; /* 1/800秒钟定时 */
T0TCR = 0x01; /* 启动定时器 */
/* 设置定时器0中断IRQ */
VICIntSelect = 0x00; /* 所有中断通道设置为IRQ中断 */
VICVectCntl0 = 0x20 | 0x04; /* 设置定时器0中断通道分配最高优先级 */
VICVectAddr0 = (uint32)IRQ_Timer0; /* 设置中断服务程序地址 */
VICIntEnable = 1 << 0x04; /* 使能定时器0中断 */
FlashLed = 0;
while (1)
{
//if ((IO0SET & BEEP) == 0)
// IO0SET = BEEP; /* 关闭BEEP */
//else
// IO0CLR = BEEP;
FlashLed ++;
if(FlashLed <= 125)
IO1SET = LED;
if(FlashLed > 125)
IO1CLR = LED;
if(FlashLed == 250)
FlashLed = 0;
}
return 0;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -