单片机烧写程序可以写很多个,这需要你对每一个功能程序增加相应的切入口,并在硬件上增加切入 *** 作的控制电路即可,同时还要单片机的存储空间够大。
烧写还的程序一般不用删除,下次烧写时就直接覆盖,如果有秘密想销毁,就用非秘密的覆盖首先,不知道楼主用的是什么单片机,估计是C51,因为使用最广泛。
其次,不知道楼主用那个厂家的,如果第一条成立,那么只有Atmel根STC两种可能,因为这两种最好买到。
再次,楼主肯定是做实验用的,所以不可能是OTP。
最后,如果楼主单片机是STC的,建议查找以下原因:
1.波特率是否合适?
2.单片机之前的程序是否加了写保护?
3.下载程序是否点了P0_0(P0_1)为低电平时才能写入。
4.写入顺序是否合理,下载软件先点下载,在给单片机通电。
5.如果都不行,请换一块单片机试试。
6.如果还不行,请追问,如果可以,请点采纳。
这个我跟你简单的说一下,12位的话,他有4095个点,对应1~5V的点位应该是819~4095,数字量从819逐渐增加3276次,就能让模拟量从1V变化到5V,在10秒内完成,那5秒变化3276次,那一次变化的延迟就是1526us,你只要将ADUC847的低8位接在P0口上,高4位接到P2口的低4位上,就可以输出你要的模拟量了,运行程序如下#include
<reg51.h>
//选用晶振12.0MHz
void
delay(unsigned
char
i)
//延迟1526us
{
unsigned
int
j
while(i--)
for(j=1526j>0j--)
}
main()
{unsigned
int
i
while(1)
//不断的循环
{
for(i=819i<4096i++)
//输出1~5V占用时间5S
{
P0=i%256
P2=i/256
delay(1)
}
for(i=4095i>=819i--)//输出5~1V占用时间5S
{
P0=i%256
P2=i/256
delay(1)
}
}
}
程序仿真过了,没问题,等待加分中~~
ADUC指的是AD用户与计算机<br>就在开始--》程序--》Microsoft Exchange里面打开后右键点击用户
还是没有的话,重新运行Exchange安装程序,把Exchange管理工具这个组件重新安装一下看看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)