📄 main.c
字号:
//-----------------------------------------------------------------
// 名称: PIC单片机从动端口(PSP)实验-主机程序
//-----------------------------------------------------------------
// 说明: K1:该键按下后,主机向从机的PSP端口连续发送数字0~9,从机接收并显示
// K2:每次按下该键时,主机向从机的PSP端口发送一个数字,从机接收并显示
// K3:该键按下后,从机通过PSP端口向主机连续发送随机字节,
// 主机读取后发送串口显示.
//
//-----------------------------------------------------------------
#include <pic.h>
#include <stdio.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 4000000UL
//按键判断
#define K1_DOWN() !RC0 //连续输出按键
#define K2_DOWN() !RC1 //单个输出按键
#define K3_DOWN() !RC2 //要求连接接收
INT8U Button_NO = 1; //当前按键编号(默认为K1)
INT8U send_dat = 0xFF; //主机待发送给从机的数据
INT8U recv_dat; //主机自从机接收的数据
INT8U disp_buff[4]; //串口显示缓冲
INT8U r = 0; //串口显示换行控制
INT16U tCount = 0; //延时累加变量
//-----------------------------------------------------------------
// 向从机PSP端口发送一字节数据
//-----------------------------------------------------------------
void Send_TO_PSP(INT8U d)
{
}
//-----------------------------------------------------------------
// 串口初始化
//-----------------------------------------------------------------
void Serial_port_init()
{
}
//------------------------------------------------------------------
// 串口输出字符串函数
//------------------------------------------------------------------
void Send_String(char *s)
{
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
ADCON1 = 0x06; //关闭所有模拟端口,包括RE0~RE2
TRISA = 0x00; //设置数码管输出端口
PORTA = 0x00; //初始时在BCD数码上显示0
TRISC = 0x07; //PORTC低3位为按键输入端口
TRISE = 0x00; //RD/WR/CS输出
PORTE = 0xFF; //RE0~RE2引脚输出全1,不对从机进行操作
while(1)
{
//按键K1控制连续发送----------------------------------------
if (K1_DOWN())
{
}
//根据Button_NO判断最后按下的是否是K1,如果是则连续发送
if (Button_NO == 1)
{
}
//按键K2控制单个发送----------------------------------------
if (K2_DOWN())
{
}
//按键K3控制接收-------------------------------------------
if (K3_DOWN())
{
}
if (Button_NO == 3)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -