完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
ADC0809的程序 ,错误在哪里,谢了
#include #include "delay.h" #include "intrins.h" #include "display.h" #define nop() _nop_() unsigned char temp ,temp1,temp2,getdata ;//ADC转换值 bit ReadADFlag; ***it CLK = P3^1; /*定义ADC控制端口*/ ***it ST = P3^2; ***it OE = P3^0 ; ***it EOC = P3^0 ; void Init_timer1(void) { TMOD |= 0x10; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响 EA=1; //总中断打开 ET1=1; //定时器中断打开 TR1=1; //定时器开关打开 } /*------------------------------------------------ 定时器中断子程序 ------------------------------------------------*/ void Timer1_isr(void) interrupt 3 { TH1=(65536-65506 )/256; //重新赋值 2ms TL1=(65536-65506 )%256; CLK=~CLK; } void main() { Init_Timer0(); Init_Timer1( ) ; DelayMs(20); EA=0; temp=0; OE=0; while(1) { if(ReadADFlag) { ReadADFlag=0; ST=0; _nop_(); ST=1; _nop_(); ST=0; if(EOC==0) { _nop_(); OE=1; _nop_(); getdata=P3; temp=getdata*5/255; TempData[0]=dofly_DuanMa[temp/100]; TempData[1]=dofly_DuanMa[(temp%100)/10]; TempData[2]=dofly_DuanMa[(temp%100)%10]; OE=0; EA=1; DelayMs(100); } } } } |
|
相关推荐
1个回答
|
|
你把if(EOC==0)改为while(EOC!=0);然后去掉if的那双括号试一下!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1063 浏览 0 评论
693 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu网络设置
828 浏览 0 评论
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
892 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
843 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10790 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 22:49 , Processed in 0.530547 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191