![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MCS51
GEEK.攻城狮
这个作者很懒,什么都没留下…
展开
-
【ChatGPT】使用ChatGPT进行51单片机程序编程体验
这篇文章是关于使用ChatGPT进行51单片机编程的。它介绍了51单片机的概述和特点,并以流水灯程序、串口初始化代码和数码管显示数字为例详细讲解了使用ChatGPT进行51单片机编程的具体步骤和方法。最后,该文章总结了使用ChatGPT进行51单片机辅助编程的优点和作用。原创 2023-02-11 22:07:10 · 14119 阅读 · 5 评论 -
【51】使用51单片机和数码管生成10以内加法及两组数据判断大小
最近小孩练习10以内加法运算,正好手上有块51开发板,写个程序自动生成题目会不会好一些呢。开发板就是下面图这个程序分成两部分1、上电直接运行,是10以内加法,使用两个数码管分别显示两个数字2、按住KEY1键上电,是两组加法判断,分别用第一个、第三个为第一组数据,第6个和第八个为第二组。程序上用了一个比较懒的方法,第一个数跟10取余,第二个数为了防止加起来大于十,直接对11减去第一个数去余数。按键及显示部分原理图程序#include "reg51.h"#define SEG_POART原创 2021-10-23 20:32:29 · 1206 阅读 · 0 评论 -
Keil C51与Proteus进行51单片机程序联调
下载VDM51.dll,复制到proteus安装目录的MODELS文件夹下,例如:C:\Program Files\Labcenter Electronics\Proteus 7Professional\MODELS\目录下,再复制一个到C:\keilC\C51\BIN目录下(keil的安装目录)点击KEIL的DEBUG按钮,如果出现下面文字,说明连接成功。现在可以进行程序调试。...原创 2021-09-16 08:53:39 · 852 阅读 · 0 评论 -
单片机程序跑飞死机的几种原因
在使用单片机过程中,经常会出现程序运行一段时间后,不能够正常相应的情况。一般分为软件原因和硬件原因,其中硬件原因比较容易查,软件原因就较为复杂。软件导致单片机死机的原因1、指针异常指针未初始化或者野指针导致正常数据被篡改。如果程序区被修改,会导致程序直接跑飞;如果数据区被修改,会导致数据异常引起程序运行错误。2、缓冲区溢出实际接受的数据超过了缓冲区长度,导致后续正常数据被篡改。或者操作数组的时候下标溢出3、等待标志位没有增加超时判断,正常情况下很快就能出来,但实际运行时标志位一直满足whil原创 2021-06-01 20:19:50 · 9997 阅读 · 5 评论 -
【C51】STC单片机使用Keil 4编程配置
Keil4使用STC单片机编程一、添加头文件1、打开STC-ISP下载软件,选择Keil仿真设置2、点击”添加型号和头文件到keil中“3、选择keil4的安装路径,路径不清楚可以右键选择keil4的图标查看属性4、出现“STC MCU型号添加”成功对话框,则表示添加成功。5、重新打开“keil 4”编程软件6、打开配置对话框,在“device”选项卡中,选择“database”,选中“STC MCU Database”后,可以在左下方看到STC的单片机型号。...原创 2021-01-26 11:39:41 · 3010 阅读 · 1 评论 -
【PROTEUS】AT89C51实现矩阵键盘按键数码管显示
原理图及运行效果实现依次按下四个按键,依次显示键值源代码#include "reg51.h"//CK//unsigned char code seg[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};//CAunsigned char code seg...原创 2020-05-04 18:12:14 · 6989 阅读 · 1 评论 -
【PROTEUS仿真】AT89C51实现PCF8591的AD采样及DA输出
原理图及运行演示源代码#include<reg52.h>#include <stdio.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit I2C_SCL=P1^7; //I2C时钟引脚...原创 2020-05-04 18:08:15 · 6604 阅读 · 7 评论 -
【PROTEUS仿真】使用AT89C51控制AD0809进行采样并显示
原理图及运行效果源程序#include <reg52.h> //头文件#define uchar unsigned char //宏定义无符号字符型#define uint unsigned int //宏定义无符号整型code uchar seg7code[10]= { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0...原创 2020-05-04 18:05:00 · 6717 阅读 · 3 评论 -
【PROTEUS仿真】AT89C51实现24H时钟功能
原理图及运行效果源代码#include "reg51.h"#define TT 50000 //time=20*TT/1000 50000=1sunsigned char code seg[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00...原创 2020-05-04 18:01:42 · 4353 阅读 · 1 评论 -
【PROTEUS仿真】AT89C51实现简单贪吃蛇程序
原理图源程序#include <reg51.h>#define uchar unsigned char#define SNAKE 20 //最大长长度#define TIME 50 //显示延时时间#define SPEED 71 //速度控制sbit Left=P3^4; ...原创 2020-05-04 17:56:29 · 4334 阅读 · 20 评论 -
【PROTEUS】使用PROTEUS与电脑串口调试助手进行通讯
新增虚拟串口对使用虚拟串口软件,虚拟一对虚拟串口,如COM1–COM2PORTEUS中增加串口控件COMPIM在PROTEUS中增加一个串口控件,MCU使用AT89C51RD2绘制原理图原理图中仅包含了一个AT89C51和一个串口控件设置串口控件属性这里我们设置的属性要跟MCU的属性、串口调试助手的属性一致。这儿我们都设置为"9600,N,8,1"编写MCU发送程序/*...原创 2020-04-30 21:44:29 · 21532 阅读 · 24 评论 -
PROTEUS编译C51程序报L121错误的解决方法
环境Proteus 6.7错误信息***ERROR L121:IMPROPER FIXUP MODULE:MAIN.OBJ(MIAN) SEGMENT:ABSOLUTE OFFSET:0023H解决方案将ROM改为LARGE原创 2020-04-27 15:34:00 · 5983 阅读 · 6 评论 -
PROTEUS调试ADC0809数据异常问题
环境:Proteus 8.7使用proteus读取ADC0809数据时,数据会跳变,大小变化也不一致。查了程序,时序没有问题。最终发现是数据口接反了,数据口在手册中的定义为:21号脚为MSB,需要接到GPIO的高位引脚上。调整引脚后,读取数据就变为正常了。贴上原理图和源代码。程序代码(PROTEUS 6.7调试通过)#include <re...原创 2020-04-26 20:22:00 · 3976 阅读 · 3 评论