导航:首页 > 操作系统 > XFER单片机

XFER单片机

发布时间:2022-08-01 08:52:06

单片机c编程问题

在C51编译的时候,如果出现了“error C241: 'main': auto segment too large” 的错误,主要原因是由于 51 "DATA" 存储容量不足。
解决方法为:
(1)把宣告"DATA"的变数改成 "XDATA"
=>unsigned char XXXX 改成 unsigned char xdata XXXX
(2)快速的方法 : 在Keil C 的 Target标签中,
将Memory Model从small 设定为large,
这样编译的存储空间就从"DATA" 变成了 "XDATA",也就解决了存储容量不足的问题。

㈡ 单片机嵌入ASP Web服务器,是怎么做出来的

一般单片机也是可以刷入操作系统的。操作系统可以是linux
那么在剩下的问题就是Linux如何支持ASP了。iASP就是一款可以在Linux下跑ASP的东东

一、iASP软件环境要求

iASP软件完全是用java程序语言编制而成的,需要JDK1.1.X或以上版本的支持,因而需要系统上预先安装JDK1.1.X或以上版本。 Linux平台下的JDK11.X可以在 http://xfer.nitric.com/pub/java-linux/ 下载,基于Windows9X/NT平台的JDK1.1.X的下载地址为 ftp://202.103.111.173/Download/DEVE...1-win32-x86.exe 。同时需要相应的Web Server软件,如IIS、Apache、Netscape、Xitami、Sambar等。

二、iASP安装程序支持的系统平台和服务器软件

iASP软件是用JAVA程序语言编制而成的,原则上可运行在所有JAVA平台上。iASP可自动配置服务器软件,使之能使用iASP解释和转换 ASP页面;iASP可以使用Halcycon软件公司开发的iASP Servlet接口与服务器进行连接和通信,也可以使用其它Servlet接口与服务器进行连接和通信。iASP支持以下平台及Web Server:

(一) Sun Solaris Sparc系统平台

1、Apache服务器软件

iASP可对Apache服务器软件的1.3.0、1.3.9、1.3.11、1.3.12等九个常用版本进行自动配置使之使用iASP解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。

2、Netscape Fast Track(FT)和Enterprise Server(EP)服务器软件

iASP可对FT3.0.X、EP3.5.X、EP3.6.X进行自动配置使之使用iASP解释ASP页面;并通过iASP中的Servlet接口与之连接和通信。

3、Sun Web Server2.1服务器软件

iASP可对Sun Web Server2.1服务器软件进行自动配置使之使用iASP解释ASP页面;并通过服务器软件的Servlet接口与之连接和通信。

4、Zeus服务器软件

iASP可对Zeus服务器软件进行自动配置使之使用iASP解释引擎解释ASP页面;并通过Zeus和Apache JServ Servlet接口与之连接和通信。

㈢ 多媒体计算机专用芯片有几种,各是什么

