找回密码
 立即注册
×

00:00:00

您有一张0.1元限时体验卡,马上领取获得VIP尊享特权。

请教:STC32G12K128 操作 EMP240T100C5N 问题?

2023-4-7 14:08 来自 qlw_cq 发布 @ 综合讨论

STC32G12K128 操作 EMP240T100C5N 问题?


//==硬件定义==
sbit         AD_BUSY =P3^3;                                            //INT1中断输入 AD转换忙信号 0=转换结束 1=转换中
sbit    E240_CS =P7^5;                                          //CS片选
sbit    E240_RS =P4^5;                                          //RS数据/指令
sbit    E240_RD =P4^4;                                          //RD读
sbit    E240_WR =P4^2;                                         //WR写

//#define E240_BUS_H   P2                                       //数据端口P0--0x80,P1=0x90,P2=0xA0,P3=0x0B0, P6= 0xE8
#define E240_BUS    P0                                          //数据端口P0--0x80,P1=0x90,P2=0xA0,P3=0x0B0, P6= 0xE8       由于画板时疏忽,未能选STC推荐的P2、P6口

//--CS  RS  WR  RD  定义CPLD操作地址 --------------------------
//   0    0    0    1   CPLD写命令: CS=0  RS=0  WR=0  RD=1              
//   0    1    0    1   CPLD写数据: CS=0  RS=1  WR=0  RD=1
//   0    0    1    0   CPLD读状态: CS=0  RS=0  WR=1  RD=0
//   0    1    1    0   CPLD读数据: CS=0  RS=1  WR=1  RD=0



/*==============|===============|===============|===============
* 功    能:CPLD GPIO设置
//GPIO_PullUp     PxM1 &= ~Px.n,        PnM0 &= ~Px.n;         //上拉准双向口
//GPIO_OUT_PP     PxM1 &= ~Px.n,        PnM0 |=  Px.n;         //推挽输出
//GPIO_HighZ      PxM1 |=  Px.n,        PnM0 &= ~Px.n;         //浮空输入
//GPIO_OUT_OD     PxM1 |=  Px.n,        PnM0 |=  Px.n;         //开漏输出
================|===============|===============|=============*/
void Emp240Init(void)                                           //初始化EPM240
{
//    P0M1 &=~E240_BUS,        P0M0 |= E240_BUS;                            //推挽输出  
    P0PU |= 0xff;                                               //P0口开启内部上拉4.1K
//    P0IE |= 0xff;                                               //P0数字信号许可
//    P0SR |= 0xff;                                             //输出速度 1=慢
   
    P3M1 |= AD_BUSY,        P3M0 &=~AD_BUSY;                            //浮空输入  AD_BUSY
    P3PU |= AD_BUSY;                                            //P3^3(AD_BUSY)   开启内部上拉4.1K
   
//    P4M1 &=~(E240_RS|E240_WR|E240_RD),  P4M0 |=(E240_RS|E240_WR|E240_RD);   //推挽输出
//    P7M1 &=~E240_CS,                    P7M0 |= E240_CS;        //推挽输出
    P4PU |=(E240_RS|E240_WR|E240_RD);                           //P4口开启内部上拉4.1K     

免责声明:

本平台旨在开源共享精神,请勿发布敏感信息,任何违法信息我们将移交公安机关;

热门标签 更多

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-15 06:31 , Processed in 0.061282 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部