89c52单片机

作者&投稿:叱干肢 (若有异议请与网页底部的电邮联系)
89C52单片机~

89C51,89C52和AT89S52都能通用的。这个原理图是我用来做多功能电子钟用过的。

读出程序就太简单了,可以利用烧写软件给读出来啊,这种软件网上太多了,下一个就可以了.
加密也需要加密软件的,此单片机本身无加密功能,可利用1楼所说的加密法.
玩的愉快!

1、你的延时子程序for循环的嵌套关系好像搞反了。

2、利用“软件延时控制数码管显示”的同时,在软件延时中添加break,会造成显示中断。

3、多位数码管扫描显示时,变换“段位”前应该先将“段值”清空,减少不必要的闪烁。

4、你在数码管显示中的每一位延时时间有些长,多位显示往往不流畅,会出现单个数码管轮流显示的感觉。

5、按键检测“开始”和“继续”功能重复,可以合在一起。用三个按键就可以了。

6、数码管“位值”重新修改过,不一定符合你的电路情况。

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define NULL 16
sbit  dula=P2^2; //段锁存器锁存信号
sbit  wela=P2^3; //位锁存器锁存信号
/********按键改到P1口了********/
sbit  k0=P1^0;   //按  键: 开始(继续)
sbit  k1=P1^1;   //按  键: 暂停
sbit  k2=P1^2;   //按  键: 清零
bit   bit_run=1; //标志位: bit_run=1,N加1 ; bit_run=0,N不加1 .
uchar N=0;
uchar code tab[]=
{
 0x3f,0x06,0x5b,0x4f,
 0x66,0x6d,0x7d,0x07,
 0x7f,0x6f,0x77,0x7c,
 0x39,0x5e,0x79,0x71,
 0x00//添加“空”段码 用做“不显示”
};
/********延时子程序********/
void delay(uchar i)
{
 uchar a;
 for(;i>0;i--)
 {
  /****按键检测****/
  if(k0==0) bit_run=1;
  if(k1==0) {bit_run=0;/*break;*/}
  if(k2==0) {bit_run=0;N=0;}
  /****************/
  for(a=200;a>0;a--)
  {
   //
  }
 } 
}
/********显示子程序********/
void display(uchar i)
{
 uchar a,b,c;//对应 个位 十位 百位 
 
 if(i>99)
 {
  a=i%10;b=i/10%10;c=i/100;
 }
 else if(i>9)
 {
  a=i%10;b=i/10;c=NULL;
 }
 else
 {
  a=i;b=NULL;c=NULL;
 }
 
 P0=0x00;dula=1;dula=0;
 P0=0xfe;wela=1;wela=0;
 P0=tab[c];dula=1;dula=0;delay(40);
 
 P0=0x00;dula=1;dula=0;
 P0=0xfd;wela=1;wela=0;
 P0=tab[b];dula=1;dula=0;delay(40);
 
 P0=0x00;dula=1;dula=0;
 P0=0xfb;wela=1;wela=0;
 P0=tab[a];dula=1;dula=0;delay(40);
}
/********主函数********/
void main()
{
 uchar i;
 while(1)
 {
  i=10;
  while(i--)
  {
   display(N);
  }
  if(bit_run==1) N=(N+1)%101;
 }
}



不用定时器,按键不好检查。看看高手如何写的先


单片机c52与c51哪种贵
同一个牌子的话 当然c52的贵一点啦。。。

关于stc90c52单片机驱动数码管电路的问题
数码管下面的三极管是驱动用的,com接口是选通用的,你的数码管应该是采用扫描驱动的。扫描原理就是任意一个时刻,只有一个COM是通的,通的时候,单片机输出对应于该位的数值,其它关断。快速轮回显示,这样,由于人眼的视觉停留,看到的是所有数码管同时显示。这方面,你需要看一下扫描显示原理。R1~R8是...

单片机c51的程序能不能直接在c52上用
您好:完全可以,不用修改程序,C52只是多了一个定时器和多了一点存储空间,如果你程序在C51上能运行,那在C52上当然也能运行。

问个C52单片机,P0口问题。
P0口做准双向口驱动是要加上拉电阻,一般用排阻,9个脚,有一个公共脚,其余的8个脚和公共脚之间的电阻都是一样的,公共脚上面有一个点,很容易区辨,你用一个1K~10K都行的排阻上拉以后就好了,这是P0口的特性。加上就好

52单片机C语言中“Delay”是什么意思,怎么用?
一般延时1ms的程序是:void Delay(uint x){ uchar i; while(x--) { for(i=120;i>0;i--); }} 那么当你在别的函数中用到Delay(10000);就是延时10000ms,也就是10S

