单片机控制制作电压表.docxVIP

  • 1
  • 0
  • 约3.31千字
  • 约 14页
  • 2019-09-27 发布于广东
  • 举报
项目五设计制作电压表 组别 ******姓名 学号 班级 ** **** 电压表设计与制作作业卡 1、电压表的功能与任务 1、电压表功能指标要求及任务 1、 功能指标要求 项口名称 项目名称:设计制作电压表 项目要求 1) 用ke订C51、Proteus、EASY下载软件作开发工具; 2) 用AT89C51单片机作控制;AD0809做AD转换; 3) 3位数码管作显示;。 4) 测量0-5v电压,两位小数显示 2、 任务 1) 拟定总体设计制作方案; 2) 拟定硕件电路; 3) 编制软件流程图及设计相应源程序; 4) 仿真调试电压表; 5) 调试功能指标; 6) 完成项目评估。 2、总体设计思路 实现思路为框图设计 时钟电路复位电路AT89C51用单片机作控制,吋钟为12MHz,选用ADC0809的一个通道输入待测直流电 压,A/D转换后,经标定、BCD码转换、高位消隐等处理,用数码管显示。 时钟电路 复位电路 AT89C51 >数码管显示 AD0809 测试电 A/D转换 压输入 电源电路 3. 3.原理图设计 电压表原理图设计 用单片机做控制、ADC0809作模数转换、一个4位一体数码管做显示。用AT85C51 的端口的P1. 0?P1. 7电压输出显示;P2端口的P2. 0?P2. 7作数码管的位选控制端口; P0端口的P0.0?P0.7做A/D转换的数据输入端口; P3端口的P3.4、P3. 5、P3. 6做为通 道选择地址信号输入端口; P3.0作为启动控制输出端口; P3. 1作为允许输出控制;P3.2 作为转换状态输入端;时钟信号出AT89C51的P3. 3定时中断产生;ADC0809的TN3端子 作电压测试输入端口。 RTPMMMbtrxr LCRV4TOLPJuHPZW倍trico:4TWTSTMlTl 04117O1TJ4 RT PM MMbtr xr L CRV4TOL PJuH PZW倍 trico: 4TWT ST MlTl 04117 O1TJ 4 taatr WDb 4、程序设计 1?主程序设计思路与主流程图。 (1)程序设计思路 用软件产生时钟信号,用P3.3定时取反输出CLK信号;进行A/D转换之前, ABO110,选择第三通道,通过STARTS, START=1, STARTS产生启动转换的正脉冲信号, 并启动传换。进行A/D传换时,釆用查询E0C的标志位来检测A/D转换是否完毕,若完 毕择通过P0端口输入数据。实际显示的电压值与数字量关系为: 电压值二 VREF*D/256 电压值经过BCD码传换、译码、再用数码管显示。 电压表流程图 (2)程序设计 #include〈reg51.h #define uchar unsigned char #define uint unsigned int uchar code di spbi tcode [] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; uchar di spbut[4]; uint i, j; uint getdata; uint temp; sbit ST二P3S; sbit 0E=P3J; sbit E0C=P32 sbit CLK二P33; sbit P34二P34; sbit P35二P35; sbit P36二P3飞; sbit P20二P2P; sbit P21 二P2J; sbit P22二P22; sbit P23二P23; sbit P17二P「7; voi d delay_lms(uint t) { uint i, j; for (i=t; i0; i―) for (j=120; j0; j—); void TimeTni tial () { TMOD=OxlO; Tlll= (65536-200)/256; TL1=(65536-200)%256; EA=1; ET1=1; TR1=1; void display0 if (dispbut[3]!=0) { Pl=dispbitcode[dispbut[3]]; P20=0; P21=l; P22=l; P23=l; delay_lms(5); P1=OXOO; } //shi Pl=di spbi tcode[di spbut[2]]; Pl 7=1; P20二1; P21=0; P22=l; P23=l; delay_lms(5); Pl二0X00; //ge Pl=di spbi tcode[di spbut[l]]; P20二1; P21=l; P22=0; P23=l; delay_lms(5); Pl=0X00; //0. 1 Pl=dispbitcode[di

文档评论(0)

1亿VIP精品文档

相关文档