51种
1,八位单片机—— ,八位单片机——8031 —— 常用芯片简介 2,可编程 I/O 扩展接口—— , 扩展接口—— ——8155 3,可编程 I/O 扩展接口—— , 扩展接口—— ——8255A 4,A/D 转换芯片—— , 转换芯片—— ——ADC0809 ADC0809 是逐次比较式 8 位模数转换芯片,它是 CMOS 器件,其内部包括 8 路模拟开关,以及地址锁存译码,有三条地址输入线.该芯片内部还有便于和 微机数据总线相连的三态输出锁存器. 引脚信号分述如下: IN0~IN7:8 路模拟信号输入; D0~D7:A/D 转换后的数据输出端; ADDA,ADDB,ADDC:模拟通道选择地址信号,ADDA 为低位; +Vref ,-Vref:正,负参考电压; CLK:时钟信号,最大 640KHZ; START:A/D 转换启动信号; EOC:转换结束信号,由低变高; ALE:允许地址锁存信号,当此信号有效时,送入的通道地址便被锁存,通 常与 START 信号相连; OE:允许输出信号,高电平有效,此时三态门与数据总线接通. 注:ALE 信号宽度不小于 100ns,启动信号宽度不小于 100ns,地址保持时 间不小于 25ns. 5,D/A 转换芯片—— , 转换芯片—— ——DAC0832 DAC0832 为 CMOS 器件,八位电流 DAC,它的电源采用单电源形式,电源 范围+5V~+15V, 参考电压 Vref 可在-10V~+10V 范围内选择, 转换速度约为 1s. 引脚信号分述如下: D0~D7:数据输入,未选通为三态. CS:片选信号,使用时可由地址译码提供. ILE:允许输入锁存信号. WR1,WR2:写信号. XFER:传送控制信号,用来控制 WR2 信号. Iout1,Iout2:电流输出端. Vref:外接参考电压,范围从-10V~+10V. Rfb:为反馈电阻. AGND,DGND:分别为模拟地和数字地. 6,程序存储器芯片—— ——2764,27256 ,程序存储器芯片—— , 7,数据存储器芯片—— ,数据存储器芯片——6264,62256 —— , 8,四 2 输入与非门—— , 输入与非门—— ——74LS00 9,四 2 输入或非门—— , 输入或非门—— ——74LS02 10,六反相器—— ,六反相器——74LS04 —— 11,六缓冲器—— ,六缓冲器——7407 —— 12,四 2 输入或门—— , 输入或门—— ——74LS32 13,74LS138 译码器 , 14,八反相缓冲/驱动器—— ,八反相缓冲 驱动器——74LS240 驱动器—— 15,八输入八输出缓冲/驱动器—— ,八输入八输出缓冲 驱动器——74LS244 驱动器—— 16,八输入 D 触发器—— , 触发器—— ——74LS273 17,八输入 D 锁存器——74LS373 , 锁存器— 18,通用串行口—— ,通用串行口——RS232 ——

㈣ 单片机C语言版正弦波信号发生器怎么做

#include<at89x51.h>
//unsigned char TIME0_H=0xec,TIME0_L=0x78; //定时器0的初值设置;全局变量
#include<sinx.h>
#include<0832.h>
void main()
{
TMOD=0X01;
TH0=0xff;
TL0=0xd9;
IT0=1; //设置中断触发方式,下降沿
EA=1;
EX0=1;
ET0=1;
IP=0X01; //键盘中断级别高
TR0=1;
while(1)
{
// square();
;
}
}

