单片机
CPanMirai
生活中我们总要不断做选择,每一次选择,就意味着要放弃另外的一些可能。不要因为错过的那些可能性而遗憾,认准了眼前这一条路,那就全力以赴。对得起每一次选择,就是对自己的人生负责。
展开
-
舍友仅仅打了一把游戏,我就学会了双机通信(流水灯)
一、电路图二、代码甲机#include<reg51.h>void main(){ TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TL1 = 0xfd; TR1 = 1; while(1){ SBUF = P1; while(TI == 0); TI = 0; }}乙机#include<reg51.h>unsigned char zt;unsigned char n = 8;void delay(){原创 2022-01-04 19:05:35 · 2319 阅读 · 1 评论 -
舍友仅仅打了一把游戏,我就学会了串口通信(实现加法及减法)
一、电路图二、代码// 实现加法#include "reg51.h"#include <absacc.h>#define pa XBYTE[0x0] // 000* **** 0x0000#define pb XBYTE[0x2000] //0010 0x2000#define pc XBYTE[0x4000] //0100 0x4000#define con XBYTE[0x6000] //0110 0x6000unsigned char n,原创 2022-01-04 17:33:26 · 2551 阅读 · 0 评论 -
舍友仅仅打了一把游戏,我就学会了串口通信(高级红绿灯)
一、电路图二、代码在这里插入代码片原创 2022-01-03 07:55:35 · 2019 阅读 · 0 评论 -
舍友仅仅打了一把游戏,我就学会了如何学会了8255
一、电路图二、代码#include "reg51.h"#include "absacc.h"#define pa XBYTE[0x0000] //8255A口地址设置#define pb XBYTE[0x0100] //8255B口地址设置#define pc XBYTE[0x0200] //8255C口地址设置#define con XBYTE[0x0300] //8255控制字端口地址设置sbit p3_4 = P3^4; unsigned char t=0x0, n;void原创 2022-01-02 17:35:36 · 518 阅读 · 0 评论 -
舍友仅仅打了一把游戏,我就学会了如何实现用中断控制数码管各位的显示
一、电路图点击下载:二、代码#include<reg51.h> // 引入头文件unsigned int right,left,temp; // 定义个位,十位,中间转换变量,个位保存的变量void main(){ P2 = 0x00; // 初始化 EA = 1; // 总中断 EX0 = 1; // 外部中断0 IT0 = 1; // 触发方式 下降沿 EX1 = 1; // 外部中断1 IT1 = 1; // 触发方式 下降沿 while(1);}//原创 2021-12-31 12:02:19 · 1135 阅读 · 2 评论 -
舍友仅仅打了一把游戏,我就学会了如何实现抢答器
一、电路图:点击下载二、代码2.1、基础版#include<reg51.h>sbit P3_0 = P3^0; // 检测p3.0这一位sbit P0_0 = P0^0; // 检测p0.0这一位sbit P0_1 = P0^1; // 检测p0.1这一位unsigned int flag = 1; // 通过flag变量实现抢答效果void main(){ P0_0 = 0; // 给P0.0口赋值为0 也就是低电平 不亮 while(1){ while(flag)原创 2021-12-30 17:17:52 · 586 阅读 · 0 评论 -
舍友仅仅打了一把游戏,我就学会了如何实现双机通信
一、电路图:点击下载二、实现效果:想要通过按键检测是那一个按下,然后把甲机的数据通过SBUF进行发送到乙机,然后乙机接受到,就完成其对应的显示,完成的功能就是抢答器,只不过是通过串行发送。三、代码:甲机// 甲机#include<reg51.h>int flag = 0 ; // 实现让它们重新开始抢答void main(){ //interrupt 0 EA = 1 ; IT0 = 1; EX0 = 1; //interrupt 2 IT1 = 1; E原创 2021-12-30 12:16:23 · 368 阅读 · 0 评论 -
单片机入门(利用中断控制流水灯的走向)--适合初学者
电路图点击下载(下载时可能会提醒不安全,其实没事,本博主是放在自己服务器上面)代码#include<reg51.h>// 延时函数void delay(unsigned time){ unsigned i , j; for(i = 0 ;i< time;i++) for(j = 0;j < time ;j++);}// 主函数void main(){ // 总中断 EA = 1; // 设置下降沿触发,还是上升沿触发,1的话就是上升沿触发 IT0原创 2021-12-29 08:57:06 · 3433 阅读 · 3 评论 -
单片机入门(交通灯)--适合初学者
电路图点击下载(下载时可能会提醒不安全,其实没事,本博主是放在自己服务器上面)这个的话,它左边是高电平,右边是因为接地,一边是高低平,一边是低电平,所以会亮,左边为0,灯就不会亮啦,刚开始学的时候,可以记住为0就不亮,然后就可以通过电脑上面的计算器来把它每一位写出来,然后再转成16进制数。代码:#include<reg51.h> // 引入头文件void delay(unsigned time){ unsigned i , j; for(i = 0 ;i< time;i+原创 2021-12-29 08:09:47 · 131 阅读 · 2 评论 -
单片机入门(教室人员计数)--适合初学者
电路图:点击下载代码:#include<reg51.h> // 引入头文件unsigned int come = 0; // 用来统计人数// 判断函数void judge(){ if(come == 0){P0 = 0x00;P2 = 0x00;} if(1<= come && come < 5 ){P2 = 0x01;} if(5<= come && come < 10 ){P2 = 0x03;} if(10&l原创 2021-12-28 16:03:04 · 274 阅读 · 0 评论 -
单片机入门(中断控制灯及数字显示)--适合初学者
电路图点击下载代码:#include<reg51.h>// 定义come 变量 用于显示unsigned int come = 0;//延时函数void delay(unsigned time){ unsigned i , j; for(i = 0 ;i< time;i++) for(j = 0;j < time ;j++);}//主函数void main(){ // P0、P1 初始化 P0 = 0x00; P2 = 0x00; //中断0原创 2021-12-28 09:59:28 · 337 阅读 · 0 评论 -
单片机入门(数码管显示0-99)--适合初学者
【代码】单片机入门(数码管显示0-99)--适合初学者。原创 2021-12-27 12:14:00 · 15867 阅读 · 6 评论 -
单片机入门(实现流水灯)--适合初学者
电路图点击下载代码#include<reg51.h> // 引入头文件//延时函数void delay(unsigned time){ unsigned i , j; for(i = 0 ;i< time;i++) for(j = 0;j < time ;j++);}// 主函数void main(){ int temp; P2 = 0x01; // 给P2口赋值 while(1){ temp = P2<<1; // 左移一位原创 2021-12-27 11:38:49 · 646 阅读 · 1 评论 -
单片机入门(工作的基本时序)--适合初学者
机器周期和指令周期(1) 振荡周期也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,TX 实验板上位11.0592MHZ。(2) 状态周期每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。(3) 机器周期一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期,在一个机器周期内,CPU可以完成一个独立的操作。(4) 指令周期它指的是CPU完成一条操作所需的全部时间。...原创 2021-12-27 10:58:00 · 187 阅读 · 0 评论 -
单片机入门(让发光二极管闪烁)--适合初学者
电路图点击下载代码#include<reg51.h> // 引入51单片机的头文件sbit p1_0 = P1^0; // 控制P1口的第一位// 延时函数(说白了就是通过执行这段代码,延长时间)void delay(unsigned time){ unsigned i , j; for(i = 0 ;i< time;i++) for(j = 0;j < time ;j++);}// 主函数void main(){ while(1){ dela原创 2021-12-27 10:31:33 · 3522 阅读 · 0 评论 -
单片机入门(点亮第一个发光二极管)--适合初学者
电路图电路图下载51单片机所有的 I/O 上电之后,一边是高电平,一边是低电平,自己就会会亮。下面的话,是控制P1.0口程序#include<reg51.h>sbit p1 = P1 ^ 0;void main(){ p1 = 0; //赋值为0 灭 1的话 亮 (默认的就是高电平)}这样就可以看到P1.0口亮了。同时也可以对整体进行操作。#include<reg51.h>void main(){ //那一位为0 灭 1的话 亮 (默认的就是高电原创 2021-12-27 09:28:37 · 631 阅读 · 0 评论 -
单片机入门(单片机基本知识及Keil软件的基本使用)--适合初学者
一、 单片机的基本知识1、总线是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指的是CPU与其他部件之间的连线。外部总线有三种:数据总线 DB(Data Bus) 控制总线CB(Control Bus) 地址总线AB(Adress Bus)。2、CPU由运算和控制逻辑组成,同时也包括中断系统和部分外部特殊功能寄存器。3、RAM用于存放可以读写的数据,如运算的中间结果、最终结果以及想要显示的数据。4、ROM用于存放程序、一些原始原创 2021-12-26 18:06:00 · 1639 阅读 · 0 评论 -
单片机入门(预备知识)-适合初学者
单片机入门(预备知识)--适合初学者原创 2021-12-26 10:25:18 · 4403 阅读 · 0 评论 -
C51单片机中断--适合初学者
C51单片机中断-适合初学者原创 2021-12-26 09:27:48 · 2649 阅读 · 0 评论