自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

USTC小璇风的博客

USTC小璇风的博客

  • 博客(38)
  • 收藏
  • 关注

原创 (51单片机)第十三章-STC系列51单片机功能介绍

是可编程计数器阵列,是脉宽调制,这两项技术在单片机内部都是由定时器/计数器和比较/捕捉模块组成,如下图所示。STC12C5410AD及STC12C2052AD系列单片机还提供另一种高速串行通信接口--SPI接口。SPI是一种全双工、高速、同步的通信总线,它有两种操作模式:主模式和从模式。在主模式中,它支持高达3Mbps的速率( 系统时钟频率为12MHz时,如果CPU主频采用20MHz~36MHz,则其速率可更高,而从模式时速度无法太快,8以内较好),同时还具有传输完成标志和写冲突标志保护。

2024-04-26 11:48:54 1614

原创 (51单片机)第十一章-串行口应用提高

通常的无线数据传输模块,小功率的只能传播数十米到一二百米,稍大功率的也就能传播几百米到几千米,这类设备价格较低,预留接口通常为 TTL电平、RS-232C或RS-485 接口,与单片机系统连接非常简单,编写程序也很容易,只需要一次性投入,便可永久使用。用这两种方式传输数据时,起始位1位,数据位9位(含1位附加的第9位,发送时为SCON中的TB8,接收时为RB8),停止位1位,一帧数据为11位。所谓主从式,即在数个单片机中,有一个是主机,其余的都是从机,从机要服从主机的调度、支配。在实际的多机应用系统中,

2024-04-18 10:33:29 1123

原创 (51单片机)第十章-定时器/计时器应用提高

52单片机与51单片机相比,除了其内部程序存储容量增大外,还多了一个T2定时器计数器。定时器2是一个16位定时器/计数器,通过设置特殊功能寄存器T2CON中的C/位可将其设置为定时器或计数器;通过设置 T2CON 中的工作模式选择位可将定时器2设置为三种工作模式,分别为捕获自动重新装载递增或递减计数和波特率发生器。什么是捕获?——通俗地讲,捕获就是捕捉某一瞬间的值,通常用它来测量外部某个脉冲的宽度或周期。使用捕获功能可以非常准确地测量出脉冲宽度或周期。

2024-04-17 12:19:14 1010

原创 (51单片机)第八章-I2C总线AT24C02芯片应用

I2C总线()由PHILIPS 公司推出,是近年来微电子通信控制领域广泛采用的一种新型总线标准,它是的一种特殊形式,具有等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,所有与I2C兼容的器件,使它们可以经由I2C总线。I2C总线由和两条线构成通信线路,。在 CPU与被控IC之间、IC与IC之间都可进行双向传送,最高传送速率为400kbps,各种被控器件均在总线上,但每个器件都有。

2024-04-13 11:33:46 1184

原创 (51单片机)第七章-通用型1602液晶操作方法

液晶()是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。液晶显示器(LCD)的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接叫做液晶。各种型号的液晶通常是按照显示字符的行数或液晶点阵的行、列数来命名的。比如:1602的意思是每行显示16个字符,一共可以显示两行;类似的命名还有0801,0802,1601等,这类液晶通常都是字符型液晶,即只能显示 ASCII 码字符,如数字、大小写字母、各种符号等。

2024-04-10 12:37:19 904

原创 (51单片机)第六章-串行口通信原理及操作流程

在这里对串口4种方式仅做简单介绍,在下一节将重点介绍串口方式1,在后面的篇章对其他几种方式再做详细介绍。

2024-04-08 12:43:42 2808

原创 (MATLAB)第二十一章 Simulink仿真设计初步

第二十一章 Simulink仿真设计初步

2024-03-22 23:54:52 2650

原创 (51单片机)第五章-A/D和D/A工作原理-D/A

数字量是用二进制代码按数位组合起来表示的,对于有权码,每位代码都有一定的权。为了将数字量转换成模拟量,必须将每1位的代码按其权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现数/模转换,这就是构成D/A 转换器的基本思路。下图是D/A转换器的转换示意框图。图中d0~dn-1是输入的n位二进制数,vo是与输入二进制数成比例的输出电压。

2024-03-19 11:20:37 1907

原创 (MATLAB)应用实例13-时域信号的频谱分析

(MATLAB)应用实例13-时域信号的频谱分析 采用傅里叶变换来计算存在噪声的适于信号频谱。

2024-03-08 15:25:45 565

原创 (51单片机)第五章-A/D和D/A工作原理-A/D

