
程序很简单的,关键在写程序的时候要注意DAC0832的保持时间和转换速度。
建议你先弄个单缓冲或者直接控制的。
接着控制的会比较简单:
就是DAC8032
1,2,3,10,17,18脚GND。20,19,8脚VCC
能明白吧!程序自己写比较好,这样能学到更多东西
给你点参考,这个程序能让你对它的工作方式更熟悉!!
ORG
0000H
MAIN:MOV
A,P1
MOV
R0,A
;设置高电平
MOV
R1,#00H
;设置低电平
LCALL
BOXING
SJMP
MAIN
BOXING:
JNB
P10,SANJIAO
;P10控制三角波的输出
JNB
P11,JUXING
;P11控制矩形波的输出
JNB
P12,JUCHI
;P12控制锯齿波的输出
RET
;三角波
SANJIAO:
MOV
DPTR,#7FFFH
;
选中DA0832
MOV
A,#00H
UP1:
MOVX
@DPTR,A
;
向0832输出数据
INC
A
JNZ
UP1
;
A=!0
跳转反之顺序执行
DOWN1:DEC
A
MOVX
@DPTR,A
JNZ
DOWN1
RET
;矩形波
JUXING:
MOV
DPTR,#7FFFH
LP:MOV
A,R0
;设置输出上限
MOVX
@DPTR,A
LCALL
DEL_H
;调高电平延时程序
MOV
A,R1
MOVX
@DPTR,A
LCALL
DEL_L
;调低电平延时程序
RET
;锯齿波
JUCHI:
MOV
DPTR,#7FFFH
MOV
A,#00H
LOOP:MOVX
@DPTR,A
INC
A
;SJMP
LOOP
RET
;延时程序
DEL_H:
;高电平
MOV
R7,#250
DE:MOV
R6,#4
DJNZ
R6,$
DJNZ
R7,DE
RET
DEL_L:
;低电平
MOV
R7,#250
DEL:MOV
R6,#4
DJNZ
R6,$
DJNZ
R7,DE
RET
;
END
是复制的。学习下
自主访问控制(DAC)是一个接入控制服务,它执行基于系统实体身份和它们的到系统资源的接入授权。这包括在文件,文件夹和共享资源中设置许可。
强制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策。强制访问控制(MAC)的主要特征是对所有主体及其所控制的客体(例如:进程、文件、段、设备)实施强制访问控制。为这些主体及客体指定敏感标记,这些标记是等级分类和非等级类别的组合,它们是实施强制访问控制的依据。系统通过比较主体和客体的敏感标记来决定一个主体是否能够访问某个客体。用户的程序不能改变他自己及任何其它客体的敏感标记,从而系统可以防止特洛伊木马的攻击。
强制访问控制一般与自主访问控制结合使用,并且实施一些附加的、更强的访问限制。一个主体只有通过了自主与强制性访问限制检查后,才能访问某个客体。用户可以利用自主访问控制来防范其它用户对自己客体的攻击,由于用户不能直接改变强制访问控制属性,所以强制访问控制提供了一个不可逾越的、更强的安全保护层以防止其它用户偶然或故意地滥用自主访问控制。
强制访问策略将每个用户及文件赋于一个访问级别,如,最高秘密级(Top Secret),秘密级(Secret),机密级(Confidential)及无级别级(Unclassified)。其级别为T>S>C>U,系统根据主体和客体的敏感标记来决定访问模式。访问模式包括:
下读(read down):用户级别大于文件级别的读 *** 作;
上写(Write up):用户级别小于文件级别的写 *** 作;
下写(Write down):用户级别等于文件级别的写 *** 作;
上读(read up):用户级别小于文件级别的读 *** 作;
图81 Bell-Lapadula安全模型
依据Bell-Lapadula安全模型所制定的原则是利用不上读/不下写来保证数据的保密性。见图81。即不允许低信任级别的用户读高敏感度的信息,也不允许高敏感度的信息写入低敏感度区域,禁止信息从高级别流向低级别。强制访问控制通过这种梯度安全标签实现信息的单向流通。
依据Biba安全模型所制定的原则是利用不下读/不上写来保证数据的完整性。见图82。在实际应用中,完整性保护主要是为了避免应用程序修改某些重要的系统程序或系统数据库。
图82 Biba安全模型
MAC通常用于多级安全军事系统。
强制访问控制对专用的或简单的系统是有效的,但对通用、大型系统并不那么有效。一般强制访问控制采用以下几种方法:
(1)限制访问控制。
一个持洛伊木马可以攻破任何形式的自主访问控制,由于自主控制方式允许用户程序来修改他拥有文件的存取控制表,因而为非法者带来可乘之机。MAC可以不提供这一方便,在这类系统中,用户要修改存取控制表的唯一途径是请求一个特权系统调用。该调用的功能是依据用户终端输入的信息,而不是靠另一个程序提供的信息来修改存取控制信息。
(2)过程控制
在通常的计算机系统中,只要系统允许用户自己编程,就没办法杜绝特洛伊木马。但可以对其过程采取某些措施,这种方法称为过程控制。例如,警告用户不要运行系统目录以外的任何程序。提醒用户注意,如果偶然调用一个其它目录的文件时,不要做任何动作,等等。需要说明的一点是,这些限制取决于用户本身执行与否。
(3)系统限制
要对系统的功能实施一些限制。比如,限制共享文件,但共享文件是计算机系统的优点,所以是不可能加以完全限制的。再者,就是限制用户编程。不过这种做法只适用于某些专用系统。在大型的,通用系统中,编程能力是不可能去除的。
百度知道
手机连接dac与电脑连接dac区别
查看全部1个回答
云小美F12369FF
TA获得超过873个赞
咨询成为第85位粉丝
音质和流畅度以及声音大小的区别吧。
现在手机都可以连接dac了,绕过手机内部的解码和模拟输出部分,音质有比较大的提高,同时可以做数字转盘使用。选购时只需要挑支持手机解码的dac即可。
将设备通过USB线连接到电脑上(USB线选择质量有保证的,如果是台式电脑,选择后置面板的USB口,前置面板可能存在供电不足。
打开厂商提供的驱动程序,检查USB DAC设备有没有连接,确保设备连接到USB。
这个时候就可以通过左下角的小喇叭打开该设备了
sbit wr=P3^6;
sbit rd=P3^2;
sbit k0=P1^0;
sbit k1=P1^1;
sbit k2=P1^2;
sbit k3=P1^3;
sbit k4=P1^4;
unsigned char flag;//当flag为0、1、2、3、4时分别产生正弦波、方波、三角波、梯形波、锯齿波
unsigned char const code sin_code[256]={
0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,
0xa5,0xa8,0xab,0xae,0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,
0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0xd5,0xd8,0xda,0xdc,0xde,0xe0,
0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0xf3,0xf4,
0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,
0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf3,0xf2,
0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe3,0xe1,0xde,0xdc,
0xda,0xd8,0xd6,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,
0xbc,0xb9,0xb6,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,
0x99,0x96,0x92,0x8f,0x8c,0x89,0x86,0x83,0x80,0x7d,0x79,0x76,
0x73,0x70,0x6d,0x6a,0x67,0x64,0x61,0x5e,0x5b,0x58,0x55,0x52,
0x4f,0x4c,0x49,0x46,0x43,0x41,0x3e,0x3b,0x39,0x36,0x33,0x31,
0x2e,0x2c,0x2a,0x27,0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,
0x15,0x14,0x12,0x10,0xf,0xd,0xc,0xb,0x9,0x8,0x7,0x6,0x5,0x4,
0x3,0x3,0x2,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
0x0,0x1,0x1,0x2,0x3,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xc,0xd,
0xe,0x10,0x12,0x13,0x15,0x17,0x18,0x1a,0x1c,0x1e,0x20,0x23,
0x25,0x27,0x29,0x2c,0x2e,0x30,0x33,0x35,0x38,0x3b,0x3d,0x40,
0x43,0x46,0x48,0x4b,0x4e,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63,
0x66,0x69,0x6c,0x6f,0x73,0x76,0x79,0x7c
}; //用于生成正弦
unsigned char kscan() //键盘扫描函数
{
unsigned char kscannum,t;
P1=0xff;
t=P1;
if(~(t&0xff))
{
if(k0==0)
{
kscannum=1;
}
else if(k1==0)
{
kscannum=2;
}
else if(k2==0)
{
kscannum=3;
}
else if(k3==0)
{
kscannum=4;
}
else if(k4==0)
{
kscannum=5;
}
else
{
kscannum=0;
}
return kscannum;
}
}
void init_DA0832()//DA0832初始化
{
rd=0;
wr=0;
}
void fangbo()//产生方波函数
{
EA=1; //开总中断
ET0=1; //计时器T0工作
TMOD=1;
TR0=1; //开启T0
TH0=0xff; //装入初值
TL0=0x83;
}
void sin()//产生正弦波函数
{
unsigned inti;
do{
P2=sin_code[i];
i=i+1;
}while(i<256);
}
void juchibo()//产生锯齿波函数
{
P2=0x00;
do{
P2=P2+1;
}while(P2<=0xff);
}
void sanjiaobo()//产生三角波函数
{
P2=0x00;
do{
P2=P2+1;
}while(P2<0xff);
P2=0xff;
do{
P2=P2-1;
}while(P2>0x00);
P2=0x00;
}
void tixingbo()//产生梯形波函数
{
unsigned char i;
P2=0x00;
do{
P2=P2+1;
}while(P2<0xff);
P2=0xff;
for(i=255;i>0;i--)
{
P2=0xff;
}
do{
P2=P2-1;
}while(P2>0x00);
P2=0x00;
}
void timer0(void) interrupt 1//中断函数
{
P2=~P2; //取反
TH0=0xff; //重新装入初值
TL0=0x83;
TR0=1;
}
/主函数/
void main()
{
init_DA0832();//初始化
do
{
flag=kscan();
}while(!flag);//等待按键按下
while(1)
{
switch(flag)
{
case 1:
do{
flag=kscan();
sin();
}while(flag==1);//产生正弦波
break;
case 2:
fangbo();
do{
flag=kscan();
}while(flag==2);//产生方波
TR0=0;
break;
case 3:
do{
flag=kscan();
sanjiaobo();
}while(flag==3);//产生三角波
break;
case 4:
do{
flag=kscan();
tixingbo();
}while(flag==4);//产生梯形波
break;
case 5:
do{
flag=kscan();
juchibo();
}while(flag==5);//产生锯齿波
break;
default:
flag=kscan();
break;
}
}
}
Apple Music 安卓版本支持使用DAC,但前提是你的手机必须具备USB DAC功能,否则无法点亮DAC。如果你需要点亮DAC,可以在Apple Music应用程序内,找到设置选项,选择DAC进行相关设置。
电脑上是有一个能插光盘的东西的,叫做光盘驱动器,在主机机箱上,笔记本的话是在侧面,旁边有个小按钮,按一下会d出光盘仓,类似与DVD那种,你把光盘放进去,注意正反面,然后关上就可以了。
以上就是关于函数信号发生器用单片机和DAC032做的程序全部的内容,包括:函数信号发生器用单片机和DAC032做的程序、自主访问控制(DAC)与强制访问控制(MAC)的原理是什么,区别在哪里各有什么优缺点、手机连电脑可以将手机当dac吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)