#ifndef __0832_h__
#define __0832_h__
//#define INPUT XBYTE[0xbfff] //即cs 与xfer 轮流低电平。
//#define DACR XBYTE[0x7fff] //单通道输出,单缓冲就行了。
unsigned char i,sqar_num=128; //最大值100,默认值50
unsigned char cho=0; //0:正弦波。1:方波。2:三角波。3:锯齿波。
unsigned char num=0;
unsigned char TIME0_H=0xff,TIME0_L=0xd9; //定时器0的初值设置;全局变量.对应正弦波,锯齿波50HZ
sbit chg= P1^0; //三角波100Hz.
sbit freq_u=P1^1;
sbit freq_d=P1^2;
sbit ty_u=P1^3;
sbit ty_d=P1^4;
sbit cs =P3^7;
bit flag=0;
unsigned int FREQ=50;//初始化频率,50HZ
//调节部分——频率
void freq_ud(void)
{
unsigned int temp;
if(freq_d==0)
{ FREQ--; }
else if(freq_u==0)
{ FREQ++; }
if(cho==1|cho==3) //锯齿波256次中断一周期,特殊处理下。否则他的频率是100(+\-)n*2Hz.
{
temp=0xffff-3906/FREQ; //方波,三角波默认为100hz,切换后频率也为50HZ 65336-10^6/(256*FREQ)
TIME0_H=temp/256;
TIME0_L=temp%256;
}
else if(cho==0|cho==3){ //正弦波 三角波默认周期50hz 65536-10^6//(512*FREQ)
temp=0xffff-1953/FREQ;
TIME0_H=temp/256;
TIME0_L=temp%256;
}
}
//调节部分——方波的占空比
void ty_ud(void) //方波也采用512次中断构成一个周期。
{
if(ty_d==0&sqar_num>0)
sqar_num--;
else if(ty_u==0&sqar_num<255)
sqar_num++;
}
//波形发生函数
void sint(void)
{
if(!flag)
{
cs=0;P2=sin_num[num++];cs=1;
if(num==0){num=255;flag=1;}
}
else if(flag)
{
cs=0;P2=sin_num[num--];cs=1;
if(num==255){num=0;flag=0;}
}
}
void square(void)
{
if(i++<sqar_num) {cs=0;P2=0XFF;cs=1;}
else{cs=0;P2=0X00;cs=1;}
}
void triangle(void)
{
cs=0;P2=num++;cs=1;
}
void stw(void)
{
if(~flag)
{
cs=0;P2=num++;cs=1;
if(num==0){num=255;flag=1;}
}
else if(flag)
{
cs=0;P2=num--;cs=1;
if(num==255){num=1;flag=0;}
}
}
//按键中断处理程序。
void it0() interrupt 0
{
if(chg==0) { if(++cho==4) {cho=0;num=0;} } //num=0;所有数据从新开始,保证波形的完整性
else if(freq_u==0|freq_d==0)
{freq_ud();}
else if (cho==1&(ty_d==0|ty_u==0))
{ty_ud();}
else ;
}
//定时器中断处理程序。
void intt0() interrupt 1
{
//TH0=0x00;TL0=0x00;sinx();
switch(cho)
{
case 0:{TH0=TIME0_H;TL0=TIME0_L;sint() ;break;} //正弦波//每半周期256取样。
case 1:{TH0=TIME0_H;TL0=TIME0_L;square(); break;} //方波 //为了提高方波的最高频率,只有牺牲占空比的最小可调值。分100份 每次1%。
case 2:{TH0=TIME0_H;TL0=TIME0_L;triangle();break;} //三角波
case 3:{TH0=TIME0_H;TL0=TIME0_L;stw(); break;} //锯齿波
default: ;
}
}
#endif

//正弦表;每半个周期256个取值,最大限度保证波形不失真。
//各个值通过MATLAB算出,并四设五如取整。具体程序如下
#ifndef __sinx_h__
#define __sinx_h__
unsigned char code sin_num[]={
0,0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2,
2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,
10, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 21,
22, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37,
38, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56,
57, 59, 60, 61, 63, 64, 66, 67, 68, 70, 71, 73, 74, 75, 77, 78,
80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 101,102,
104, 106, 107, 109, 110, 112, 113, 115, 116, 118, 120, 121, 123, 124, 126, 128,
129, 131, 132, 134, 135, 137, 139, 140, 142, 143, 145, 146, 148, 149, 151, 153,
154, 156, 157, 159, 160, 162, 163, 165, 166, 168, 169, 171, 172, 174, 175, 177,
178, 180, 181, 182, 184, 185, 187, 188, 189, 191, 192, 194, 195, 196, 198, 199,
200, 201, 203, 204, 205, 206, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218,
219, 220, 221, 223, 224, 225, 226, 227, 228, 229, 230, 230, 231, 232, 233, 234,
235, 236, 237, 237, 238, 239, 240, 240, 241, 242, 243, 243, 244, 245, 245, 246,
246, 247, 247, 248, 248, 249, 249, 250, 250, 251, 251, 251, 252, 252, 253, 253,
253, 253, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255
};
#endif
//MATLAB程序:
//x=linspace(-pi/2,pi/2,255);%如果过采用1位采用,很多值是重的。虽然实际中并不会。
//y=(sin(x)+1)/2.0*255;
//%uint32(y)%强制类型转换。
//%fprintf('%.f\n',uint32(y));%控制输出类型
//round(y)%四舍五入函数

㈤ 学习51单片机的DA,有个是XFER脚,是叫数据传输控制信号输入端,怎么把简写的英文详写出来,谢谢

就是传输的意思 transfer
参见http://dict.you.com/search?le=eng&q=XFER&keyfrom=dict.index

