第一范文网 - 专业文章范例文档资料分享平台

简易数字示波器设计-毕设论文

来源:用户分享 时间:2025/5/18 5:51:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

附录

P2=0xFD;//显示十位 P0=TAB[B4]; delay(A); P2=0xFB;//显示百位 P0=TAB[B3]; delay(A); P2=0xF7;//显示千位 P0=TAB[B2]; delay(A); P2=0xEF;//显示万位 P0=TAB[B1]; delay(A); } }

void main(){ P0=TAB[0];//刚开始显示00000 P2=0xC0; TMOD=0x51;//T0 记时 T1计数 TH0=0x3c;//定时50ms TL0=0xB0; TH1=0x00;//计数 TL1=0x00; TR0=1; //开T0 TR1=1;//开T1 ET0=1;//开中断 EA=1;//打开总中断 while(1){ if(num>=20){//记满一秒 num=0; TR1=0; TR0=0; Display(); } if(P37==1) break; } }

43

西安交通大学城市学院本科生毕业设计(论文)

附录五:波形显示系统程序清单

#include #include #include

sfr AUXR=0x8e ; /*允许读写STC89C58RD+片内扩展RAM*/ sfr AUXR1=0xa2 ;

char xdata caiyangdata[200] ; /*采样值存储变量,数组,相邻两 个存储一个12位的采样值, 前为高8位,后为低四位*/

char xdata Vin[100]; /*采样点处输入信号的电压值*/

int gao4,zhong4,di4,di8; float dv;

int COM,DAT; /*COM为液晶显示的代码入口地址, DAT为数据入口地址*/ int b,n,p,d; int i,j;

sbit CS3=P2^5; /*右屏片选*/ sbit CS2=P2^4; /*中屏片选*/ sbit CS1=P2^3; /*左屏片选*/ sbit E=P2^2; /*使能信号线*/ sbit RW=P2^1; /*读写信号线*/

sbit RS=P2^0; /*寄存器选择信号线*/

sbit CS=P2^7; sbit A0=P2^6; sbit RC=P3^4; sbit CEWR=P3^6; sbit CERD=P3^7;

void int0initiate() ; /*初始化INT0程序*/ void caiyang(); /*采样子程序*/ void int0serve(); /*INT0中断服务程序*/ void ad574a(); /*启动AD574A*/

void BtoD(); /*采样值高四位和低八位分离子程序*/ void DDATtoV(); /*数字值到模拟值转换 */

void wrtyejing(); /*液晶显示子程序*/

void yjinitiate(); /*液晶显示初始设置子程序*/ void wrtDDRAM();

附录

void prcode(); /*写指令代码子程序*/ void prcwdata(); /*写显示数据子程序*/ void prcrdata(); /*读显示数据子程序*/ void pbusy(); /*判忙子程序*/

void main()

{ int0initiate(); /*调用初始化INT0程序*/ ad574a(); /*启动AD574A*/ caiyang(); BtoD(); wrtyejing(); }

void int0initiate() {

IT0=1; EX0=1; EA=1;

}

/*ad启动*/ void ad574a()

{AUXR=0X01; CEWR=0; CERD=0; CS=0; A0=0; RC=0;

}

/*ad采样*/

void caiyang() {

for(i;i<200;) {

if(IE0==1) {

int0serve(); }

/*调采样子程序*/

/*采样值高四位和低八位分 离子程序,数字值到模拟值转换*/ /*调液晶显示程序*/ /*采用中断查询方式*/

45

西安交通大学城市学院本科生毕业设计(论文)

} }

/*ad读取AD采样值*/

void int0serve(void) interrupt 0 using 1 {

CEWR=0; /*读取A/D转换值高8位*/ CERD=0; CS=0; A0=0; RC=1;

caiyangdata[i]=P0; i++;

CEWR=0; /*读取A/D转换值高4位*/ CERD=0; CS=0; A0=1; RC=1;

caiyangdata[i]=P0; /*读取低4位*/ i++;

}

void BtoD() /*采样值高四位和低八位分离子程序*/ {

for(i=0,j=0;i<200,j<100;i+2,j++) {

gao4= caiyangdata[i]&0xf0; gao4=(gao4>>4);

zhong4=caiyangdata[i]&0x0f; zhong4=zhong4<<4;

di4=caiyangdata[i+1]>>4; di8=zhong4+di4; DDATtoV();

}

}

void DDATtoV() /////////////////*数字值到模拟值转换 */ {

int VFS=10;

Vin[j]=((gao4*256+di8)/2048-1)*VFS/2 ;

搜索更多关于: 简易数字示波器设计-毕设论文 的文档
简易数字示波器设计-毕设论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c53q1m6m1ny6tck19hpxv8jj329nz0t003q9_14.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top