(51单片机)第五章-A/D和D/A工作原理-A/D

2024-03-08 11:07:42 2231

原创 (51单片机)第三章-数码管显示原理及应用实现-中断

(51单片机)第三章-数码管显示原理及应用实现-中断

2024-03-07 10:11:04 1602

原创 (MATLAB)第五章-矩阵运算

(MATLAB)第五章-矩阵运算

2024-03-06 09:30:14 1118

原创 (MATLAB)第四章-向量与多项式

(MATLAB)第四章-向量与多项式

2024-03-05 11:10:44 1102

原创 (51单片机)第三章-数码管显示原理及应用实现-数码管

(51单片机)第三章-数码管显示原理及应用实现-数码管

2024-03-04 10:12:16 1356

原创 (MATLAB)第三章-MATLAB基础知识

(MATLAB)第三章-MATLAB基础知识

2024-03-04 08:57:20 1018

原创 (51单片机)第二章-Keil软件使用及流水灯设计

(51单片机)第二章-Keil软件使用及流水灯设计

2024-03-03 16:05:41 687

原创 (MATLAB)第一章-MATLAB用户界面 & 第二章-帮助系统

(MATLAB)第一章-MATLAB用户界面 & 第二章-帮助系统

2024-03-03 14:53:35 460

原创 线性代数复习和学习大纲

线性代数复习和学习大纲

2024-03-02 22:05:28 1085

原创 数学分析(单&多变量微积分)复习和学习大纲

数学分析(单&多变量微积分)复习和学习大纲

2024-03-02 21:15:55 967

原创 (51单片机)第一章-必备基础知识

第1篇 入门篇第一章 必备基础知识

2024-03-02 16:08:00 948

原创 (51单片机)第四章-键盘检测原理及应用实现-矩阵键盘检测

矩阵键盘检测

2024-03-02 00:19:43 1518

原创 (MATLAB)第十二章-数列与极限

在MATLAB中实现基本数列和极限的表示和计算方法

2024-03-01 11:37:58 1415 1

原创 (51单片机)第四章-键盘检测原理及应用实现-独立键盘检测

键盘分为编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键盘号或键值成为编码键盘,如计算机键盘。而凭软件编程来识别的键盘称为非编码键盘,在单片机组成的各种系统中,用的较多的是非编码键盘。非编码键盘又分为独立键盘和行列式(矩阵式)键盘。

2024-02-29 14:31:02 1662

原创 TX-1C板:A/D转换数码管锁死在255问题的解决和提高数码管数字显示的一些小的改进

书上原题如下书上代码如下#include <reg52.h> //52系列单片机头文件#include <intrins.h>#define uchar unsigned char#define uint unsigned int sbit dula=P2^6; //申明U1锁存器的锁存端sbit wela=P2^7; //申明U2锁存器的锁存端sbit adwr=P3^6; //定义AD的WR端口sbit adrd=P3^7; //定义

2022-02-05 22:53:25 971

原创 一个用JX-TX-1C实验板制作的24小时以内的时间显示或者倒数计数模式的闹钟

#include<reg52.h>#define uchar unsigned char#define ul unsigned longsbit d1=P1^0;sbit dula=P2^6;//声明锁存器U1的锁存端sbit wela=P2^7;//声明锁存器U2的锁存端sbit beep=P2^3;sbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;uchar code table[]={ 0.

2022-02-04 16:45:32 751

原创 一个在一小时以内实现分钟可调的倒计时闹钟

#include<reg52.h>#define uchar unsigned char#define ul unsigned longsbit d1=P1^0;sbit dula=P2^6;//声明锁存器U1的锁存端sbit wela=P2^7;//声明锁存器U2的锁存端sbit beep=P2^3;sbit key1=P3^4;sbit key2=P3^5;sbit key3=P3^6;sbit key4=P3^7;uchar code table[]={ 0.

2022-01-30 22:20:21 847

原创 精确到0.01s的秒分计时器

#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define ul unsigned longsbit dula=P2^6;//声明锁存器U1的锁存端sbit wela=P2^7;//声明锁存器U2的锁存端sbit beep=P2^3;uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0.

2022-01-30 10:01:32 960

原创 单片机控制数码管6位10进制累加定时器

#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define ul unsigned longsbit beep=P2^3;sbit dula=P2^6;//声明锁存器U1的锁存端sbit wela=P2^7;//声明锁存器U2的锁存端uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0.

2022-01-29 18:12:47 1112

原创 有助于理解指向指针数据的指针变量的一个程序改进

有助于理解指向指针数据的指针变量的一个程序改进,原程序为谭浩强书P279例题8.28//使用指向指针数据的指针变量#include<stdio.h>int main(){ char *name[]={"Follow me","BASIC","Great Wall","FORTRAN","Computer design"}; char **p; int i,j; for(i=0;i<5;i++) { p=name+i; for(j=0;*(*p+j)

2021-08-30 15:52:48 98

原创 给出两个日期的年月日计算这两天是公元第几天,并计算这两天相差几日

#include<stdio.h>#include<math.h>#include<string.h>int main(){ int count_sum(int y,int m,int d); int jud1,jud2,judge(int y,int m,int d); int year1,month1,day1,year2,month2,day2; int sum1,sum2; int pass,passornot(char characte.

2021-08-27 14:09:41 186

原创 写一个函数输入一个十六进制数,相应地输出十进制数

#include<stdio.h>#include<string.h>#include<math.h>int main(){ void hexadecimal(char string[100]); char c,number[100]; printf("输入一个十六进制数,相应地输出十进制数\n\n"); int i; flag: label: printf("请输入一个16进制的数(输入字符只能含有0 1 2 3 4 5 6 7 8 9 A B .

2021-08-26 19:47:04 1416

原创 写一个函数,输入一行字符,将此字符串中最长的单词输出(比书后答案略微简单)

#include<stdio.h>int main(){ void choose(char s[100]); char str[100]; printf("请输入一段字符:"); gets(str); printf("\n\n"); choose(str); return 0;}void choose(char s[100]){ char c; int i,j,num=0,start=0; for(i=0,j=0;i<100;i++) { c=s[.

2021-08-24 11:00:50 5316 1

原创 用牛顿迭代法,自己实现sqrt(和abs)函数功能

#include<stdio.h>int main(){ double abs(double num); double sqrt(double numb); double x,y; printf("请输入要开方的数(必须为正数!):"); scanf("%lf",&x); while(x<=0) { printf("非法输入!请重新输入:"); scanf("%lf",&x); } y=sqrt(x); printf("\n结果为:sqr.

2021-08-20 14:15:43 176

原创 已有一个已排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中。

笨办法:#include <stdio.h>int main(){ int a[11]; int i,j,t; printf("请先输入10个整数(中间用空格间隔):\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } printf("\n"); for(i=0;i<9;i++) { for(j=i+1;j<10;j++ ) //每一遍都与当前a[i]比较

2021-08-17 20:28:08 6017 1

原创 猴子吃桃子问题(C语言)

猴子第一天摘下若干桃子,之后每天吃前一天的一半,再多吃一颗,当第十天想吃时只剩1颗,问第一天摘了多少个#include<stdio.h>int main(){ double n,m,i; for(n=1.0;;n++) { for(m=n,i=1.0;i<=9;i++) { m=0.5*m-1; } if(m==1) break; } printf("猴子第一天摘了%d个桃子!",int(0.5*n+1)); return 0; } ..

2021-08-11 13:25:22 289

原创 用C语言求两个数的最大公约数和最小公倍数

#include<stdio.h>int main(){ double m0,n0,m1,n1,temp; long m,n,x,y,i,j; printf("下面求两个正整数的最大公约数和最小公倍数\n"); printf("请输入两个正整数(中间用空格间隔):"); scanf("%lf%lf",&m0,&n0); while((m0<0||n0<0)||(m0!=int(m0))||(n0!=int(n0))) { printf("输入.

2021-08-10 17:10:53 992

原创 四个数字从大到小排列

#include<stdio.h>int main(){ double a1,a2,a3,a4,t1,t2,t3,t4,j1,j2,m1,m2,m3; printf("请输入四个数字(中间用空格隔开):"); scanf("%lf%lf%lf%lf",&a1,&a2,&a3,&a4); t1=(a1>=a2)?a1:a2; j1=t1; t2=(a1<a2)?a1:a2; j2=t2; t1=(t1>=a3)?t1:a3.

2021-08-08 14:29:39 709

原创 用C语言 将三个数从大到小排序

//三个数按从大到小顺序排列#include<stdio.h>int main(){ double a1,a2,a3,t1,t2,t3,j1,j2; printf("请输入三个数字(中间用空格隔开):"); scanf("%lf%lf%lf",&a1,&a2,&a3); t1=(a1>=a2)?a1:a2; j1=t1; t2=(a1<=a2)?a1:a2; j2=t2; t1=(t1>=a3)?t1:a3; t3=(j1&lt.

2021-08-08 00:26:50 2120

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除