欢迎来到天天文库
浏览记录
ID:61931921
大小:1.14 MB
页数:59页
时间:2021-03-31
《PIC实例程序教学文案.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、__________________________________________________[MCD-DEMO2]A/D转换程序实例[PIC16F877A+PICC]//实验目的:熟悉A/D转换 //软件思路:选择RA0做为模拟输入通道; // 结果只取低8位 // 连续转换5次再求平均值做为转换结果 // 结果送数码管的高低3位显示 //硬件要求:跳线J18接通 // 拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF
2、// 为不影响结果,其他拨码开关置OFF。 #include //包含单片机内部资源预定义 __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 constcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90}; //定义常数0-9的数据表格 void DELAY();
3、____________________________________________________________________________________________________//delay函数申明 void init(); //I/O口初始化函数申明 void display(intx); //显示函数申明 //------------------------------------------------ //主程序开始 void ma
4、in() { intresult=0x00; //定义转换结果寄存器 while(1) //死循环 { inti; //定义循环次数控制寄存器 result=0x00; //转换结果清0 for(i=5;i>0;i--) //求5次转换结果的平均值 ______________________________________
5、______________________________________________________________{ init(); //调用初始化函数 ADGO=0X1; //开启转换过程 while(ADGO); //等待转换完成 result=result+ADRESL; //累计转换结果 } result=result/5; //求5次结果的平均值
6、 display(result); //调用显示函数 } } //----------------------------------------------- //初始化函数 void init() { PORTA=0XFF; PORTD=0XFF; ______________________________________________________________________
7、______________________________//熄灭所有显示 TRISA=0X1; //设置RA0为输入,其他为输出 TRISD=0X00; //设置D口全为输出 ADCON1=0X8E; //转换结果左对齐,RA0做模拟输入口,其它做普通I/O ADCON0=0X41; //系统时钟Fosc/8,选择RA0通道,允许ADC工作 DELAY();
8、 //保证采样延时 } //----------------------------------------------- //显示函数 voiddisplay(intx) { int bai,shi,ge,temp; //定义4个临时变量 temp=x; ___________________________
此文档下载收益归作者所有