软件设计报告 51单片机 基于8255的LCD存储示波器(5)

2019-02-15 22:05

#include \#include \//接口定义

sbit SDO = P3^0;//数据输出口 sbit ADD = P3^1;//通道选择 sbit CS = P3^4;//启动

sbit CLK = P3^5;//时钟时序 void delay(unsigned char t) {

while(t--); }

//读AD中的数据

unsigned int get_data(unsigned char ADDR) {

unsigned char i; unsigned int temp=0; ADDR <<= 4;//4有效地址左对齐 CLK = 0; CS=1; CS = 0; delay(1);

for (i=0;i<10;i++) { temp <<= 1; ADD=(bit)(ADDR&0X80); CLK = 1; SDO=1; temp =temp^SDO; CLK = 0; ADDR <<= 1; } delay(1); CS=1;

return(temp); }

sbit CS6264= P1^0;// sbit CS8155= P2^7;// sbit key= P3^3;// //相关变量 uint p;

uchar bz=0; uint fb=1; //主程序

21

void main() {

uint x=0x3F00; //延时

_delay_us(10); _delay_ms(10); COM8155=0x03; //初始化8155 for(;x<=0x3fff;x++)XBYTE[x]=0x00; //RAM初始化 x=0x3F00; //开机显示 lcd1602_init();

LCD1602_string(1,1,\ LCD1602_string(1,1,\ LCD1602_string(1,1,\ \ lcd1602_adr(0x48); lcd1602_writenumber('2'); lcd1602_writenumber('0'); lcd1602_writenumber('h'); lcd1602_writenumber('z'); lcd1602_writenumber(' '); lcd1602_writenumber('5'); lcd1602_writenumber('v'); //使能中断 EA=1; CS6264=0; while(1) { //采集 if(bz==0) { CS6264=1;CS8155=1;_nop_();_nop_();_nop_();

XBYTE[p]=get_data(0)/4;CS6264=0;CS8155=1;_nop_();_nop_();_nop_(); lcd1602_adr(0x40); lcd1602_writenumber(0x30+(XBYTE[p]*10/51)0/10); lcd1602_writenumber('.'); lcd1602_writenumber(0x30+(XBYTE[p]*10/51)); lcd1602_writenumber('v'); p=(p+1)%5; _delay_us(20); } //连续 if(bz==1) {

22

CS6264=1;CS8155=1;_nop_();_nop_();_nop_();

WriteDAC(XBYTE[p]/fb);CS6264=0;CS8155=0;_nop_();_nop_();_nop_(); lcd1602_adr(0x40); lcd1602_writenumber(0x30+(XBYTE[p]*10/51)0/10); lcd1602_writenumber('.'); lcd1602_writenumber(0x30+(XBYTE[p]*10/51)); lcd1602_writenumber('v'); p=(p+1)%5; _delay_us(5); } //手动 if(bz==2) { CS6264=1;CS8155=1;_nop_();_nop_();_nop_();

WriteDAC(XBYTE[p]/fb);CS6264=0;CS8155=0;_nop_();_nop_();_nop_(); lcd1602_adr(0x40); lcd1602_writenumber(0x30+(XBYTE[p]*10/51)0/10); lcd1602_writenumber('.'); lcd1602_writenumber(0x30+(XBYTE[p]*10/51)); lcd1602_writenumber('v'); if(key==0)p=(p+1)%5; _delay_us(10); }

keyscan(); //显示

if(keynum==1) {bz=0;if(bz==0)LCD1602_string(1,1,\\ if(keynum==2) {bz=1;if(bz==1)LCD1602_string(1,1,\\

if((key==0)&&(bz!=2)) {bz=2;if(bz==2)LCD1602_string(1,1,\bu \ } }

23

moshi hui fang hui fang

第四部分 实验测试结果

1.正弦采集

2.正弦单步

3.正弦连续

24

4.正弦储存成功

5.方波采集

6.方波单步

25


软件设计报告 51单片机 基于8255的LCD存储示波器(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:云南的地理位置及其特征

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: