求大神在keil上帮写51单片机C语言程序

作者&投稿:锐子 (若有异议请与网页底部的电邮联系)
编写51单片机c语言程序,keil软件编写~

微处理器控制脉冲发生电路产生上升沿约为5ns,脉宽约为100ns的电流脉冲。

如何控制脉冲电路,将具体点啊。

应该不是直接驱动吧?C52网上说最大晶振是24M,远大于100ns

是啊,最要命的就在这里了。
你得借助外部的手段来作为随机量的种子,例如变化的电压、变化的时序、外部实时时钟的时间……等等。

//第一个实验:
//假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7
//假设K1按键在P2.3引脚
#include<reg51.h>
#include<intrins.h>
sbit k1=P2^3;//假设K1按键在P2.3引脚
void main()
{
P0=0xfe;
while(1)
{
if(k1==0)
{
while(k1==0);
P0=_crol_(P0,1);
}
}

}

//第二个实验:
//假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7
#include<reg51.h>
char led[]={0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xff};

void main()
{
char i=0;
char counter=0;
TMOD=0x01;//T0 工作方式1
TH0=(655356-50000)/256;//延时50ms
TL0=(655356-50000)%256;//延时50ms
TR0=1;//启动T0
while(1)
{
if(TF0==1)//查询
{
TH0=(655356-50000)/256;//重新延时50ms
TL0=(655356-50000)%256;//重新延时50ms
counter++;
if(counter==10)//延时0.5秒
{
counter=0;//重新开始新一轮0.5秒延时
i++;
if(i==16)
{
i=0;
}
P0=led[i];//点灯
}
}
}
}


Keil写的C51单片机程序里面为C语言,也可以是汇编语言。里面保存格式决定用汇编或C语言

我编了一段51单片机程序,在keil中运行,然后一直处于编译状态,等了半天...
答:那就是程序没有编好

keil c51嵌入汇编问题...
答:keil 51到现在还没有碰到需要潜入汇编的地方 不知道你在什么地方用到 C51的编译效率已经非常高了./// 这种情况多半你的整体设计不是很好 你是在T0内部计数的吗??每次来一个脉冲都需要处理??改成T0计数模式不开T0中断呢.搞不定?如果你对速度要求那么高.而且代码量又相当大的话 .用51设计本身就不...

Keil C51实现单片机与PC usb通讯(上位机)vb如何编写
答:USB是没法直接作为串口使用的。你需要一个 PL2303 模块,我以前在淘宝上买过也就几块钱一个,线路连接是 RXD<--->TXD,这样硬件就连接完成了。上位机编写方面,VB提供一个叫 MSComm 的控件,专门做串行通信的,你把她调出来自己看看属性也就知道怎么写了。没什么难度。希望对你有帮助。

求大神写个单片机完整的程序
答:Keil写的C51单片机程序里面为C语言,也可以是汇编语言。里面保存格式决定用汇编或C语言

我用keil c51仿真软件编的汇编程序,编译后显示目标没产生
答:作为新手,还是按照KEIL默认的安装路径安装吧(虽然这个路径是可以任意修改的)。你看看你的Keil是否装在了 C:\keil\ 这个文件夹下,,如果不是,你默认配置文件中的配置是找不到相应A51、C51、BL51等工具的。你可以尝试装到那路径下。另外,如果是没有注册过的KEIL,当程序超过2K时,会出现代码限制...

我的keil怎么按书上编写的时候part2-1后不是.c而是文本文档啊~?编译...
答:WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL 提示没有可编译文件。补充:1.即使是.c的文件,如果你电脑里只是装了keil 51这一种编译器的话, .c文档的图标和文本文档的图标一样.2.我不知道你想要个什么样的结果,点击了编译后,有没错都不会弹出对话框什么的,只是在build窗口中(默认在keil窗口...

求大神用keil写程序出现问题 老是提示我include<reg51.h>有问题
答:帮你都改好了,你自己看看 include <reg51.h> include <intrins.h> define uchar unsigned char define unit unsigned int uchar code M[][8]={ {0x02,0xba,0x7a,0x3f,0x7a,0xba,0x02,0x00}, {0x00,0x01,0xfe,0x28,0xef,0x28,0x00,0x00}, {0x28,0x30,0x7e,0x34,0x38,0x38...

如何在KEIL中编写模块化的C程序(转)
答:如果大家写过类似电子钟这样的比较长的程序的话,肯定在网上下载过相关的程序看过,有没有觉得别人的程序看起来让自己觉得很郁闷呢?现在我们来介绍一种在KEIL中C语言的模块写法。这样的写法其实也是很好用的,一些稍长的程序中经常见到。其实如果学过PC机的C语言的话,对多文件的编译比较熟悉那么这个就...

这个是用KEIL写的、有谁能帮忙解决这个基础问题、
答:首先,这个promotion是跟编译器相关的。如果你拿51编译器来编译,是不可能得出红字所示的结论。因为51单片机是八位机,默认数据类型8位。其次,按照你列出的红字,表明你“期望”这个编译器默认promote成16位无符号类型,所以左移8位的时候结果相同。但是按默认promote左移9位就会丢数据了,变成0xFE00(...

KEIL51里编译原代码时候为什么还没写内容就应该先保存?
答:首先,你指的保存是指的是在工程建好以后的添加文件(.c、.asm、.h)时的保存吗?若是,那是必要的。因为这些文件必须在建立好以后才能添加到工程里面,而保存(同时也给文件命名)是为确定这些文件是存在的,不然KEIL怎么会找到呢?当然你也可以在没添加到工程里时直接把程序都写好,但是不推荐这样。