历史上的今天
今天是:2024年12月07日(星期六)
2021年12月07日 | 基于51单片机的万用表proteus仿真
2021-12-07 来源:eefocus
仿真图:
部分源程序:
#include #include "LCD.h" #include "Delay.h" #include "AD.h" #include #include #include void ININT_int1(void); extern unsigned char key_number; extern unsigned char disp_value[5]; void main(void) { unsigned char num=0; s1=0; s2=0; s3=0; key_number=1; //初始化按键的值为0 LcdInit(); //LCD1602有初始化 WriteCom(0x80+0x46); //1602第二行显示 value=00000v for(num=0;num<5;num++) { WriteData(disp_value[num]); Delay(10); } ININT_int1(); //外部中断1的初始化 Tmie0_init(); //定时器0的初始化 while(1) { if(key_number==1) //按键值为1 { DC_VOL_measure(); //直流电压的测量 } if(key_number==2) //按键值为2 { AC_VOL_measure(); //交流电压的测量 } if(key_number==3) //按键值为3 { Circuit_measure(); //电流的测量 } if(key_number==4) //按键值为4 { Res_measure(); //电阻的测量 } if(key_number==5) //按键值为5 { WriteCom(0x01); //清屏 Cap_disp_init(); //电容显示初始化 Cap_measure(); //电容的测量 } /**/ } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #include #include "AD.h" sbit OE=P3^0; //AD0809输出允许控制端 sbit EOC=P3^1; //AD0809转换结束信号输出端 sbit Start=P3^4; //AD0809启动控制输入端 //AD采样 unsigned char ADSample(unsigned char AD_ADDER) //AD采样函数 { unsigned char Data; P2=P2&0X1F; //P2口高三位清零 P2=P2|AD_ADDER; //选择对应的通道 Start=0; //启动AD0809 Start=1; Start=0; while(EOC==0); //AD0809是否转换结束 OE=1; //开输出控制端 Data=P1; //读数据 OE=0; return Data; } float ValueConver(unsigned char AD) //数据转换函数,将采样得到的值转换为电压值 { float Temp; Temp=2*AD; Temp=Temp/255; return(Temp); } 链接:https://pan.baidu.com/s/1LjlSrIBPfDyFDCfryePhlQ 提取码:1234
史海拾趣
|
上海华安新科技人才培训中心08年1月IC版图设计师(员)培训班开班,现热招中~有兴趣的可以咨询021-63171717 刘老师. 上海户籍的朋友可以享受全额或半额的政府补贴, 机会莫失喔~~… 查看全部问答> |
|
转自我爱研发网 作者:hubo 这个案子硬件已经验证完毕,还有部分的驱动程序在开发中。 [ 本帖最后由 冰人 于 2009-11-30 11:26 编辑 ]… 查看全部问答> |
|
平台:44b0 调试软件:Codewarrior for ARM 1.2(因为烧写了U-BOOT,所以初始地址我设置为了0x0c008000) 在线调试器:J-LINK &nb ...… 查看全部问答> |
|
WinCE 5.0+.Net 3.5 使用C#定义定长结构体 在WinCE平台下,StructLayoutAttribute中居然没有Pack属性,导致我不能指定struct按照一个byte对齐,无奈之下我只能选择[StructLayout(LayoutKind.Explicit,Size =5)]这样的方式来迂回达到我的目的。 代码如下 & ...… 查看全部问答> |
|
本来应该昨天晚上发的,结果...校园网实在不给力,唉,真头疼..........关于频率测量现在有了一些简单的想法,先在这说一下,大家讨论讨论首先是单片机,因为之前只用过STC的,感觉有些功能很适合这个项目一个是IO口可以设置成高阻态,我想应该可以 ...… 查看全部问答> |




