开发工具:
文件大小: 3kb
下载次数: 0
上传时间: 2011-08-23
详细说明: //// <<十档逻辑笔>> //// // stc5204-28p; IN=p1.0_adc out= P1.1-P1.7,P2.0-P2.2. /*** 定义头文件 ***/ #include "reg51.h" #include "intrins.h" /*** sfr定义地址不能变 ***/ sfr P1M1 = 0X91; sfr P1M0 = 0X92; sfr P1ASF = 0X9D; //11111111 选P1.0口为ADC功能使能,不位选,只能写, sfr ADC_CONTR = 0XBC; //11111XXX 后三位位P1(0-7)ADC输入信号通道选择, sfr ADC_RES = 0XBD; //为ad转换后结果奇存器SFR地址. /*** 定义常量 #define ***/ #define ADC_POWER 0x80 //CONTR^7 开ADC电源1 #define ADC_FLAG 0x10 //CONTR^6 转换后标志为1 #define ADC_START 0x08 //CONTR^5 开ADC转换=1 #define ADC_SPEED0 0X00 //CONTR^4-3 选转换速度慢00 #define ADC_SPEED1 0X20 //CONTR^4-3 选转换速度中01 #define ADC_SPEED2 0X40 //CONTR^4-3 选转换速度中10 #define ADC_SPEED3 0X60 //CONTR^4-3 选转换速度快11 #define uchar unsigned char;//CONTR^2-0 选ADC输入通道P1.0-7 /*** 定义变量 ***/ uchar dat, key, ch=0XFF/10; //平分10档 /*** 主程序 main ***/ void main(){//P1=P2=0xff; P1M1=P1M0=0x00; 初始化接口// P1ASF=0x01; //选P1.0为ADC使能 ADC_CONTR=0XE8; //开电源1 开转换速度最快11 标志清0 开起动1 端口000(选P1.0) IE=0XA0; //开总中断1, 0, 开ADC中断1, 00000 while(1){ switch(key){ case(1): P1=0XFD; P2=0XFF; break; // case(2): P1=0XFB; P2=0XFF; break; // case(3): P1=0XF7; P2=0XFF; break; // case(4): P1=0XEF; P2=0XFF; break; // case(5): P1=0XDF; P2=0XFF; break; // case(6): P1=0XBF; P2=0XFF; break; // case(7): P1=0X7F; P2=0XFF; break; // case(8): P1=0XFF; P2=0XFE; break; // case(9): P1=0XFF; P2=0XFD; break; // case(10): P1=0XFF; P2=0XFB; break; // default: P1=0XFE;P2=0XFF; break; }} } /***中断响应5********/ void ADC_ISR()interrupt 5 using 1 { dat= ADC_RES; //读AD结果 ADC_CONTR=0xE8; // if( dat=ch*1 && dat=ch*2 && dat=ch*3 && dat=ch*4 && dat=ch*5 && dat=ch*6 && dat=ch*7 && dat=ch*8 && dat=ch*9 )key=10; } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.