电子说
目录
具体实现功能
设计介绍
51单片机简介
资料内容
仿真实现(protues8.7)
程序(Keil5)
全部内容
具体实现功能
1、输入直流电压值,自动选择量程,处理后利用LCD1602进行显示。
2、仿真模拟实现直流电压的测量与显示,可进行四个量程的切换(2V、20V、200V、500V)。
设计介绍
51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。
资料内容
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。
程序(Keil5)
本设计利用KEIL5软件实现程序设计。
主函数如下:
void main() { float DATA,temp2; char temp1; LcdInit(); //LCD初始化 LCD_word(0x80,"voltage:"); while(1) { P2=0xFF; temp1=P2; temp1=temp1&0xf0; switch(temp1) { case 0x80: {P2=P2&0xF8;A=0;break;} case 0xc0: {P2=P2&0xF9;BB=0;break;} case 0xE0: {P2=P2&0xFA;C=0;break;} case 0xF0: {P2=P2&0xFB;D=0;break;} } AD_START=0; AD_OE=0; AD_START=1; _nop_(); AD_START=0; while(!AD_EOC); AD_OE=1; temp2=P1; AD_OE=1; DATA=temp2/255.0*5.0; temp1=P2; temp1=temp1&0x0f; switch(temp1) { case 0x08:DATA=DATA*1;break; case 0x09:DATA=DATA*10;break; case 0x0A:DATA=DATA*100;break; case 0x0B:DATA=DATA*1000;break; } LCD_DATA(0x89,DATA); LCD_word(0x80+15,"V"); } }
程序运行结果如图:
全部内容
全部内容如下:
资料链接:https://docs.qq.com/doc/DT0ZleG9PZ0NhSWxU
全部0条评论
快来发表一下你的评论吧 !