自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Candance小白画反相器

(小写),可以调入元器件,点击Browse可以进行选择是哪个库下面的元器件,由于我们刚刚已经把我们自己新建的库链接到了SMIC工艺库,因此我们就选择smic工艺库下面的MOS管子就OK了。注意:cadence软件操作结束后并不会自动退出,需要手动按Esc键才可以退出,因此再进行下个操作之前一定要记得按ESC!,这个代表是电路原理图,需要的就是电路原理图,点击OK进入电路中。2. learn_fxq右键open in Terminal。,要想新建一个反相器电路,这里的type一定要选择。

2024-03-29 17:22:49 225

原创 小白跟做江科大51单片机之红外遥控

if((IR_Data[0]==~IR_Data[1]) && (IR_Data[2]==~IR_Data[3])) //数据验证。//如果计时为2250us,则接收到了数据1(判定值在12MHz晶振下为2250,在11.0592MHz晶振下为2074)IR_Data[IR_pData/8]&=~(0x01<<(IR_pData%8));//为0表示数据不重写,为1表示数据重写。//存储数据中的地址,便于调用与显示。

2024-03-10 16:21:56 1221 1

原创 c++提高部分

/创建了一个vectorPerson容器Person p1("伞兵1", 21);Person p2("伞兵2", 22);Person p3("伞兵3", 23);Person p4("伞兵4", 24);Person p5("伞兵5", 25);//将数据插入到数组中itBegin!itBegin++)

2024-03-08 16:08:01 1221

原创 c++核心编程

本阶段主要针对c++面向对象编程技术做详细讲解,探讨c++中的核心和精髓。

2024-03-08 16:07:27 1502

原创 c++_leran

数组,就是一个概念,里面存放了相同类型的数据元素特点1:数组中每个数据元素都是相同的数据类型特点2:数组是由连续的内存位置组成的一维数组定义的三种方式数据类型 数组名 [数组长度];数据类型 数组名 [数组长度]={值1,值2…};数据类型 数组名 [ ]={值1,值2…};数组特点:放在一块连续的内存空间中,数组中每个元素都是相同的数据类型。示例int main()//1.数据类型 数组名 [数组长度];

2024-03-08 16:06:24 895

原创 小白跟做江科大51单片机之AD/DA

测量X+,根据单端模式输入配置图,A2-A0可以为001,也可以为011,以001为例,故命令码为1001 1100即0x9C,以此类推在XPT2046.h下定义一下命令。

2024-03-08 15:56:46 789 4

原创 小白跟做江科大51单片机之LED呼吸灯和直流驱动电机

latency++) //保持一个状态20次。latency++) //保持一个状态20次。time--) //翻转改变亮灭时间,由亮到暗。for(time=0;time++) //改变亮灭时间,由暗到亮。//延时100-time。//延时100-time。void Delay(unsigned char i) //需要用这个延时函数,以前的延时只是1us。

2024-03-07 09:18:30 940

原创 小白跟做江科大51单片机之LCD1602滚动显示效果

/表示开始写,写命令和写数据都是WR=0。//表示开始写,写命令和写数据都是WR=0。//RS为高电平时表示发送的是数据。//RS为高电平时表示发送的是数据。#define LCD1602_lCD0 P0 //因为是并口通信,一个就行。#define LCD1602_lCD0 P0 //因为是并口通信,一个就行。

2024-03-06 17:24:37 1116

原创 小白跟做江科大51单片机之DS18B02按键控制效果