用C52单片机做多功能时钟,显示出现85
\/***时钟芯片DS1302驱动——火柴天堂作品-20120610***\/ \/***源程序硬件环境:52单片机,12MHz晶振,P34接时钟芯片IO脚,P35接芯片RST\/CE脚,P36接芯片CLK脚***\/ \/***\/ define DS1302_H include"reg52.h"\/\/包含52头文件 include"DS1302.h"\/\/包含DS1302宏定义文件 sbit DS1302_CLK=P3^6;\/\/...

c51单片机与c52单片机的区别??
C51及C52单片机在内核结构上完全一样,两者的主要差别在RAM和ROM上,C51是128byte RAM,4K ROM,C52是256Byte,8K ROM。

单片机是at89c52rc用keil能用c52吗?
可以的,甚至用89C5I 89S51/52都可以,跟其型号关系不大,不同单片机的特殊功能体现在头文件中。

89c52单片机的晶振f=24MHz,在P1.3引脚输出500kHz的频率。用C语言怎么...
用定时器啊 是这样算的机器周期的12,也就是(24MHZ\/12)\/1000KHZ=4,所以 TH1=(65536-2)\/256;TL1=(65536-2)%256;include<reg52.h> sbit P1_3=P1^3 void mian(){ TMOD=0x02;TH1=(65536-2)\/256;TL1=(65536-2)%256;EA=1;TR1=1;while(1);} void t1 () interrupt 3 { P1_3=...

利用C52单片机,用两位独立按键、四位数码管及蜂鸣器实现时钟的基本功能...
,用一位独立按键都可以,参考方案:一级判断:按键保持1s松开为走时,按键保持3s松开为调时菜单(建议有效采集3-5s),按键保持9s松开为定时菜单(建议有效采集9-10s)。二级判断:当一级菜单有效,按键保持1s松开为逐步选项,按键持续保持3s为值递增。无按键操作10s恢复运行。两位按键似乎程序简短些,...

林周县13319082472: 89c52单片机主频是多少? -
丰戴欣路: 主频 12/24/33MHz.89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品.它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,...

林周县13319082472: 89c52单片机怎么用4个针脚控制几个4相5线步进电机 -
丰戴欣路: 89c52单片机用4个针脚控制几个4相5线步进电机的方法:1、用两片74HC595,串转并,扩展出16个端口,可以控制4个步进电机;2、可以给同时几个驱动模块发电平,可以驱动无数个电机的,输出4路PWM,然后再用一片89C52.因为即使用专用的步进电机驱动芯片,也至少得2个IO控制一个电机.89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品.它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统.

林周县13319082472: 89c52单片机求编程 -
丰戴欣路: #include<reg51.h> #define uchar unsigned char uchar num=0; sbit pulse=P1^0; void t0isr() interrupt 1{ num++; if(num<6)pulse=1; else pulse=0; if(num>80)num=0; } main() { TMOD=0x02; TH0=6; TL0=6; ET0=1; TR0=1; EA=1; while(1); }

林周县13319082472: 请问单片机89C52要多少钱一块? -
丰戴欣路: 89c52可能已经停产,被89s52代替了,因为89c52需要专门的烧录器烧录程序,这样对于小批量使用的用户造成不小的购买开支,所以被89s52代替,89s52支持ISP下载,即能通过串口下载程序,无需烧录器.STC的89s52系列大概3到5元钱.我买过stc12c5410ad,51内核,带ad转换的才6块钱.

林周县13319082472: 89c52单片机怎么进入掉电模式 -
丰戴欣路: 不是所有的89C52单片机都可以进入掉电模式的,STC89C52可以进入掉电模式.1、当PCON寄存器的D1也就是PCON.1或者叫PD位置1时,单片机进入掉电模式,该模式也叫停机模式.2、进入掉电模式后,内部晶振停震,CPU、定时器、看门狗、串口都停止工作,外部中断继续工作.如果低电压检测被允许,也可以继续工作,否则停止工作.3、进入掉电模式,IO口状态和SFRs(特殊功能寄存器)保持之前的状态不变.4、外部中断可以唤醒掉电模式.

林周县13319082472: 51单片机89C52 -
丰戴欣路: 一般都要重启,当然也有复位引脚跟ISP连接了,有ISP来自己复位,因为复位后单片机才能进入ISP编程,否则就进入你自己编的程序去执行了.

林周县13319082472: 89C52单片机支持spi协议吗 -
丰戴欣路: 单片机是微处理器+外设,不同的8052有不同的外设.所以是有的支持,有的不支持,有spi模块的8052都支持 比如ADuC8xx 8052 支持SPI 恩,看错问题了,看成8052了,89c52是没有spi外设.平民1级一般不愿意回答,因为不结贴.请别让我失望,谢谢

林周县13319082472: 89C52单片机硬件问题
丰戴欣路: char类型占用一个字节只有8位; unsigned是无符号; code确定存储器类型是程序存储器.89C52 内存大小为8K ,可扩展到64K. 用code unsigned char定义一个变量,它的取值范围是0~255(十进制);

林周县13319082472: STC89C52RC与普通89C52有什么区别? -
丰戴欣路: 反对@JongHsueh关于内置RC振荡电路的回答. 为了搞清楚STC89C52和STC89C52RC的区别,我特地去问了宏晶的技术人员. 技术人员的回复是,两者在烧录和应用上是可以相互替代的,除了支持的最大工作频率不一样之外,没有任何其...

林周县13319082472: 如何设置89C52单片机定时器0 -
丰戴欣路: 只要设定如下程序即可 EA=1; //总中断允许 ET0=1; //定时器0允许 TMOD=0x01; //T0工作在模式1 TH0=(65536-50000)/256; //定时器装初值 TL0=(65536-50000)%256; TR0=1; //定时器打开89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品.它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网