epld输入电压转换时,电压悬于html5动态悬浮中间div值

用ADC0832将电压转换成角度在液晶上显示的c语言程序......急!那位好心人帮一下......._百度知道
用ADC0832将电压转换成角度在液晶上显示的c语言程序......急!那位好心人帮一下.......
显示频率幅度调产四种波形弦波波锯齿波三角波希望能喜欢给发张效图喜欢别忘采纳我答啊#include&reg52.h&#define
uchar unsigned char#define
unsigned int#define DAdata
P0 //DA数据端口sbit DA_S1= P2^0;
// 控制DAC08328位输入寄存器仅都0输数据(处于直通状态)否则输锁存sbit DA_S2= P2^1;
// 控制DAC08328位DAC寄存器仅都0输数据(处于直通状态)否则输锁存sbit key=
//'抽点'计数uchar THtemp,TL//传递频率间变量uchar judge=1;
//波输函数用于简单判别作用
//其0、1、2别代表三种波uchar code freq_unit[3]=; //三种波频率单位uchar idata wavefreq[3]=;
//给每种波定义数组单元用于存放单位频率数uchar code
lcd_hang1[]=;uchar idata lcd_hang2[16]=;uchar code waveTH[]={
0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xec,0xf6,0xf9,0xfb,0xfc,0xfc,0xfd,0xfd,0xfd,0xfe};uchar code waveTL[]={
0x06,0x8a,0x10,0x4e,0x78,0x93,0xa8,0xb3,0xbe,0xc6, //弦波频率调整间值 0xac,0xde,0x48,0x7a,0x99,0xaf,0xbb,0xc8,0xd0,0xde, //三角波频率调整间值 0x88,0x50,0x90,0x32,0x34,0xbe,0x4a,0xa3,0xe5,0x2c}; /*************************************************************************************************/uchar code triangle_tab[]={
//每隔数字8采取 0x00,0x08,0x10,0x18,0x20,0x28,0x30,0x38,0x40,0x48,0x50,0x58,0x60,0x68,0x70,0x78, 0x80,0x88,0x90,0x98,0xa0,0xa8,0xb0,0xb8,0xc0,0xc8,0xd0,0xd8,0xe0,0xe8,0xf0,0xf8,0xff, 0xf8,0xf0,0xe8,0xe0,0xd8,0xd0,0xc8,0xc0,0xb8,0xb0,0xa8,0xa0,0x98,0x90,0x88,0x80, 0x78,0x70,0x68,0x60,0x58,0x50,0x48,0x40,0x38,0x30,0x28,0x20,0x18,0x10,0x08,0x00};uchar code sine_tab[256]={ //输电压<img class="word-replace" src="/api/getdecpic?picenc=0af值(弦波1/4部) 0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc, 0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec, 0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff, //输电压值0(弦波1/4部) 0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef, 0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2, 0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80, //输电压<img class="word-replace" src="/api/getdecpic?picenc=0af值(弦波1/4部) 0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43, 0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16 ,0x15,0x13, 0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, //输电压值0(弦波1/4部) 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10, 0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d, 0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80}; void delay(uchar z)
uint x,y; for(x=z;x&0;x--) for(y=110;y&0;y--);}void triangle_out() //三角波输{
DAdata=triangle_tab[wavecount++]; if(wavecount&64) wavecount=0; DA_S1=0;
//打8位输入寄存器 DA_S1=1;
//关闭8位输入寄存器}void sine_out()
DAdata=sine_tab[wavecount++]; DA_S1=0;
//打8位输入寄存器 DA_S1=1;
//关闭8位输入寄存器}void square_out()
if(judge==1) DAdata=0 else
DAdata=0x00; DA_S1=0;
//打8位输入寄存器 DA_S1=1;
//关闭8位输入寄存器}/************1602液晶相关函数*************/#define lcd_ports P1sbit rs=P2^2;sbit rw=P2^3;sbit lcden=P2^4;void write_com(uchar com){ rs=0; //置零表示写指令 lcden=0; lcd_ports= delay(5); lcden=1; delay(5); lcden=0; }void write_date(uchar date){ rs=1; //置1表示写数据(指令所指写数据) lcden=0; lcd_ports= delay(5); lcden=1; delay(5); lcden=0; }void disp_lcd(uchar addr,uchar *temp1){
write_com(addr); delay(1);
//延??? for(num=0;num&16;num++) {
write_date(temp1[num]);//或者写write_date(*(temp1+num));
delay(1); }}void init_lcd(){ // lcden=0;
//??? rw=0;
//初始化定要设置零表示写数据 write_com(0x38);
//使液晶显示点阵面做准备 write_com(0x0c);
//初始设置 write_com(0x06);
//初始设置 write_com(0x01);
//清零 write_com(0x80);
//使指针指向第行第格
disp_lcd(0x80,&lcd_hang1[3*16]);
//第行显示
disp_lcd(0xc0,&lcd_hang1[4*16]);
//第二行显示 }/********************1602液晶函数声明结束*********************/void main(){
uchar i=0; DA_S2=0;
//使DAC寄存器处于直通状态 DAdata=0; DA_S1=1;
//关闭8位输入寄存器 init_lcd();
waveform=0;
TMOD=0x01;
//设置定器016位工作式 IT0=1;
//设置外部断0降沿触发 ET0=1;
//定器断 EX0=1;
EA=1; while(1) {
//DAout(0xff);
//输TTL波形
//DAout(0x80);
//T_temp=32; }}
void timer0() interrupt 1{ TH0=TH TL0=TL
if(waveform==0)
sine_out(); else if(waveform==1) triangle_out(); else if(waveform==2) square_out();}void key_int0() interrupt 0{ uint total_ //总频率 EA=0; TR0=0;
//关总断与定器 delay(5);
//延够??? if(key==0)
//确实按键按引发断 {
keytemp=P3&0xf0; //获取P3口高四位值
switch(keytemp)
case 0xe0: //选择波形
waveform++;
if(waveform&2) waveform=0;
case 0xd0:
//频率按规定单位依增加
wavefreq[waveform]++;
if(wavefreq[waveform]&10) wavefreq[waveform]=1; // /*边要用&10比=11靠
性更高,使加数限直加*/
case 0xb0:
//频率按规定单位依衰减
wavefreq[waveform]--;
if(wavefreq[waveform]&1) wavefreq[waveform]=10; //边要用&1比=0靠性更高
case 0x70:
DA_S2=1; //使DAC寄存器关闭
THtemp=waveTH[waveform*10+(wavefreq[waveform]-1)]; //括号选取第几数并该值赋给T_temp
TLtemp=waveTL[waveform*10+(wavefreq[waveform]-1)];
total_freq= wavefreq[waveform] * freq_unit[waveform]; //求输频率(数*单位)
lcd_hang2[5]=total_freq%10+0x30;
//液晶显示位(0x30 液晶显示表示数字0)
total_freq/=10; lcd_hang2[4]=total_freq%10+0x30; //液晶显示十位
total_freq/=10; lcd_hang2[3]=total_freq%10+0x30; //液晶显示百位
total_freq/=10; lcd_hang2[2]=total_freq%10+0x30; //液晶显示千位
disp_lcd(0x80,&lcd_hang1[waveform*16]);
//第行显示
disp_lcd(0xc0,lcd_hang2);
//第二行显示 } wavecount=0; //&#39;抽点&#39;计数清零 while(!key); EA=1; TR0=1;
//启总断与定器}
用ADC0804将输入的模拟电压转换成角度显示在数码管上
难的看不懂 呵呵
其他类似问题
为您推荐:
adc0832的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
本科毕业论文-基于AT89C52单片机的酒后驾驶智能闭锁系统设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口模拟电路与数字电路的转换_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
模拟电路与数字电路的转换
上传于||暂无简介
大小:1.89MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢2014电路实验指导,数字电路实验指导书,电路实验指导书,电路实验,日光灯电路实验报..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
2014电路实验指导
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口利用迟滞比较器将输入的正弦波转换为输出的矩形波,当输入信号幅值小于门限电压时输出能否转换为矩形波?_百度知道
利用迟滞比较器将输入的正弦波转换为输出的矩形波,当输入信号幅值小于门限电压时输出能否转换为矩形波?
提问者采纳
较器输集电极路类型其输三极管通断代表输转换输入信号Vin低於门限Vref比较器应该仍视效转换信号
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
为您推荐:
迟滞比较器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 两座悬崖中间隔着范文 的文章

 

随机推荐