基于51单片机自动数字电压表PCF8591 TLC2543 TL548 proteus仿真汇编程序设计
硬件设计1
基于51单片机+PCF8591 ADC的仿真电路图:
A. 基于51单片机和PCF8591的电压表,具有仿真图/源程序;
B. 由数码管作为显示器;
C.测试电压范围为0~5V,精度约为0.02
程序设计1
#include "config.h"
#include "IIC.h"
#include "display.h"
#include "PCF8591.h"// 初始化定时器零
void Init_Timer0() {TMOD = 0x01;TH0 = 0xd8;TL0 = 0xf0; // 10msTR0 = 1;ET0 = 1;EA = 1;
}// 定时器0中断,每10ms刷新一次数码管
void Timer0() interrupt 1 using 1 {Data_out(); TH0 = 0xd8;TL0 = 0xf0;
}void main() {uint k, temp;Init_PCF(); // 初始化PCF8591Init_Timer0(); // 初始化定时器0while(1) {temp = Read_PCF(); // 读取AD转换后的数字量PCF_Output(temp); // DA转换,模拟量输出//将数字量转换为十进制,*100 + 0.5将小数转换为整数,便于显示和存储k = (float)temp * 5 / 256 * 100 + 0.5; // 将得到的结果存入数组Data_Show[0] = k / 100; // 百位Data_Show[1] = k % 100 / 10; // 十位Data_Show[2] = k % 100 % 10; // 个位}
}
硬件设计2
基于51单片机+TLC2543 ADC的仿真电路图:
A. 基于51单片机和TLC2543的电压表,具有仿真图/源程序;
B. 由数码管作为显示器;
C.测试电压范围为0~5V,精度约为0.01
程序设计2:
#include "led.h"
#include "TLC2543.h"
const uchar code displayMode=0x0f;
uchar displayBuff[4]={0x7e,0x7e,0x7e,0x7e}; //数码管显示缓冲区,低两位为时间,最高位为抢答号
const uchar code digitalNumber[10]={0x7e,0x06,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b};
void main()
{ uint voltageReadTemp;uint voltageRead;uchar temp;uchar i,j;init_led();while(1){ledSweepDisplay(displayBuff,displayMode,4);voltageRead=read_TLC2543(0x05);voltageRead=voltageRead*0x05;for(i=4;i>0;i--){temp=(uchar)(voltageRead/0x0fff);if(i==4)displayBuff[i-1]=digitalNumber[temp]|0x80;elsedisplayBuff[i-1]=digitalNumber[temp]; voltageRead=voltageRead%0x0fff;voltageReadTemp=voltageRead<<1;voltageRead=0x0000;for(j=0;j<5;j++)voltageRead+=voltageReadTemp;//voltageRead=voltageRead*10}}}
硬件设计3
基于51单片机+TL548 ADC的仿真电路图:
A. 该资源为基于51单片机和TLC548的电压表,具有仿真图/源程序;
B. 使用汇编语言,由数码管作为显示器;
C.测试电压范围为0~5V,精度约为0.02
汇编程序设计:
BCD_100 EQU 30H
BCD_10 EQU 31H
BCD_1 EQU 32HT050MS_NUM EQU 33H
DLYMS_NUM EQU 34HTLC_DATA EQU 35H
ND_ADC BIT 00HDIS_ON BIT P3.4
TLC_CLR BIT P1.0
TLC_CS BIT P1.1
TLC_DAT BIT P1.2ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0_ISRORG 0100H
MAIN:
MOV SP,#6FH
MOV BCD_100,#0
MOV BCD_10,#0
MOV BCD_1,#0CLR DIS_ON
MOV T050MS_NUM,#5CLR ND_ADCMOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
CLR TF0
SETB ET0
SETB EA
SETB TR0MAIN_LOOP:
LCALL LED_DIS_3BIT
JNB ND_ADC,MAIN_LOOP
LCALL TLC_ADC
CLR ND_ADC
LJMP MAIN_LOOPLED_DIS_3BIT:
MOV DPTR,#LED_TAB
CLR DIS_ON
MOV A,BCD_100
MOVC A,@A+DPTR
ANL A,#07FH
MOV P0,A
ANL P3,#1FH
ORL P3,#5FH
SETB DIS_ONMOV DLYMS_NUM,#2
LCALL DELAYMS
CLR DIS_ON
MOV A,BCD_10
MOVC A,@A+DPTR
MOV P0,A
ANL P3,#1FH
ORL P3,#3FH
SETB DIS_ON
MOV DLYMS_NUM,#2
LCALL DELAYMS
CLR DIS_ON
MOV A,BCD_1
MOVC A,@A+DPTR
MOV P0,A
ANL P3,#1FH
ORL P3,#1FH
SETB DIS_ON
MOV DLYMS_NUM,#2
LCALL DELAYMS
RET
附:http://www.jh-tec.cn/archives/7303
基于51单片机自动数字电压表PCF8591 TLC2543 TL548 proteus仿真汇编程序设计相关推荐
- 基于51单片机的8路抢答器proteus仿真 汇编语言程序设计
硬件设计 上一篇讲了基于C语言的抢答器,下边讲一下基于汇编语言的抢答器. 仿真图: 程序设计 OK EQU 20H ;抢答开始标志位RING EQU 22H ;响铃标志位 DATA0 EQU 36H ...
- 基于51单片机的16x32点阵滚动广告牌 proteus仿真原理图程序设计
硬件设计 仿真图: 支持左右轮动 程序设计 #include <REG51.H> #define FOSC 12 //定义晶振频率 #define INIT_TH0 0x3C //定时器T ...
- 【036】基于51单片机的电子时钟与秒表Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的电子时钟与秒表proteus仿真设计一份: (2).基于51单片机的电子时钟与秒表proteus仿真设计keli源代码一份: (3).基于51单片机的电子时 ...
- 基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频)
基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频) 仿真图proteus 7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0031 ...
- 基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料)
资料编号:133 讲解视频: 133-基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为主控,LCD1602显示当前温度和可燃气体浓 ...
- 基于51单片机有害气体浓度检测超限报警Proteus仿真
资料编号:157 下面是相关功能视频演示: 157-基于51单片机有害气体浓度检测超限报警Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC0832作为AD转换 ...
- 基于51单片机的全自动智能洗衣机控制系统Proteus仿真(仿真+源码+全套资料)
资料编号:108 设计功能: 1.对水温实时显示 2.显示滚筒转速 3.显示运行倒计时 4.能通过按钮分别设置洗涤时间和脱水时间 5.运行过程为:加热--洗涤--脱水 具体功能请看下方演示视频 10 ...
- 基于51单片机酒精浓度检测仪超限报警Proteus仿真
资料编号:162 下面是功能演示视频: 162-基于51单片机酒精浓度检测超限报警Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC0832作为AD转换模块 ...
- 基于51单片机甲醛气体浓度检测超限报警系统Proteus仿真
资料编号:155 下面是相关功能视频演示: 155-基于51单片机甲醛气体浓度检测超限报警系统Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC0832作为A ...
最新文章
- linux nohup 英文全称 no hang up(
- b丅151组成的充电器电路_BT151S-500R118
- C/C++编译、测试须知、须会,CMake、Boost等
- Android Studio没有看到设备
- 超强1000个jquery极品插件!
- java中的@Override标签
- opencv图片序列转换成视频
- 我的年终总结:做了9年SOC的一点点实践体会
- 财务分析报表APP的功能优势
- FME入门视频教程:第三节 FME界面及常用设置
- 联想启天电脑教室黑屏硬盘保护系统EDU8.0.2.19修复手记
- 解决output directory already exists
- 不可多得的MBA相关书籍推荐
- 计算机演示题打不开,win10系统计算机文件打不开的修复教程
- 计量经济学笔记——自相关的检验和处理(转载)
- 算法竞赛进阶指南---0x05(排序)七夕祭
- 生育登记服务制度啥意思?生育服务证和准生证一回事吗?生育那些事
- V型测试,W型测试和H型测试
- 关于TCP快速重传的细节-重传优先级与重传触发条件
- 整理了21场kaggle比赛TOP方案