1.新建项目导入AT24C02、Key、Delay、LCD1602、DS18B02相关文件。{//如果阈值非法,则设为默认值。//显示超过阈值部分。DS18B02按键控制模块实现效果。2.编写main.c函数。

2024-03-05 22:42:23 1330

原创 小白跟做江科大51单片机之DS18B02在LCD上显示温度

/从机OneWire_DQ释放总线,如果Bite==0表示到此处释放,延时60us。//从机OneWire_DQ释放总线,如果Bite==0表示到此处释放,延时60us。//主机释放总线,0表示继续写,1此处释放,表示延时10us发送。//主机释放总线,0表示继续写,1此处释放,表示延时10us发送。#define SKIP_ROM 0xCC //跳过ROM。//延时50us,为了弥补到60us。

2024-03-05 17:51:44 1215

原创 小白跟做江科大51单片机之AT24C02数码管效果

@retval 按下按键的键码,范围:0,1~4, 0表示无按键按下。* @retval 按下按键的键码,范围:0~4,无按键按下时返回值为0。* @param Number 要显示的数字,范围:段码表索引范围。* @param Location 要显示的位置,范围:1~8。* @brief 按键驱动函数,在中断中调用,为了消抖。//按键1按下一次停止,再按还继续运行。1.导入Timer0、Key、Nixie相关内容。//按键2按下一次清0。//按键3按下内存计数。//按键4按下内存读数。

2024-03-04 20:31:06 420

原创 小白跟做江科大51单片机之AT24C02数据存储

unsigned char I2C_Receive(void) //这里不需要参数Data。#define AT24C02_ADDRESS 0xA0 //默认地址。I2C_SDA=0;//在终止之前,SDA有可能是0,有可能是1。//SCL在I2C复合的时候有可能为低电平。* @param ACK_select 应答位,0为应答,1为非应答。//低电平不允许读取,所以要为1。//SDA就是应答位。//SDA要换为低电平。//SCL要换为低电平。//K3按键,向AT24C02写入数据。

2024-03-04 18:43:52 986

原创 小白跟做江科大51单片机之蜂鸣器播放音乐

/音符与索引对应表,P:休止符,L:低音,M:中音,H:高音,下划线:升半音符号#//乐谱,必须使用code,RAM最大128字节。1.引入Delay及Timer0相关文件。0xFF //终止标志。2.编写main.c代码。//此数组是取到全部的音。//产生500HZ的频率。//1ms会有一次中断。

2024-03-01 14:40:37 657

原创 小白跟做江科大51单片机之按键控制蜂鸣器

/按下键之后,这段代码会让蜂鸣器以200HZ的频率响500ms。//循环一次Delay(1);1ms,500次就是500ms。* @retval 按下按键的键码,范围:0~4,无按键按下时返回值为0。#include "Delay.h" //包含Delay头文件。switch(Location) //位码输出。//如果没有这个for,只会响一声就断。* @brief 获取独立按键键码。这里标错了,应该是P2_5的端口。//默认数码管显示为0。//数码管显示子函数。

2024-03-01 11:14:30 483

原创 小白跟做江科大51单片机之DS1302按键可调时钟

/此时可以更改时间,但是不能设定更改后的时候,以及不能修改时间的时候闪烁。//此函数捕捉按键并暂停,可以修改时间,但不可设定修改后的日期时间。//待写设定修改后的新日期的代码。TL0 = 0x18;//捕捉按键并暂停,可以修改时间,但不可设定修改后的日期时间。//设定修改后的新日期。if(keynum == 2)//按键2按下。if(keynum == 3)//按键3按下。if(keynum == 2)//按键2按下。if(keynum == 3)//按键3按下。

2024-02-29 17:36:21 1347

原创 小白跟做江科大51单片机之DS1302可调时钟

/这里第一次运行就相当于Data已经拿到了第0位数据,只是在存入Data。//这里第一次运行就相当于Data已经拿到了第0位数据,只是在存入Data。//这里要把IO口置位0,清空IO缓存,否则输出数字会闪烁不定。//读取秒时0x81,可看图3。//刚开始单片机上电,所有端口默认为1,所以需要调0。//刚开始单片机上电,所有端口默认为1,所以需要调0。

2024-02-29 14:10:09 1573 1

原创 小白跟做江科大51单片机之LED点阵屏动态效果

/把每页内容接替显示出来。//收到数据,并写入栈,实现以寄存器控制LED点阵屏显示,这里控制的是D7-D0,也就是行数据。//LED点阵屏的列直接接在IO口上,通过P0口直接输入,行通过74HC595来进行数据输入。//一开始SERCLK为0,这里置为1,就产生了上升沿。* @param Data 选择列显示的数据,高位在上,1为亮,0为灭。i++) //i控制行数。//实际等于P3_4。//实际等于P3_5。//实际等于P3_6。

2024-02-28 16:39:14 490

原创 小白跟做江科大51单片机之LED点阵屏

④.如果还级联其他的片,那么第一个压入的数据会通过 QH‘ 移动到另一个栈中,之后的数据会压入左边第一个栈,这样持续下去。//收到数据,并写入栈,实现以寄存器控制LED点阵屏显示,这里控制的是D7-D0,也就是行数据。//LED点阵屏的列直接接在IO口上,通过P0口直接输入,行通过74HC595来进行数据输入。//一开始SERCLK为0,这里置为1,就产生了上升沿。//实际等于P3_4。//因为库函数没有定义好这几个寄存器,所以需要我们自己定义。//实际等于P3_5。//实际等于P3_6。

2024-02-28 15:24:55 938

原创 小白跟做江科大51单片机之电脑通过串口控制LED

/波特率加倍,不加倍时钟会变慢,会对之后的结果形成较大的误差。//TI为1时,说明产生了发送中断,表示发送数据完成。//设定定时器1为8位自动重装方式。if(RI==1) //RI为1时,说明产生了接收中断,表示接收数据完成。//清除定时器1模式位。TH1 = 0xF3;//设定定时器重装值。TL1 = 0xF3;//禁止定时器1中断。//将Byte写入SBUF中。//数据发送完了,软件将TI置0。3.编写main.c代码。

2024-02-27 17:46:28 395

原创 小白跟做江科大51单片机之串口通信

因为定时器1是8位计数,8位最高为256,即累加到256溢出一次,0XF3=243,256-243=13,即每隔13us溢出一次,溢出率为1/13us=0.07692MHZ。单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。//SCON选择的是使用定时器1,这里的TMOD|= 0x20表示设定定时器1为8位自动重装方式,看图11。//TI为1时,说明产生了发送中断,表示发送数据完成。//数据发送完了,软件将TI置0。

2024-02-27 17:05:56 928

原创 小白跟做江科大51单片机之基于定时器的按键控制LED流水灯

图3表示SYSclk的工作原理:因为ST89C52开发板上的晶振为12MHZ,所以系统会产生脉冲,慢慢达到12M,达到12MHZ之后经过上面的12兆分频的话,就是1兆赫兹,1兆赫兹1个周期就是1us。定时器工作原理:如图4所示左边的计数系统会发送给定时器脉冲,计数器每隔一个脉冲就会加1,但因为是之前选择定时器工作模式是模式1,所以定时器只能接受到65535,到了65535就会溢出,TF0置于1,计数器归0,产生中断。//定时器0开始计时。TR表示定时器是否开始,TR=1表示开启,TR=0表示中断。

2024-02-27 07:33:51 959

原创 小白跟做江科大51单片机之矩阵键盘锁

if(keynum) //判断输入,必须得加。2.编写新项目的main.c函数。1.复制矩阵键盘的代码。

2024-02-26 13:48:44 335

原创 小白跟做江科大51单片机之矩阵键盘

首先把P1口全置为1,然后如果想读取一列,就把哪个口设置为0,之后再检测P1_7到P1_4这几个口的状态,因为默认按键状态为1,所以按键按下为0。把之前的延时代码.c和延时代码.h以及LCD1602.c和LCD1602.h复制到本项目中来;1.看电路板的原理图。2.确定如何读取数据。

2024-02-26 09:25:19 350

原创 小白跟做江科大51单片机之LCD显示屏

1.导入老师所写的LCD1602.c和LCD1602.h文件。2.导入Delay.c和Delay.h文件。LCD在使用之前要初始化一次。3.编写main.c代码。LCD显示屏两行16列。

2024-02-25 21:10:41 329

原创 小白跟做江科大51单片机之模块化编码

1..c文件存放函数、变量的定义,.h文件存放可被外部调用的函数、变量的声明,在同一个.c文件中,任何自定义的变量、函数在调用前必须有定义或者声明。2.预编译:c语言在编译之前,对代码做的一些预处理。//注意不一样的.h文件,避免重复声明这里不一样。5.编写display.c文件。6.编写display.h文件。这段代码是为了防止重复声明。3.编写Delay.c文件。4.编写Delay.h文件。7.编写main.c文件。每个.h文件是不一样的。

2024-02-25 20:02:35 369

原创 小白跟做江科大51单片机之动态数码管显示

2.明确清影——数码管会有清影现象,就是位选 段选 位选 段选……职中,段选和位选会有数据串位的现象出现。//P0=0是为了消除段选和位选之间的数据串位,把P0清0。3.利用代码消除清影。

2024-02-25 17:10:52 325

原创 小白跟做江科大51单片机之静态数码管显示

2.查看购买的51单片机数码管工作原理图,我所购的51单片机为共阴极连接,74HC245为双向数据缓冲器,dir高电平表示输出数据到LED,dir低表示从LED读数据。1.了解单个数码管,两种接法,第一种是共阴极,第二种是共阳极。共阴极的时候,eg想让LED7亮,底端为1(表示阳极通),上端3或8给0(表示阴极通)。用138调码器选择哪个灯亮,选择P2口;选择P0口输出什么数据。

2024-02-25 16:25:04 359

原创 小白跟做江科大51单片机独立按键控制LED移位

3.实现效果为按K1键右移LED灯闪烁,按K2键左移LED灯闪烁。1.首先明确P2默认是全为1的,利用keil5编写代码。

2024-02-25 14:40:24 293

原创 小白跟做江科大51单片机之独立按键控制LED显示二进制

1.在keil5中编写代码。2.在STCz中烧录代码。

2024-02-25 11:32:07 343

原创 小白跟做江科大51单片机之独立按键控制LED灯的状态

4.stc烧录即可实现,按下按键开关K1之后01灯常亮,再按一下K1熄灭01灯。//上面这三条语句是为了消除抖动对开关造成的影响。//P3_1按下为1,不按为0。

2024-02-25 10:52:50 343

原创 小白跟做江科大51单片机之独立控制LED亮灭

/P2_0表示只操作第一个LED灯亮。//P3_1//因为按键与P31相连,所以是P3_1。//P3_1==0表示按下状态,P3_1==1表示无状态。1.查看单片机原理图按键与哪个相连。

2024-02-25 10:29:27 336

原创 小白跟做江科大51单片机之流水灯记录

/复制刚刚在stc中生成的延时代码,unsigned int xms这个参数是为了灵活更改时间,不用再去stc生成代码。2.在keil5中编写代码,数据类型如图所示。1.在stc中生成代码。对照转换表,编写代码。3.stc中烧录代码。LED流水灯最终效果。

2024-02-25 10:13:56 416

原创 小白跟做江科大51单片机之LED灯的亮灭

include //为了引进nop那个函数。1.新建项目的时候要自己输入名称。4.延时代码需要去stc生成。3.新建好之后,添加c文件。2.最后选择的时候要选择。

2024-02-25 08:13:35 344

原创 小白跟做江科大51单片机之点第一个LED灯

/0101 0100 因为P2直接和LED相连。//P2有8个口,因为低电平亮,所以表示一个亮挨着的那个不亮。keil5新建项目,项目名称写project1。下载编程的时候要按一下开关,就烧录进去了。3.编译之前先选择第二个,生成hex文件。2.keil5编写代码。

2024-02-25 08:08:43 317

原创 vs2022在Windows10下中文乱码的解决办法

解决乱码

2023-08-12 11:34:25 900 2

空空如也

空空如也

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

TA关注的人

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