#include<reg52.h>
#include<intrins.h>
#include<absacc.h>
#include<math.h>
#define da1_buf1 XBYTE[0XAFFF] //DA1
#define da1_buf2 XBYTE[0XCFFF] //
#define da2_buf1 XBYTE[0XbFFF] //DA2
#define da2_buf2 XBYTE[0XdFFF] //
#define lcd_alatch XBYTE[0xEFFF] //液晶输入数据锁存地址
#define ad_switch XBYTE[0x8FFF] //液晶输入数据锁存地址
#define rd_dpram XBYTE[0XF1FF] //读RAM数据输出地址
#define dpram_addr XBYTE[0XF5FF] //RAM地址锁存器地址
#define Key_pld XBYTE[0XF7FF] //键盘地址
#define controler XBYTE[0XF3FF] //读AD5540地址
typedef unsigned char uchar;
typedef unsigned int uint;
sbit busy=P1^6; //lcd忙信号检测
sbit req=P1^7; //lcd数据写入控制端
sbit EXint0=P3^2; //256个数据采集结束信号
sbit EXint1=P3^3;
bit ad_end_flag; //256个数据采集结束标志
uchar KeyData; //键值
uchar xdata dpram[256];_at_0x0000;
/******×××××××××××***函数*******************/
void Delay(uchar j);
void init(void);
void rddpram(void);
void wrcomm2_lcd(uchar commond); // 给液晶写控制字
void dis_char(uchar d2,uchar d3,uchar *p); //显示汉字
void dis_askcode(uchar d1,uchar d2,uchar d3,uchar d4); //ascii 码显示
void dis_number(uchar d1,uchar d2,uchar d3,uchar d4,uchar d5); //chinese_display
/****××××××××*****主函数*******************/
void main()
{ Delay(200);
wrcomm2_lcd(0xef); //lcd复位
wrcomm2_lcd(0xf4); //清屏
wrcomm2_lcd(0xe5); //打开背光,再执行一次关闭背光
dis_char(0,3,"液晶测试");
dis_char(1,3,"读入键值");
dis_askcode(0xF1,5,6,0X4b); //显示ASCII
init();
ad_switch=0XFF;
controler=0x0c; //启动ad5540采样,并存储到DPRAM
while(EXint0==0);
while(EXint0==1);
while(1)
{
//while(ad_end_flag==0) //未采集结束,==
// {
// _nop_();
// }
rddpram();
// ad_end_flag=1; ////采集结束标志置“1”
// EX0=1;
}
}
/***********************从DPRAM读数据*********************/
void rddpram(void)
{
uchar i,k=0;
for(i=0;i<255;i++)
{
dpram_addr=i; //送需读的DPRAM地址
_nop_();
controler=0x02; //产生上升沿,DPRAM送出数据
_nop_();
dpram[k]=rd_dpram; //读数据
da1_buf1=rd_dpram;
da1_buf2=rd_dpram;
_nop_();
controler=0x03;
k++;
}
}
/***********************数据采集结束处理*********************/
void int0(void) interrupt 0
{
// EX0=0;
// controler=0x00; //停止采样,并禁止写DPRAM
// ad_end_flag=1; ////采集结束标志置“1”
}
/**************CPLD键中断子程序**************/
void int1(void) interrupt 2
{ Delay(10);
if(EXint1==0)
{
KeyData=Key_pld; //确实有键按下读键值
dis_askcode(0xF1,5,8,KeyData+49);
_nop_();
}
_nop_();
}
/***********************液晶控制函数*********************/
void wrcomm2_lcd(uchar commond) // 给液晶写控制字
{ busy=1; //写“1”操作
while(busy==1) ;
lcd_alatch=commond;
_nop_();
_nop_();
req=0;
_nop_();
_nop_();
busy=1; //写“1”操作
while(busy==0);
req=1;
// return;
}
void dis_char(uchar d2,uchar d3,uchar *p) //显示汉字
{
wrcomm2_lcd(0xE9);
wrcomm2_lcd(d2);
wrcomm2_lcd(d3);
while(*p)
{
wrcomm2_lcd(*p);
p++;
}
wrcomm2_lcd(0x00);
}
void dis_askcode(uchar d1,uchar d2,uchar d3,uchar d4) //ascii 码显示
{
wrcomm2_lcd(d1);
wrcomm2_lcd(d2);
wrcomm2_lcd(d3);
wrcomm2_lcd(d4);
}
void dis_number(uchar d1,uchar d2,uchar d3,uchar d4,uchar d5) //chinese_display
{
wrcomm2_lcd(d1);
wrcomm2_lcd(d2);
wrcomm2_lcd(d3);
wrcomm2_lcd(d4);
wrcomm2_lcd(d5);
}
/**************延时子程序**************/
void Delay(uchar j)
{
while(j--);
}
/**************初始化子程序**************/
void init(void)
{
//IT0=1;
// EX0=1;
IT1=1;
EX1=1;
EA=1;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
shiboqi.rar_shiboqi_数字存储示波器_数字示波器_示波器 (117个子文件)
tfcounter.vhd.bak 634B
tfcounter.vhd.bak 634B
DPRAM.bdf 45KB
DPRAM.bdf 24KB
DPORTRAM.bsf 5KB
DPORTRAM.bsf 5KB
pll.bsf 3KB
pll.bsf 3KB
tfcounter.bsf 2KB
tfcounter.bsf 2KB
tlc5510.bsf 2KB
tlc5510.bsf 2KB
ADDPRAM2.C 4KB
DPRAM.eco.cdb 161B
DPRAM.eco.cdb 161B
DPRAM.cdf 399B
DPORTRAM.cmp 1KB
DPORTRAM.cmp 1KB
pll.cmp 928B
pll.cmp 928B
DPRAM.sim.cvwf 2KB
DPRAM.sim.cvwf 1KB
Thumbs.db 12KB
Thumbs.db 12KB
DPRAM.db_info 137B
DPRAM.db_info 137B
DPRAM.done 26B
DPRAM.done 26B
DPRAM.dpf 239B
DPORTRAM_waveforms.html 2KB
DPORTRAM_waveforms.html 2KB
pll_waveforms.html 608B
pll_waveforms.html 608B
DPORTRAM_wave1.jpg 167KB
DPORTRAM_wave1.jpg 167KB
DPORTRAM_wave0.jpg 128KB
DPORTRAM_wave0.jpg 128KB
pll_wave0.jpg 90KB
pll_wave0.jpg 56KB
DPRAM.mif 5KB
DPRAM.mif 5KB
DPRAM.pin 20KB
DPRAM.pin 20KB
DPRAM.pof 512KB
DPRAM.pof 512KB
pll.ppf 422B
pll.ppf 422B
DPRAM_assignment_defaults.qdf 37KB
DPRAM_assignment_defaults.qdf 37KB
pll.qip 430B
pll.qip 430B
prev_cmp_DPRAM.qmsg 342KB
prev_cmp_DPRAM.tan.qmsg 277KB
prev_cmp_DPRAM.tan.qmsg 72KB
prev_cmp_DPRAM.fit.qmsg 63KB
prev_cmp_DPRAM.fit.qmsg 37KB
prev_cmp_DPRAM.map.qmsg 25KB
prev_cmp_DPRAM.map.qmsg 16KB
prev_cmp_DPRAM.qmsg 4KB
prev_cmp_DPRAM.sim.qmsg 4KB
prev_cmp_DPRAM.sim.qmsg 4KB
prev_cmp_DPRAM.asm.qmsg 2KB
prev_cmp_DPRAM.asm.qmsg 2KB
DPRAM.qpf 907B
DPRAM.qpf 907B
DPRAM.qsf 4KB
DPRAM.qsf 2KB
DPRAM.qws 439B
DPRAM.qws 439B
DPRAM.tan.rpt 254KB
DPRAM.fit.rpt 111KB
DPRAM.fit.rpt 110KB
DPRAM.tan.rpt 79KB
DPRAM.map.rpt 72KB
DPRAM.sim.rpt 45KB
DPRAM.map.rpt 36KB
DPRAM.sim.rpt 31KB
DPRAM.asm.rpt 10KB
DPRAM.asm.rpt 10KB
DPRAM.flow.rpt 5KB
DPRAM.flow.rpt 5KB
DPRAM.sld_design_entry.sci 154B
DPRAM.sld_design_entry.sci 154B
DPRAM.fit.smsg 513B
DPRAM.fit.smsg 513B
DPRAM.sof 235KB
DPRAM.sof 235KB
DPRAM.tan.summary 6KB
DPRAM.tan.summary 2KB
DPRAM.fit.summary 599B
DPRAM.fit.summary 598B
DPRAM.map.summary 456B
DPRAM.map.summary 456B
altsyncram_9hu1.tdf 13KB
altsyncram_9hu1.tdf 13KB
altsyncram_nou1.tdf 13KB
altsyncram_nou1.tdf 13KB
altsyncram_4ul1.tdf 13KB
altsyncram_4ul1.tdf 13KB
altsyncram_bmr1.tdf 13KB
共 117 条
- 1
- 2
资源评论
刘良运
- 粉丝: 66
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功