;**************************************************/#include “STC15W4K.H”#include “intrins.h” // nop()函数需要 sbit RS = P2^5; // 根据实际硬件连接修改sbit RW = P2^6; // 根据实际硬件连接修改sbit E = P2^7; // 根据实际...
原创
2021-09-01 10:19:22
250阅读
#include “LCD1602.H”/***************《51单片机轻松入门-基于STC15W4K系列》配套例程 *************★★★★★★★★★★★★★★★★★★★★★★★★《51单片机轻松入门-基于STC15W4K系列》 一书已经由北航出版社正式出版发行。作者亲手创作的与教材配套的51双核实验板(2个MCU)对程序下载、调试、仿真方便,不需要外部仿真器与编...
原创
2021-09-01 10:19:20
150阅读
头文件/**************************************************;连线图:;DB0—DPROT.0 DB4—DPROT.4 RS-------------P1.3;DB1—DPROT.1 DB5—DPROT.5 RW-------------P1.2;DB2—DPROT.2 DB6—DPROT.6 E----------...
原创
2021-09-01 10:21:23
400阅读
今天解决了一个小问题(查书后才得到确切结论。。。)用51单片机+11.0592的晶振,如何产生115200的波特率?本来感觉这个小意思,直接初始化定时器1,程序如下:void init_com( void ) { SCON = 0x50 ; //串口工作方式1,8位UART,波特率可变 TMOD |= 0x20 ; //定时器1,工作方式2,自动再装入8位定时器 PCON |= 0x80 ;
转载
2017-02-07 16:52:00
691阅读
2评论
main.c#include <stc8a8k.h>#include <stdio.h> #include "intrins.h"#include "disp.h"#define FOSC 11059200UL#define BRT (65536 - FOSC / 115200 / 4)sbit LED=P1^7;sbit PUL0=P0^0;int count5ms=6;int pwmfreq=100;i
原创
2022-04-18 11:55:35
544阅读
**delay.h和delay.c程序,记得分别复制,保存成delay.h和delay.c文件。11.0592M晶振频率**delay.h#ifndef __DELAY_H#define __DELAY_H //必须是11.0592Mhzvoid delay_tus(unsigned int tus);void delay_tms(unsigned int tms);#endif delay.c#include "delay.h"//必须是11.0592Mhz晶振频率,记
原创
2021-09-01 10:10:53
667阅读
源码:/* 11.0592MHz, 波特率1200 */#include<reg51.h>#include<stdio.h>//头文件typedef unsigned int uint;/****************************************
转载
2012-01-18 17:40:00
132阅读
2评论
首先给出一个延时程序,从stc-isp上生成的延时程序,又加了一个循环,需要延时1ms,函数的参数就写1,需要延时几ms,就写几就行,适用于晶振为11.0592MHZ,型号STC89Cxx/STC89LExx/STC90Cxx/STC90LExxvoid delay(unsigned int ms) //@11.0592MHz{unsigned char i, j;while(ms)&
原创
2022-03-04 20:27:20
1842阅读
点赞
定时器:单条指令时间(us)=1/单片机频率*单条指令时钟周期TH0和TL0共16位,最多只能表示65535,所以要设定一个Base值,再利用循环多计数几次比如0.002s:0.02=(1/11.0592M*12)*指令个数,指令个数=0.02(1/11.0592M*12)=0.018432因为频率用的是M,所以结果0.018432*1000000=18432使用16位寄存器的情况下,TH0和TL
原创
2021-05-11 19:55:04
1059阅读
详细介绍了晶振的作用,分析了晶振应当如何选取。简单分析51单片机的软件延时实现,11.0592MHZ的晶振作用
原创
2024-03-08 09:09:12
71阅读
时钟周期(T):是时序最小的时间单位,具体的计算方法是 1/时钟源频率 例如:我们单片机开发板上的晶振是11.0592
原创
精选
2024-10-17 10:27:43
270阅读
*/
#include <reg51.h>
#include<intrins.h> #define LCM_Data P0
#define uchar unsigned char
#define uint unsigned int
//#define w 6 //定义密码位数
#define Imax 14000 //此处为晶振为11.0592时的取
关于单片机通信波特率的缺点与使用思考
首先想说,12MHZ真的是有问题。我使用的是STC89C52RC的单片机,他的最小系统板的的晶振是12Mhz,但是这个开发板上买的晶振就没写频率!!!我一直以为这是默认的11.0592Mhz,因为之前用的最小系统板都是这个频率。在没有使用串口通信的时候,不管是11.0592M还是12M,都对程序的影响不是很大,所以一
跑马灯仿真指导:跑马灯keil程序:#include <REGX52.H>
#include <intrins.H> //延时函数需要添加的头文件
void Delay300ms() //@11.0592MHz 延时函数
{
unsigned char i, j, k;
_nop_();
i = 3;
j = 26;
k = 223;
do
{
原创
2023-12-03 00:15:59
331阅读
51单片机控制LED闪烁51单片机最小系统供电部分:5V供电时钟部分:晶振的选择 一般使用12MHz或者11.0592MHz的晶振,51单片机12个时钟周期执行一个机器周期,使用12MHz的晶振,那么1个机器周期是1uS;使用11.0592MHz的晶振是为了减小串口通信的误码率。起振电容的选择,参考数据手册选择。LED灯驱动电路分析LED限流电阻的计算方法Proteus中默认的LED的压降是2.2
DMP输出包结构(42字节)如下图: DMP总结资料 代码如下:/*****************************************************
功能: 采集MPU6050 DMP 数据
CPU: STC89C54RD+
晶震: 11.0592
环境: Keli2.0
语言: c
作者:XW1005
来源:移植 Jeff Jrowber
转载
2024-07-25 10:29:27
160阅读
程序硬件平台:11.0592M晶振,STC单片机(兼容51)。1、发送数据/**************************************************************** 在单片机上模拟了一个串口,使用P2.1作为发送端* 把单片机中存放的数据通过P2.1作为串口TXD发送出去******************************...
原创
2021-07-12 16:35:09
1741阅读
先上代码#include <reg52.h>
void Init();
void main(){
Init();
}
void Init(){
TMOD = 0x01;
TH0 = 0x4b;
TL0 = 0xfc; //定时器时间50ms,针对11.0592MHz频率CPU
ET0 = 1;
EA = 1;
TR0
转载
2023-08-21 12:18:12
114阅读
使用方法:打开串口调试助手,设置为9600 bps 单片机这边用11.0592MHz的晶振,使用sm0038或者其他型号的红外接收头按下面的电路连接好,其中out直接与单片机的p3.2脚相连.按下遥控器,串口调试助手便会出现解码值./******************************************************************//* 本
1 定时器0、1模块Time01.c 代码#include <REGX52.H>
#define FOSC 11059200L
#define T1MS (65536-FOSC/12/1000) //1000个1ms是1s,10ms中断的话,1000改成100
void Time0_init(void) //1毫秒@11.0592MHz
{
TMOD &= 0xF0;
转载
2024-04-03 21:23:53
1002阅读