📄 serialadc.c
字号:
/*****************************************/
/* Copyright (c) 2005, 通信工程学院 */
/* All rights reserved. */
/* 作 者:戴 佳 */
/*****************************************/
#include "SerialADC.h"
/* 外部中断0服务子程序 */
void int0svr(void) interrupt 0 using 1
{
uchar count,tmp,i;
EX0 = 0; // 关闭外部中断0
tmp = 0;
CS = 1; // /CS置高,片选无效
IOCLK = 0; // I/O CLK置低
CS = 0; // 片选有效
_nop_(); // 执行一步空指令起到延时至少1.4us的作用
for (count=0;count<8;count++)
{
IOCLK = 1; // I/O CLOCK置高
if (DATAOUT)
tmp++;
tmp = tmp<<1; // 左移一位
IOCLK = 0; // I/O CLOCK置低
}
CS = 1; // /CS置高,片选无效
DataResult = tmp;
for(i=0;i<3;i++) // 适当延时超过17us
_nop_();
EX0 = 1; // 打开外部中断0
}
void main()
{
EA = 1;
EX0 = 1; // 打开外部中断0
/* 无限循环,等待外部中断0启动模数转换 */
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -