- 3
- 0
- 约4.43千字
- 约 15页
- 2021-11-12 发布于上海
- 举报
SLE4442卡_IC 的 51 单片机驱动程序
整理了最初的实验草稿版,将端口宏定义,函数声
明以及常用的函数声明建立头文件,感觉清楚多了,在
不断地修改中凝练,在不停的实践中提高,满眼的思绪,
在小小的 Readme中划过一笔 ~~~~~~~~
char data_RST[4], ErrorCount[4];
void IC_RST(void)
{
uchar value,i,count;
DATA_IN; //IC 输入
RST_LOW; // 复位时序
CLK_LOW;
DATA_HIGH;
DelayUs(5);
RST_HIGH;
DelayUs(5);
CLK_HIGH;
DelayUs(5);
CLK_LOW;
DelayUs(5);
RST_LOW;
DelayUs(2);
for(i=0;i;; 1;
DelayUs(2);
CLK_LOW;
DelayUs(2);
CLK_HIGH;
DelayUs(2);
if(RD5 == 1)
{
value |= 0x80; // 判断 IO 脚是否为 1,是则位置 1
}
else
{
value = 0x7f; // 否则位置 0
}
DelayUs(2);
}
data_RST[i] = value;
DelayUs(2);
}
DelayUs(2);
CLK_LOW;
DelayUs(2);
DATA_HIGH;
}
void IC_Init(void) // 初始化
{
TRISD1 = 0;
RD1 = 0; // 上电
TRISD4 = 0; // 时钟输出
TRISD3 = 0; //RST 输出
DelayMs(5); // 上电的必要延时,否则程序出错
}
void Start(void)
{
DATA_OUT; // 开始时序
CLK_LOW;
DATA_HIGH;
DelayUs(2);
CLK_HIGH;
DelayUs(2);
DATA_LOW;
DelayUs(2);
CLK_LOW;
}
void Stop(void) // 结束时序
{
DATA_OUT;
CLK_LOW;
NOP();
NOP();
DATA_LOW;
DelayUs(2);
CLK_HIGH;
DelayUs(2);
DATA_HIGH;
DelayUs(2);
}
uchar Byte_Read(void) // 读字节
{
uchar count;
uchar value;
DATA_IN;
DelayUs(2);
value = 0xff;
for(count=0;count;; 1; // 循环右移,从最低位开始读
DelayUs(2);
CLK_LOW;
DelayUs(2);
CLK_HIGH;
DelayUs(2);
if(RD5 == 1)
{
value |= 0x80;// 判断 IO 脚是否为 1
}
else
{
value = 0x7f;
}
DelayUs(2);
}
return (value);
}
void Byte_WRT(uchar Xdata)
// 写字节
{
uchar count;
DATA_OUT;
DelayUs(2);
for(count=8;count!=0;count--)
{
CLK_LOW;
DelayUs(2);
if((Xdata)0x01)
{
DATA_HIGH;
}
else
{
DATA_LOW;
}
DelayUs(2);
CLK_HIGH;
DelayUs(2);
Xdata = Xdata ;;
您可能关注的文档
最近下载
- 医院康复招聘考试试题及答案解析(2025版).docx VIP
- 医院康复招聘考试试题及答案.docx VIP
- 2024年遵义市中考历史试题卷(含答案).docx
- 复工复产应急处置方案.docx VIP
- 各类催化剂及其作用机理课件.pptx VIP
- 学校廉政风险点暨防范措施一览表.pdf VIP
- 2025法院招聘书记员考试真题及答案.doc VIP
- 二篇:2026年党支部班子在对照加强理论武装、抓好自身建设、执行上级组织决定、严格组织生活等“六个对照方面”检查材料.docx VIP
- 【人民版】《综合实践活动》五下 第1课 《展望未来的学校》 课件.ppt VIP
- 国外航运政策之欧盟航运政策--第十二周.pdf VIP
原创力文档

文档评论(0)