📄 test1.txt
字号:
/*********************************************************************
* 文件名: main.c
* 文件描述: 温控制系统之ADAM4018通信程序
* 硬件描述: 单片机C8051F020,晶振22MHz
* 关联文件:
* 创建人: 2008/12/10
* 版本号: 1.0
* 修改记录:
*
**********************************************************************/
#include <math.h> /*数学函数库*/
#include <stdio.h> /*标准输入输出函数*/
#include <absacc.h> /*绝对地址访问函数*/
#include <intrins.h> /*内部函数*/
#include "c8051F020.h" /*C8051F020头文件*/
typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;
#define BAUDRATE 9600
#define SYSCLK (22118400L)
#define LED1_ON P6 &= 0xF7 //LED灯开关控制,低电平灯亮
#define LED1_OFF P6 |= 0x08
#define LED2_ON P6 &= 0xFB
#define LED2_OFF P6 |= 0x04
#define LED3_ON P6 &= 0xFD
#define LED3_OFF P6 |= 0x02
#define LED4_ON P6 &= 0xFE
#define LED4_OFF P6 |= 0x01
sbit SW1 = P1^5; //SW1 ='0' 开关1按下
sbit SW2 = P1^4; //SW2 ='0' 开关2按下
sbit SW3 = P1^3; //SW3 ='0' 开关3按下
sbit Trans485EN = P3^1; //RS4850使能信号
/*函数声明*/
void OSCILLATOR_Init (void);
void PORT_Init (void);
void WDT_Init(void);
void main (void)
{
WDT_Init();
PORT_Init(); // Initialize Port I/O
OSCILLATOR_Init (); // Initialize Oscillator
while (1)
{
if (SW1 == 0) // If switch depressed
{
//LED1 = 1; // Turn on LED
P6 |= 0x08;
}
else
{
//LED1 = 0; // Else, turn it off
P6 &= 0xF7;
}
} // end of while(1)
} // end of main()
void OSCILLATOR_Init (void)
{
int i; // 软件定时常数
OSCICN |= 0x80; // 使能丢失时钟检测
// 外部晶振使用22.1184 MHz
OSCXCN = 0x67; // 外部晶振设置
for (i=0; i < 256; i++); // 等待至少1ms
while (!(OSCXCN & 0x80)); // 查询XTLVLD位是否位1
OSCICN |= 0x08; // 使能外部晶振
OSCICN &= ~0x04; // 内部晶振禁止
}
void PORT_Init (void)
{
XBR0 = 0x0C; //CEX0引脚使能,UART0使能 00001100
XBR1 = 0x0A; //T0,T1引脚使能 00001010
XBR2 = 0x44; //UART1使能 01000100
//XBR2 &= ~0x02; //EMIFLE=0 外部存储器不使能
//XBR2 |= 0x40; // 交叉开关使能
P0MDOUT |= 0x01; //设置TX为推挽输出
P1MDOUT &= 0xC7; //P1.5 P1.4 P1.3按键端口配置为数字输入
P1 |= 0x38;
P74OUT &= 0xEF; //P6口低四位设置为漏极开路输出,控制LED灯
P3MDOUT &=~0x02; //P3.1设置为漏极开路作为485通信使能
}
void WDT_Init(void)
{
WDTCN = 0xde; // 禁止看门狗
WDTCN = 0xad;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -