【资料分享】基于8051单片机与1601LCD的计算器设计(仿真 程序 论文)、基于51单片机数字电压表的设计(仿真、程序、原理图、论文)

基于8051单片机与1601LCD的计算器设计(仿真 程序 论文)

总体设计

根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:

(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。

(2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。

(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。

基于51单片机数字电压表的设计(仿真、程序、原理图、论文)

摘 要

数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。

本次设计的作品要求制作数字电压表的量程为0到5v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v。同时设计的精度为小数点后两位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。

【关键词】AT89C51 ADC0809 LCD1602液晶

//<程序名>:数字电压表                                                                          **
//<功能>:使用LCD显示被检测电压,精度为0.05V,范围是0~5V。                                     **
#include"includes.h"
#define TIME0H 0x3C
#define TIME0L 0xB0
uchar uc_Clock=0;        //定时器0中断计数
bit b_DATransform=0;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把电压显示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vShowVoltage(uint uiNumber)
{
    uchar ucaNumber[3],ucCount;
    if(uiNumber>999)                    
        uiNumber=999;
    ucaNumber[0]=uiNumber/100;                                //把计算数字的每个位存入数组。
    ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;                            
    ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];
    for(ucCount=0;ucCount<3;ucCount++)
    {
        vShowOneChar(ucaNumber[ucCount]+48);                //从首位到末位逐一输出。
        if(ucCount==0)
            vShowOneChar('.');
    }
}
//*************************************************************************************************
//*                                                                                                  *
//*              ********************************主函数******************************                  *
//*                                                                                                  *
//*************************************************************************************************
void main()
{
    TMOD=0x01;            //定时器0,模式1。
    TH0=TIME0H;
    TL0=TIME0L;
    TR0=1;                //启动定时器。
    ET0=1;                //开定时器中断。
    EA=1;                //开总中断
    vdInitialize();
    vWriteCMD(0x84);       //写入显示起始地址(第一行第4个位置)
    vShowChar("voltage");
    vWriteCMD(0xC9);     
    vShowChar("(V)");
。。。
。。。

1664【毕设课设】基于51单片机数字电压表的设计(仿真、程序、原理图、论文)

1665【毕设课设】基于8051单片机与1601LCD的计算器设计(仿真 程序 论文)

文章转自电设屋,完整资料百度网盘下载地址:百度网盘 www.aiesst.cn/share.html


Proutes仿真软件如何导入编译文件hex

1.首选需要确定所做的设计是否能够进行仿真,如果遇到如:DHT11,NRF24L01,BMP180之类的软件中没有对应的芯片并且无法采用别的器件进行替代和该器件是属于主要器件缺少了则仿真就没有意义,则没办法进行仿真。

2.先确认自己电脑上是否安装有Proteus仿真软件(如图这个软件)。如果你电脑上没有安装上这个软件的话,那就先下载安装包安装,软件下载地址查看《11-相关软件下载链接》文件夹中。

如果只是为了交作品而不想在自己电脑安装这些没用的软件的话,需要看仿真图的话可以打开复制到word文档(使用office2010以上版本或者wps打开)的。

3.下载并安装破解号软件后,双击打开仿真文件→“教程示例仿真图(Protuse)”文件夹中的“教程示例.DSN” 。(在此声明一下:另外一个文件是“教程示例.hex”这个等下仿真的时候会用到,另外还两个是仿真软件在运行的时候会自动生成的我们不用管)。

4.打开仿真文件后界面如下图所示:

5.加载仿真程序。方法:鼠标放在单片机的中间,然后鼠标左键点击一下单片机会变为红色。

然后右键在点击一下会弹出一个对话框如下图所示。(如果熟练的话可以直接双击就可以完成以上两步的点击)。

点击文件夹图标后选择 第3步提到的KEIL软件生成的程序文件“教程示例.hex”具体操作如下图所示。

打开后会回到刚才的对话框,这是点击“OK”就可以了

6.仿真程序选择好后就可以进行仿真了,在仿真之前大家可以先保存下设置(快捷键Ctrl+S),以防待会忘记保存,下次大家又得重新来一遍选择仿真程序。如果你保存过一次了,下次再打开仿真文件时就可以跳过第5步直接进行第六步的仿真,如果有提示说明找不到仿真程序在进行第5步重新加载下程序即可。

猜你喜欢

转载自blog.csdn.net/jingdianjiuchan/article/details/128965122