㈥ DAC 0832与单片机连接时有哪些控制信号其作用是什么

ILE:数据锁存允许控制信号输入线,高电平有效。
/CS:选片信号输入线(选通数据锁存器),低电平有效。
/WR1:数据锁存器写选选通输入线,负脉冲有效,由 ILE、/CS、/WR1 的逻辑组合产生/LE1,当/LE1 为高电平时,数据锁存器状态随输入数据线变化,/LE1 的负跳变时将输入数据锁存。
/XFER:数据传输控制信号输入线,低电平有效,负脉冲有效。
/WR2: DAC 寄存器选通输入线,负脉冲有效,由/WR2、 /XFER 的逻辑组合产生/LE2,当/LE2为高电平时,DAC 寄存器的输出随寄存器的输入而变化,/LE2的负跳变时将数据锁存器的内容打入DAC 寄存器并开始 D/A转换。

当WR2 和XFER 同时有效时,8位DAC 寄存器端为高电平“1”,此时 DAC 寄存器的输出端Q跟随输入端 D也就是输入寄存器Q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器 Q端的状态则锁存到第二级 8位DAC 寄存器中,以便第三级8位DAC 转换器进行 D/A转换。

㈦ 单片机和DAC接口怎么接

用下面那种解法,DAC0832里IOUT2与RFB之间有反馈电阻,接R1做反馈就多余了,R1做负载。

㈧ 单片机数据采集程序

我吧你的问题看了个一知半解,不是很清楚我可以给你一个正弦波产生程序,和你的要求差不多,电路我看了也没什么问题,就是是你那个DA转换输出运放正向输入端应该接地!!你认为呢,下面是程序希望能对你有所帮助
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV R5,#00H

SIN:MOV A,R5
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#7FFFH
MOVX @DPTR,A
INC R5
CJNE R5,#240,SIN
AJMP MAIN
TAB:
DB 80H, 83H, 86H, 89H, 8DH,90H,93H,96H
DB 99H, 9CH, 9FH, 0A2H, 0A5H, 0A8H,0ABH,0AEH
DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H
DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH;56

DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH
DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH
DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H
DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H
DB 96H,93H,90H,8DH,89H,86H,83H,80H ;56

DB 80H,7CH,79H,76H,72H,6FH,6CH,69H
DB 66H,63H,60H,5DH,5AH,57H,55H,51H
DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH
DB 38H,35H,33H,30H,2EH,2BH,29H,27H
DB 25H,22H,20H,1EH,1CH,1AH,18H,16H
DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH
DB 09H,08H,07H,06H,05H,04H,03H,02H
DB 02H,01H,00H,00H,00H,00H,00H,00H;64

DB 00H,00H,00H,00H,00H,00H,01H,02H
DB 02H,03H,04H,05H,06H,07H,08H,09H
DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H
DB 16H,18H,1AH,1CH,1EH,20H,22H,25H
DB 27H,29H,2BH,2EH,30H,33H,35H,38H
DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH
DB 51H,55H,57H,5AH,5DH,60H,63H,66H
DB 69H,6CH,6FH,72H,76H,79H,7CH,80H ;64
END

阅读全文

与XFER单片机相关的资料

热点内容
如何设置异地服务器 浏览:882
为什么安卓手机蓝牙耳机不会弹窗 浏览:546
linuxf77编译器安装教程 浏览:949
android本地录音权限 浏览:446
加密u盘内容怎么拷贝 浏览:283
安卓手机为什么看不到iso文件 浏览:582
用图片做文件夹图标 浏览:693
java正则表达式语法 浏览:865
美图秀在线压缩图片 浏览:184
苹果自带控制app是什么 浏览:907
孩子学编程怎么样 浏览:589
网络编程经典书籍 浏览:612
曲靖创建网站java程序员 浏览:690
256位加密中是什么意思 浏览:97
php多维数组去重 浏览:308
做程序员这一行储备人才怎么看 浏览:461
参加密逃文 浏览:327
苹果编程语言ios 浏览:763
求解病态系统常用的算法 浏览:994
驾校用的app叫什么 浏览:219