① 急!!!!!希望实现利用C51单片机输出频率及占空比可调的方波,我需要protues仿真的电路图及源代码。我
//P2^0和P2^1;接2个按钮,
//P2^0控制频率10HZ到50HZ,按压改变
//P2^1控制占比10%到90%,按压改变
//假设晶振为12MHz
#include<reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
uintt=0,f=100,w=50;
sbitP10=P1^0;//输出端
sbitKF=P2^0;//改变频率按钮
sbitKW=P2^1;//改变占宽按钮
voidinit()
{
TMOD=0x21;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
ET0=1;
TR0=1;
EA=1;
}
voidtime0()interrupt1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
t++;//t为1ms
if(t>=f)t=0;
}
voidmain()
{
init();
while(1)
{
if(KF==0)//改变频率
{f=f-10;
if(f<=10)f=100;
while(KF==0);
w=f/10;
}
if(KW==0)//改变占比
{w=w+f/10;
if(w>=f)w=f/10;
while(KW==0);
}
if(t<w)P10=1;//单个周期
elseP10=0;
}
}
如果图片看不清,请先“查看大图”,此时另存到你的电脑里,再查看更大的图片。
****************************
后补充:根据你的“问题补充”,需要增加一个AD转换器,常用的并口有ADC0809,串口有ADC0834,单片机扫描AD转换输出的数据,送到上述的频率f和占比w两个变量。就可以改变。幅度改变很简单,用电位器的分压直接输出就可以了。要把整个写出来,需要一定的篇幅,上面给你提供思路,望你自己多动手电脑,得到满意的结果。
② 谁能给我一个单片机心形流水灯的详细电路图和源代码,网上找的看不懂呀,
看不懂的话,别人帮到你的不是太多,还基本上要靠你自己,给你一个也是一样的结果,你可以贴一个上来,说出看不懂的地方,帮你解惑。
③ 高分求回溯法解电路板排列问题(C++)源码
这个东西还是自己写吧
④ 图为8路彩灯循环控制电路的verilog HDL源代码,求大神绘图说明8种逻辑状态(S0-S7)构
搜一下:图为8路彩灯循环控制电路的verilog
HDL源代码,求大神绘图说明8种逻辑状态(S0-S7)构
⑤ 怎么求补码的原码
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
1、如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
2、如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
例如:已知一个补码为11111001,则原码是10000111(-7)。因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;再加1,所以是10000111。
数的表示:
在数的表示上通过人为的定义来消除编码映射的不唯一性,对转换后的10000000强制认定为-128。当然对原码和反码也可以做这种强制认定,那为什么原码和反码没有流行起来?原码和反码没有流行起来,是因为在数的运算上对符号位的处理无法用当时已有的机器物理设计来实现。
由于原码和反码在编码时采用了硬性的人工设计,这种设计在数理上无法自动的通过模来实现对符号位的自动处理,符号位必须人工处理,必须对机器加入新的物理部件来专门处理符号位,这加大了机器设计难度,加大的机器成本,不到万不得已,不走这条路。
网络--补码
⑥ 代码是怎样和电路连接的
代码在芯片内部被执行,通过芯片的IO,输出高低电平控制外围设备,有些芯片也可以输出模拟信号,所以严格的说就是代码变成不同时序的电压电流反应的电路板
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序
⑦ 谁能帮我编写这个程序,用89c51制作的直流稳压电源 ,我提供电路图,源码
电路拿来,我想试下