推荐阅读最新更新时间:2024-03-16 13:34
如何利用STC89C52单片机做一个多种信号发生器
下面先贴上仿真的电路图(仿真的软件是Protuse,上传一个大点的图,方便大家看的清楚点): 原件清单:STC89C52单片机X1、DAC0832转换器X1、12M晶振X1、电容22pfX2、10uf的电容X1、1nf陶瓷电容X1、独立按键X4、10千欧排阻X1、10KΩ电阻X5、LM358 单电源运放X1。仿真就需要这些原件,具体的硬件设计大家定好了在制作~ 下面上传一下C程序吧~(使用的IDE环境是Keil 4,语言是C语言) Source文件(.c文件): 1main.c文件: 1 #include “reg52.h” 2 #include “init.h” 3 #include “single.h” 4 #includ
[单片机]
51单片机驱动蜂鸣器发声的实验
在单片机系统中,除了显示器件外经常用到发声器件,最常见的发声器件就是蜂鸣器。蜂鸣器一般用于一些要求不高的声音报警及发出按键操作提示音等。 虽然蜂鸣器也有自己固有的频率,但是也可以对其施加不同频率的方波,使之发出一些简单的乐曲。 1.实例功能 使蜂鸣器发声。通过本实验,能熟练掌握蜂鸣器的应用方法。 2.器件和原理 蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音,使用起来比扬声器简单。 由此可见,其控制与LED的控制是没有区别的。 3.硬件电路 虽然单片机对蜂鸣器的控制和对LED的控制是一样的,但硬件电路却有所不同。因为蜂鸣器是感性负载,一般不建议用单
[单片机]
52单片机存储器的扩展
STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 52单片机存储器的扩展----系统扩展结构 为减少连线,简化组成结构,可把具有共阳性的连线归并成一组公共连线,即总线--传送信息的公共通道(BUS)。 STC98C52单片机属于总线型结构,片内各功能部件都是按总线关系设计并集成为整体的。 三总线:地址总线(AB)、数据总
[单片机]
单片机产生随机数的方法
随机数在单片机的应用中也是很多的,当然产生随机数的方法有很多,当中有一个就是利用单片机定时器,取出未知的定时器THX和TLX的值,再加以运算得到一个规定范围内的随机数值。这做法也是可行的。或者预先写好一个随机数表,然后进行取数据。也是可以的。 KEIL里面产生随机数的函数确实是rand(),但头文件是stdlib.h,不是time.h。C语言提供了一些库函数来实现随机数的产生。C语言中有三个通用的随机数发生器,分别为 rand函数, random函数, randomize 函数;但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,
[单片机]
8051单片机基础7:函数的特殊用法
参考来源:Keil Help uVision Help Cx51 Compiler User’s Guide Language Extensions Function Declarations 函数声明/定义时,与标准C语言存在一定差异,主要为以下几个方面: 声明函数为中断处理函数入口 选择函数使用的8051通用寄存器组 配置函数的内存模型 声明可重入的函数 函数声明/定义规范 return_type funcname ( args ) small / compact / large reentrant interrupt x
[单片机]
单片机与串行时钟DS1307的接口设计
在简单介绍串行时钟芯片ds1307的基础上,介绍了时钟电路的rs485接口设计8本文所设计的时钟电路具有体积小、抗干扰性能强、通用性好、调时方便等特点。 0 引言 由单片机构成的测控系统或智能显示屏中,经常需要实时日历时钟,为节省CPU资源,增强实时时钟电路的通用性,本文介绍DS1307的应用及其接口设计,该时钟系统用RS485接口,采用SN75176差分平衡驱动接收,具有抗干扰能力强,可与PC机进行远距离的通信也可以与其他控制电路相连;时钟调时可方便地用PC机或电路中设置的按键进行时间设定和修改。 1、串行时钟DS1307简介 DS1307是I2C总线接口的日历时钟芯片,片内有8个特殊寄存器和56B的SRAM,是一种低功耗、BC
[模拟电子]
PIC单片机之注意事项
MPLAB IDE v8.92 只能支持英文目录,所以一般而言是把相应的工程拷到D盘中,然后打开编译,最后如果想要保存工程,应该拷回想要保存的位置 当在中文目录中会出现“找不到指定路径”的错误,如下: 关于超大数组问题: 本实验用的编译器是xc16-gcc.exe,集成开发环境是MPLAB IDE v8.92,当前的编译器配置如下: -g -Wall -mlarge-code -mlarge-data -Os -fno-ivopts 如下图: 其中这里有一个超大的数组: 这时候编译会有这样的一个错误: 从提示可以知道,这是一个数据超出的错误,但是这里是超出了数据段,而不是说超出了芯片的fla
[单片机]
低功耗模式下微控制器时钟配置应用
在微控制器的低功耗应用中,对时钟的设置是很重要的一个方面。不同类型的微控制器在低功耗模式下对时钟的配置也各有不同。飞思卡尔公司推出的增强型8位微控制器HCS08系列具有很强的低功耗性能。其中,HCS08系列里的MC9S08QG8在同类产品的基础上对低功耗应用下的时钟又有了进一步的改进。 1 MC9S08QG8及其内部时钟模块介绍 微控制器MC9S08QG8是飞思卡尔公司新推出的一款8位增强型微控制器。它是小封装、低功耗的产品,但这并不意味着它是“低端”的产品;相反,它是一个高度集成的、功能丰富的、适用于各种应用的低价位单片机。MC9S08QG8采用高性能、低功耗的HCS08内核,具有很高的集成度,还包括更长的电池寿命(即使工作电
[工业控制]