用51单片机编写一个产生38K方波的程序

发布者:勾剑寒最新更新时间:2018-05-13 来源: eefocus关键字:51单片机  38K方波 手机看文章 扫描二维码
随时随地手机看文章

/* 遗憾的是不能产生标准38kHz频率的方波,有点误差*/ 
#include
#define uchar unsigned char
#define uint unsigned int 
sbit Waveout=P1^0; //P1.0口输出方波
uchar 
void main()
{
TMOD=0x01; //定时器0方式1 
TH0=0xFF; ///由于晶振是11.0592MHz,每个机器周期约是1.09us,38kHz是26.3us产生一个方波,26.3/1.09需要计数24次,因而TH0=(65536-24)/256=255,即0xff
TL0=0xE8; //TL0=(65536-24)%256=232,即E8
EA=1;
ET0=1;
TR0=1;
while(1); 
}

void T0_time() interrupt 1
{
TH0=0xFF;
TL0=0xE8;
Waveout=!Waveout; 
}

关键字:51单片机  38K方波 引用地址:用51单片机编写一个产生38K方波的程序

上一篇:基于51单片机的pwm和串口通信
下一篇:51单片机用定时器0实现流水灯

推荐阅读最新更新时间:2024-03-16 16:02

51单片机实验板制作
这是一个简易的单片机试验板,自己动手做制作,又增加了动手能力,又对电路有了认识,我以把需要的元件资料写在下面,和大家分享,如果有不明白的地方,请上单片机论坛。 一、新单片机实验板功能的说明: P1口仍接8只LED,P3口仍接4只按键开关,P0口和P2口仍接2只LED数码管,但改为由P0口直接驱动。与原板完全兼容。新增:MAX232,可与计算机进行串行通讯,将来会考虑加入MON51支持。24C类串行芯片插座,可以插入24CXXX类芯片,进行I2C程序实验。增加X25045芯片插座,可以进行看门狗及3线制串行EEPROM的实验,通过插针切换,也可不用25045作为复位芯片,而采用常规的阻容复位电路。音乐接口,可外接一个小喇叭,做单片
[单片机]
<font color='red'>51单片机</font>实验板制作
51单片机—LCD1602显示模块
- 什么是LCD1602 LCD:Liquid Crystal Display—液晶显示器,简称LCD,其主要显示原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面,通常把各种液晶显示器都直接叫做液晶。 1602:液晶的命名通常都是按照显示字符的行数或液晶点阵的行、列数来的。1602的意思是每行可以显示16个字符,一共可以显示俩行,类似还有0801、1601等。 注意:此类液晶都是字符液晶,即只能显示ASCII码字符,如数字、大小写字母、各种符号等。 LCD1602显示如图: - 如何操作LCD1602 在操作之前先要了解LCD1602的几个重要知识点: RS:数据/命令选择端,它控制着指令操作和数据操作
[单片机]
<font color='red'>51单片机</font>—LCD1602显示模块
51单片机-代码对比
1.延时函数退出舞台 有了上一讲的理论讲解,代码的实现就比较简单了,实验现象就是高6位的6盏灯不停流水,我们用K4按键控制LED2的亮灭,并且途中并没有影响到6盏流水灯的运行。 我们知道以前流水灯是需要延时才能看得到流水现象的,那么现在再用延时函数的话,按键就没有意义了。比如流水灯的跳变需要间隔50ms才看得出是一个灯一个灯的亮,如果在死循环里使用“delay_ms(50);”,那么不支持连按代码里的times要加1都需要过了50ms才行,这样显然行不通,我们只能从流水灯的代码去思考了。 其实一次死循环里不一定就要求灯实现跳变,可以等到过了很多次死循环再去执行灯的跳变的,所以我们在死循环里让变量x每次加1,死循环了300
[单片机]
51单片机输出方波问题
一:NOTE 今天分享一个题目,有关51单片机输出方波的问题,好了,进入正题 二:题目 已知8051单片机的时钟频率为6MHZ,通过定时器1的工作方式1在P1^1引脚输出一个1KHZ占空比为60%的矩形波。 三:分析题目 1、首先第一个条件,时钟频率6MHZ,从这里我们可以得出它的时钟周期为1/f=2us 2、第二个条件,定时器1,工作方式1,那么对应TMOD寄存器也就是0x10。 3、第三个条件,输出一个1KHZ占空比60%,这里其实有两个条件,第一个输出1KHZ,他告诉我们输出的波形周期是1/f=1ms,然后是占空比,推出高电平为1ms*60%=600us,那么低电平就是400us,到这里,题目所有条件都分析完毕
[单片机]
<font color='red'>51单片机</font>输出<font color='red'>方波</font>问题
51单片机对无线抢答器的设计
#include * 自定义Macro //编码的均为反向编码 #define CLEAR 0x7f //定义清空的反码 #define LED_BEGIN 0x01 // 定义开始时数码管的显示 #define LED_FOUL 0x38 // 犯规后显示字母“F”,数码管编码 #define LED_C 0x31 // 字母“C”的编码 #define LED_L 0x71 // 字母“L”的编码,两个用来在主持人取消之后显示“CL”--cancel #define GET 1 // 这个是作为一个函数的参数来混的,就是成功抢答的意思 #define FOUL 0 // 和上面的参数一起混的,犯规---这两个的用法在后面体现
[单片机]
<font color='red'>51单片机</font>对无线抢答器的设计
keil的51单片机仿真调试中如何查看内存的内容
在Keil中,玩过51的朋友都知道,调试时编译器给出了寄存器窗口(Register)、中断系统窗口(Interrupt System)、I/O口查看窗口(I/O ports)、串口和定时器设置窗口(serial、Timer)但是如何查看某一块内存区域的内容呢? 在Memory窗口中输入址值,得到的结果是程序代码区的内容,由于51是采用的是哈佛结构,程序指令存储和数据存储分开。要查看各种内存区域的内容,只要在Address框内输入 字母:地址 即可显示相应的内存值。其中字母可以是C、D、I、X,分别代表的意义是: C:代码存储空间 D:直接寻址片内存储空间 I :间接寻址片内存储空间
[单片机]
关于51单片机IO引脚的驱动能力与上拉电阻设计方案
单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是 单片机 的输出电压。但是,程序控制不了单片机的输出电流。 单片机的输出电流,很大程度上是取决于引脚上的外接器件。单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为 灌电流 ,外部电路称为 灌电流负载 ;单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为 拉电流 ,外部电路称为 拉电流负载 。这些电流一般是多少?最大限度是多少? 这就是常见的 单片机 输出驱动能力的问题。 早期的 51 系列单片机的带负载能力,是很小的,仅仅用 能带动多少个 TTL 输入端 来说明的。P1、P2 和 P3口,每个引脚可以都带动 3 个 TTL
[单片机]
关于<font color='red'>51单片机</font>IO引脚的驱动能力与上拉电阻设计方案
TMS320VC5402DSP与51单片机的接口设计技术
TMS320VC5402(VC5402)是德州仪器公司推出的具有较高性价比的定点数字信号处理器。VC5402增强外设由软件等待状态发生器、锁相环时钟发生器、6通道直接存储器访问(DMA)控制器、增强型8位并行主机接口(HPI)等组成。两个可编程的多通道缓冲串口(McBSP)能够全双工、快速地与其他同步串口进行数据交换,硬件连接简单,串口的工作模式和传送数据的格式可通过编程实现。DSP和单片机之间的通信一般利用双口RAM,通过串口或DSP的HPI接口实现。 利用双口RAM实现 CY7C026是CYPRESS公司生产的16k×16B高速双口静态RAM,存取速度小于25ns。他具有真正的双端口,可以同时进行数据存取,两个端口具有独立的
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved