- 博客(40)
- 收藏
- 关注
原创 ESP32使用MCP4725数模转换器,使用Arduino实现
MCP4725是一款12位的,能够输出1-5V指定电压的DAC芯片,通信方式是使用IIC通信。
2023-04-13 17:56:34
1076
原创 51单片机对未接电容的按键判断
#include <main.h>#include <key.h>/* mode = 0; 单次 mode = 1;连续*/int Key_Scan(bit mode){ static int up_flag = 1; if (mode) up_flag = 1; if (up_flag && (sw0 == 0 || sw1 == 0 || sw2 == 0)) { up_f...
2021-11-25 23:36:15
269
原创 51单片机实现蜂鸣器播放天空之城
#include <REGX52.H>#include "Delay.h"#include "Timer0.h"//蜂鸣器端口定义sbit Buzzer=P1^5;//播放速度,值为四分音符的时长(ms)#define SPEED 500//音符与索引对应表,P:休止符,L:低音,M:中音,H:高音,下划线:升半音符号##define P 0#define L1 1#define L1_ 2#define L2 3#define L2_ 4#define L3 .
2021-11-25 23:32:00
7260
原创 51单片机实现寄存器PWM的呼吸灯
直接上代码。void timeInte0() interrupt 1{ pwm_count++; huxideng++; if(pwm_count==pwm_value) led=0x00;//open if(pwm_count==99) { led=0xff;//close pwm_count=0; } if(huxideng==600&&flag==0) { huxideng=0; pwm_value++;//Ôö¼ÓÕ¼¿Õ±Èʱ¼ä
2021-11-25 23:28:21
689
原创 51单片机配置最基本的定时器
基本都会用到的,STP--ISP那个端口配置不全,建议用小精灵。#include <STC15F2K60S2.H>void Timer0_Init(){ TMOD=TMOD&0xF0;//KEEP low 4 lines to be 0;let high 4 lines to be 1; TMOD=TMOD|0X01;//TOO; TF0=0; TR0=1; TH0=64535/256; TL0=64535%256; ET0=1; EA=1; PT0=0;
2021-11-25 23:26:39
431
原创 4位共阴极数码管驱动
这个是考核时候做的,期间做了消隐,感受良多,现在分享给大家看看。#include <STC15F2K60S2.H>#include <Digital595.h>#include <Delay.h>sbit s0 = P3^7;sbit s1 = P1^4;sbit s2 = P1^1;sbit s3 = P1^0;unsigned char NixieTable[]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x
2021-11-25 23:24:10
1973
原创 51单片机调用74HC595的驱动函数
一开始找了很久才找到,后面懂原理后就自己写了,这个写得比我自己写的好。#include <STC15F2K60S2.H>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit ds=P3^6;sbit sh=P3^2;sbit st=P3^3;void LED595(uchar dat){ uchar i; st=0; for(i=0;i<8;i++)
2021-11-25 23:21:37
624
原创 51单片机实现蜂鸣器播放小星星
在中断的时候降了一个调,一开始没发现后面也懒得改了。unsigned int code FreqTable[]= { 63628,63731,63835,63928,64021,64103,64185,64260,64331,64400,64463,64528,//1 64580,64633,64684,64732,64777,64820,64860,64898,64934,64968,65000,65030, 65058,65085,65110,65134,65157,65178,65198
2021-11-25 23:19:30
7964
2
原创 芯梦启航五种流水灯模式
包括流水灯呼吸灯灯功能实现。void Delay1(unsigned int t){ while(t--);}unsigned char Time,i;int j=0,l=0,m=0,n=0;void main(){ P2=0x80; Delay(500); P2=0x40; Delay(500); P2=0x20; Delay(500);...
2021-11-25 23:17:01
959
原创 求字符串数组前n个字符串中值最大的字符串
任务描述本关任务: 键盘输入M(M>1)个字符串,找出字符串数组前n(n<=M)个字符串中值最大的字符串。相关知识为了完成本关任务,你需要掌握: 1.多个字符串的存储; 2.二维字符数组; 3.字符串处理函数gets,strlen,puts,scanf,printf等; 4.函数的返回值是指针; 5.函数参数是指针; 6.字符串大小的判断。编程要求1.撰写函数char * maxstring(char string[M][N],int n),完成对M个字符串中前n个字符串找出
2021-11-20 15:24:45
1008
原创 输入两个已经按照升序排列好的字符串,将两个字符串合并成一个字符串,新字符串中的字符仍然按照升序排列。
任务描述本关任务: 输入两个已经按照升序排列好的字符串,将两个字符串合并成一个字符串,新字符串中的字符仍然按照升序排列。相关知识为了完成本关任务,你需要掌握: 1.字符串的存储; 2.一维字符数组; 3.字符串处理函数gets,strlen,puts等; 4.数字的ASCII码值; 5.字符串结束标志‘\0’; 6.有序字符串重组的算法。编程要求1.撰写函数void resort(...,...,...,),完成对两个排好序的字符串的重组; 2.编写主函数,实现: (1)键盘接收有序字符
2021-11-19 03:56:49
2569
2
原创 输入一个字符串,只保留其中的数字字符,其他字符都去掉
任务描述本关任务: 输入一个字符串,只保留其中的数字字符,其他字符都删除,输出处理之后的字符串及长度。相关知识为了完成本关任务,你需要掌握: 1.字符串的存储; 2.一维字符数组; 3.字符串处理函数gets,strlen,puts等; 4.数字的ASCII码值; 5.字符串结束标志‘\0’。测试说明平台会对你编写的代码进行测试: 输入: hello 12345 输出: 只保留数字后的字符串"12345"的长度为5。#include<stdio.h>#include&
2021-11-18 17:59:14
7351
原创 按照字符串长度大小进行升序排列
任务描述本关任务: 输入N个字符串,编写程序将它们按照字符串长度大小进行升序排列。相关知识为了完成本关任务,你需要掌握: 1.指针数组的使用, 2.冒泡或者选择排序算法。编程要求根据提示,在编辑器补充代码,完成本关功能。测试说明平台会对你编写的代码进行测试: 若输入的5个字符串为: 123a 1 a abc123 1b2c3 输出结果为: 按照字符串长度大小进行升序排列为: 1 a 123a 1b2c3 abc123#include<stdio.h>#incl
2021-11-17 18:29:55
2201
2
原创 判断字符串是否为回文形式
任务描述本关任务: 编程实现字符串是否回文的判断。相关知识为了完成本关任务,你需要掌握: 1.字符串回文的含义, 2.字符串函数:strlen,gets和puts的用法。编程要求1.编写函数int IsPalin(char *string),对字符串string是否回文进行判断,是回文,返回标志flag为1,不是回文,返回标志flag为0。 2.编写主函数,实现: (1)从键盘输入任意字符串; (2)调用函数进行回文的判断; (3)根据提示,在编辑器补充代码,完成本关功能。测试说明
2021-11-17 15:35:06
1667
原创 C语言程序设计周信东实验六
【基础题】:Ex8-1请在下面分别插入改正错误后的源程序代码及运行成功时的画面:源程序代码:#include<stdio.h>void main(){int j,k,a[12],*p;p=a;for(j=0;j<12;j++)scanf("%d",p++);p=a;for(j=1;j<=12;j++){printf("%d ",*p++);if(j%4==0)printf("\n");}}【增强题】:Eh8-1请在下.
2021-11-17 00:31:44
2071
1
原创 实现字符串的倒置
任务描述本关任务: 编程实现字符串的倒置,如输入字符串为:"ABCDEF",倒置为"EFDCBA"。相关知识为了完成本关任务,你需要掌握: 1.字符串倒置的算法, 2.字符串函数:strlen,gets和puts的用法。编程要求1.从键盘输入任意字符串; 2.根据提示,在编辑器补充代码,完成字符串的倒置。测试说明平台会对你编写的代码进行测试:输入:ABCDEFG 输出:GFEDCBA...
2021-11-17 00:22:21
2560
1
原创 统计字符串中数字字符、英文字符、空格符的个数
任务描述本关任务: 从键盘输入一个字符串,分别统计其中有多少个数字字符、英文字符、空格符。相关知识为了完成本关任务,你需要掌握: 1.键盘获取字符串的方法; 2.一维字符数组存储一个字符串; 3.ASCII表,其中数字字符、英文字符、空格符对应的ASCII值范围。键盘获取字符串的方法1.定义一维数组str[100]; 2.gets(str);数字字符、英文字符、空格符对应的ASCII值范围ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字
2021-11-16 23:13:22
2901
原创 转载
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《任务描述 用指向指针的指针的方法对n个整数排序并输出。》, 一起来围观吧 https://blog.csdn.net/m0_61010200/article/details/121131981?utm_source=app&app_version=4.15.2...
2021-11-14 10:06:30
307
原创 转载
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《任务描述指针和函数实现:对n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前面的m个数。》, 一起来围观吧 https://blog.csdn.net/m0_61010200/article/details/121132009?utm_source=app&app_version=4.15.2...
2021-11-14 10:04:42
324
1
原创 指针实现写一个函数,将一个3×3的整数矩阵转置
任务描述本关任务: 指针实现写一个函数,将一个3×3的整数矩阵转置。相关知识为了完成本关任务,你需要掌握: 1.矩阵的转置算法; 2.二维数组的定义; 3.二维数组的指针; 4.函数的定义、调用及参数传递。矩阵的转置算法见第5章编程习题4二维数组的定义见教材二维数组的指针见教材函数的定义、调用及参数传递见教材编程要求1.编写函数move(int *point),其中形参指针point指向二维数组a[0][0],实现二维数组的转置; 2.编写主函数,完成:
2021-11-11 23:07:03
12310
原创 指针实现从键盘输入3个整数,按从小到大的顺序输出
本关任务: 从键盘输入任意3个整数给a,b,c变量,用算法实现按从小到大的顺序存在变量a,b,c中,然后输出(指针实现)。相关知识为了完成本关任务,你需要掌握: 1.指针变量的定义、初始化和引用; 2.指针变量做函数参数; 3.交换的算法; 4.实参和形参之间的参数传递方式。指针变量的定义和初始化指针变量的一般定义形式如下: 类型说明符 *指针变量名; 其中,“类型说明符”表示本指针变量所指向的变量的数据类型,“指针变量名”即为定义的指针变量名标识符。 例如有定义“int *p1;”,表示p
2021-11-11 22:20:20
6930
原创 C语言程序设计周信东实验七答案
Ex7-2请在下面分别插入改正错误后的源程序代码及运行成功时的画面:源程序代码:#include<stdio.h>int Checkss(int m){int i;for(i=2;i<m;i++){if(m%i==0)return 0;}return 1;}main(){int i,sum=0;for(i=2;i<=51;i++){if(Checkss(i))sum+=i;s=1;}printf("T.
2021-11-07 20:53:07
3136
3
原创 打印“螺旋方阵“
任务描述本关任务: 编程打印螺旋方阵,输出形式为n×n(n<10),如5×5螺旋方阵如下:相关知识为了完成本关任务,你需要掌握: 1.螺旋方阵的含义; 2.螺旋方阵排列规律。螺旋方阵的含义螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环。螺旋方阵排列规律根据规律可以看出,每一层都是按照右->下->左->上的顺序进行递增,因此,只要找出每一层的第一个数即可,第一个数值为上一层的第一个数+4*n-4
2021-11-04 18:19:55
1280
2
原创 通过循环按行顺序将一个6×6的二维数组a输入1到36的自然数,然后输出左半下角的值
任务描述本关任务: 通过循环按行顺序将一个6×6的二维数组a输入1到36的自然数,然后输出该二维数组的左下半三角的值。相关知识为了完成本关任务,你需要掌握: 1.二维数组的定义和初始化; 2.二维数组元素的引用; 3.二维数组左下半三角的引用规律。编程要求按提升补齐代码,实现本关功能。测试说明平台会对你编写的代码进行测试:6*6矩阵为:1 2 3 4 5 67 8 9 10 11 1213 14 15 16 17 1819 20 21 22 23 2425
2021-10-27 23:19:59
2394
原创 将数组“int a[2][3]={{1,2,3},{4,5,6}};” 的行和列的元素互换
任务描述本关任务: 将数组“int a[2][3]={{1,2,3},{4,5,6}};” 的行和列的元素互换后,存入到另一个二维数组b中。相关知识为了完成本关任务,你需要掌握: 1.二维数组的定义、初始化和引用; 2.二维矩阵元素的互换; 3.二维数组元素的遍历。二维数组的定义、初始化和引用(见第1关)二维矩阵元素的互换找到二维矩阵元素下标的规律,实现互换。二维数组元素的遍历遍历数组就是:把数组中的元素都看一遍。示例如下: for (i=0;i<=2;i++) /
2021-10-27 22:00:05
4857
4
原创 求一个3×3的整数矩阵对角线之和
题目如下白嫖的排好队,一个一个来。作者那么肝就不能给个赞吗?任务描述本关任务:求一个3×3的整数矩阵对角线之和,如对如下矩阵:1 2 34 5 67 8 9对角线元素之和为: 1+5+9+3+5+7=30相关知识为了完成本关任务,你需要掌握: 1.二维数组的定义; 2.二维数组的初始化; 3.二维数组元素的访问; 4.二维数组求对角线元素之和。二维数组的定义二维数组定义的语句格式如下: 类型名 数组名[常量表达式1][常量表达式2];(1)数组名代表这个数..
2021-10-27 21:07:34
12427
1
原创 折半查找法在有序数值中寻找某数
任务描述本关任务: 假设有若干个由大到小排序的数已经顺序存放在一个数组中,现输入一个数x,请用折半查找法找出该数是数组中哪个元素的值。找到则输出数组元素的下标值;若该数不在数组中,则输出“无此数”的提示。相关知识为了完成本关任务,你需要掌握:折半查找算法折半查找算法折半查找法是效率较高的一种查找方法。其基本思想是:设查找数据的范围下限为l=1,上限为h=5,求中点m=(l+h)/2,用X与中点元素am比较,若X等于am,即找到,停止查找;否则,若X大于am,替换下限l=m+1,到下半
2021-10-26 23:46:22
3338
原创 第1关:编程实现:在一个有序的数组中插入一个新的数,使得有序性不变
任务描述本关任务:编程实现:在一个有序的数组中插入一个新的数,使得数组的有序性不变。相关知识为了完成本关任务,你需要掌握: 1.如何定义和初始化一个有序数组; 2.如何在有序数组中插入一个新的数,数组依旧有序; 3.如何遍历数组。一维数组的定义一维数组定义的一般形式: 类型名 数组名[常量表达式]; 例如: int x[6]; 它表示定义了一个整型的一维数组,数组名为x,包含有6个元素,分别是x[0]、x[1]、x[2]、x[3]、x[4]、x[5],每个元素都可以用来存放一个整数,并且
2021-10-25 23:18:58
3853
原创 编写一个子函数,能将主函数输入的任何整数的质数因子
编程要求1.定义函数void prime_factors(int n),打印整数n的所有素数因子。 2.定义主函数,实现: (1)输入整数n; (2)调用prime_factors函数。测试说明平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。 样例输入: 输入:6 输出:2*3若: 输入:8输出:2*2*2#include"stdio.h"#include"math.h"void prime_factors(int n){ int i; while
2021-10-23 22:22:45
1511
原创 定义一个函数int dtake(int n,int m),能够完成求整数的替换
编程要求1.定义函数int dtake(int n,int m),求整数n的从右数第m个字符。2.定义主函数,实现: (1)输入整数n; (2)输入m的值; (3)调用dtake函数; (4)输出调用结果。测试说明平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。 样例输入: 12345 1 5开始你的任务吧,祝你成功!#include<stdio.h>#include<math.h>int k=0;int dtake(int n,int m)
2021-10-23 17:38:46
1986
1
原创 一些常用的软件
分享一些常用软件不定时更新PR—2019 pro版复制这段内容后打开百度网盘App,操作更方便哦。 链接:https://pan.baidu.com/s/1-0Y7HcHdhy5A3DULITWafQ提取码:pblx
2021-10-21 14:29:25
185
原创 拆位与组合
题目如下:任务1描述本关任务: 给定程序中,从键盘输入n的值, n各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数。相关知识为了完成本关任务,你需要掌握: 1.拆分一个数的各位(综合应用整除(/)和求余(%)运算); 2.按顺序合并一个数。编程要求根据提示,在右侧编辑器补充代码,实现本关功能。测试说明平台会对你编写的代码进行测试: 请按从键盘输入一个多位数,例如:输入一个数:27638496 程序运行结果为:The result is: 739
2021-10-19 13:06:18
426
原创 定义一个函数 char dtake(char str[],int m),求str串从右开始数的第m个字符
题目如下:编程要求1.定义函数char dtake(char str[],int m),求串str的从右数第m个字符。2.定义主函数,实现:(1)输入串str;(2)输入m的值;(3)调用dtake函数;(4)输出调用结果。测试说明平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。 样例输入: 12345 1 The value of the 1th character from the right of 12345 is 5#include <std
2021-10-13 23:54:41
2106
5
原创 电文加密---通过C语言实现
题目是这样的:著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯”,密码学是信息安全等相关议题,如认证、访问控制的核心。密码学已被应用在日常生活:包括 自动柜员机的芯片卡、电脑使用者存取密码、 电子商务等等。 在通信过程中,待加密的信息称为明文,已被加密的信息称为密文,仅有收、发双方知道的信息称为密钥。在密钥控制下,由明文变到密文的过程叫加密,其逆过程叫脱密或解密。 由于古时多数人并不识字,最早的秘密书写的形式只用到纸笔或等同物品,随着识字率提高,就开始需要真正的密码学了
2021-10-05 23:50:51
6706
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人