📄 main.c
字号:
/************************************************************
Copyright (C), 2006, HUST
FileName: main.c
Author: YaoYuan Version : 1 Date:2006/7/19
Description: 按键处理和显示设置 // 模块描述
Version: 2 // 版本信息
Function List: main.c // 主要函数及其功能
1. -------
***********************************************************/
//*********** 定义各个引脚**********************
// IOB0 ----------- 40位数据
// IOB1 ----------- W_CLK
// IOB2 ----------- FQ_UD
// IOB2 ----------- FQ_UD
#define ClearWatchdog (volatile unsigned int *)0x7012 //定义ClearWatchdog指针,使其指向0x7012的地址单元
volatile unsigned int *P_IOB_DATA =(unsigned int*)(0x7005);
volatile unsigned int *P_IOB_DIR =(unsigned int*)(0x7007);
volatile unsigned int *P_IOB_ATTRIB = (unsigned int*)(0x7008);
//**************** 函数预定义 ******************************
#define P_IOB_Data (volatile unsigned int *)0x7005 //定义P_IOB_Data指针,使其指向0x7005的地址单元
#define P_IOB_Buffer (volatile unsigned int *)0x7006 //定义P_IOB_Buffer指针,使其指向0x7006的地址单元
#define P_IOB_Dir (volatile unsigned int *)0x7007 //定义P_IOB_Dir指针,使其指向0x7007的地址单元
#define P_IOB_Attrib (volatile unsigned int *)0x7008 //定义P_IOB_Attrib指针,使其指向0x7008的地址单元
#define ClearWatchdog (volatile unsigned int *)0x7012 //定义ClearWatchdog指针,使其指向0x7012的地址单元
/*************************************************
Function: main // 函数名称
Description: 按键处理和显示设置 // 函数功能、性能等的描述
Input: none // 输入参数说明,包括每个参数的作
// 用、取值说明及参数间关系。
Output: none // 对输出参数的说明。
Return: none // 函数返回值的说明
Others: none // 其它说明
*************************************************/
void senddata(void);
void delay(void);
unsigned int W[40]={0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0};//传输数据
//W[40]={0,0,0,0,1,0,1,1, 0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 1,0,0,0,0,0,0,0, }
int main()
{
//IOA0~IOA7端口为带数据缓存的低电平输出
//初始化IOA8~IOA11端口为带上拉电阻的输入 ,IOA12~IOA15端口为带数据缓存的低电平输出,
//初始化IOB2~IOB15端口为带数据缓存的低电平输出, IOB0~IOB1端口为带数据缓存的高电平输出
*P_IOB_Data = 0x0003;
*P_IOB_Dir = 0xffff;
*P_IOB_Attrib = 0xffff;
while(1)
{
senddata();
} //while
} //main
/*************************************************
Function: senddata
Description: 数据传送,频率更新
Input: none
Output: none
Return: none
Others: none
*************************************************/
void senddata()
{
int i;
for (i = 0; i <= 39; i++)
{
*P_IOB_Data = (*P_IOB_Data & 0xfffe) + W[i]; // IOB0 ----------- 40位数据
delay();
*P_IOB_Data = *P_IOB_Data & 0xfffd; //W_CLK置低 // IOB1 ----------- W_CLK
delay();
*ClearWatchdog = 0x0001; //清看门狗
*P_IOB_Data = *P_IOB_Data | 0x0002; //W_CLK置高,上升沿触发
delay();
}
delay();
*P_IOB_Data = *P_IOB_Data & 0xfffb; //FQ_UD置低 // IOB2 ----------- FQ_UD
delay();
*P_IOB_Data = *P_IOB_Data | 0x0004; //FQ_UD置高,上升沿触发
delay();
*ClearWatchdog = 0x0001; //清看门狗
}
/*************************************************
Function: delay
Description: 延时
Input: none
Output: none
Return: none
Others: none
*************************************************/
void delay()
{
int i;
for(i = 0; i <=100; i++) ; //清看门狗
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -