学习单片机已经有一段时间了,但是很多程序都缺少模块化的思想,之前以为只要把单个的功能封装在一个函数里面就是模块化,但是在公司经过了十多天实习,才真正有了模块化的编程思想,这里将我编写的51单片机控制1602液晶屏的程序共享一下,一是希望没有模块化编程思想的后来者看看,二是希望前辈们给予斧正 。(补充:以下代码只需要修改.h文件中含有 “选择” 字样的部分,就可以达到复用的效果) (因为里面用到的宏比较多...
欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入 1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入 1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符...
实验要求:
实现“流星雨”的变化效率,即先从最上面的灯开始加1点亮,到8只灯全部点亮后,先从最上面的灯开始灭,直到灯全灭,模拟流星划过的轨迹。程序自编。
根据实验要求,列出灯亮灭情况,如下:代码:
#include<reg51.h>
#define uchar unsigned charvoid delay()
{uchar i,j;for(i = 0; i < 255; i++)for(j = 0; j < 255; j++);
}void main()
{uchar i;uchar temp[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x01,0x03,0x...
51单片机作业,自己网上查资料,看课本,弄了一个下午加一个晚上,这个专业真的太苦逼!
需要的小伙伴看看吧
要求:现有AT89S51单片机、2按键和2位数码管,电路形式不限制,利用Proteus设计一电路并完成仿真调试,实现如下功能:上电后数码管显示00,按K1键,数码管每秒自动加1顺序显示00~99,中途再次按K1键则暂停计数;按K2键则显示00并停止计数。
keil程序:
#include<reg52.h>
sbit led0 = P0^0;
sbit led1 = P0^1;
typedef...
MicroPython以微控制器作为目标,从而使得Python可以用来控制硬件。说到MicroPython,也许有人会感到陌生。而说到和它密切相关的Python,是否会恍然大悟呢?Python属于解释型语言,经过数十年的磨砺,如今Python已经成为最具人气的开源编程语言之一。(推荐学习:Python视频教程)MicroPython顾名思义就是运行在MCU的Python,换句话说Python可以让单片机行动起来了。MicroPython开发板入门实战篇MicroPython脱胎于Python,基于ANSI...
Temperature
大学时的单片机汇编作品,项目地址https://github.com/jan-bar/Temperature
该项目需要protues运行,下面是可用的下载地址
链接:https://pan.baidu.com/s/13gSiLTenkSV3a5niS3untQ
提取码:7x48
安装破解汉化方法如下:
1、下载解压,得到proteus pro 8.9 sp0原程序、patch破解文件和汉化补丁;
2、首先双击文件"P8.9.sp0.exe"安装软件,接受协议后,选择"Use a locally installed license key";
3、在许可证安装界面...
刚刚咱们讲了电子秒表用的是C语言,接下来咱们再讲一讲用汇编。
硬件设计
(末尾附文件)
电路图1: 数码管显示;时间清零;启动计时;暂定计时;继续计时; 电路图2程序设计
TLOW EQU 78H
THIGH EQU 0ECH
LED_WEI_Pro EQU 0f0H;数码管位选 保护位;寄存器设置
COUN_INT EQU 21H ;5ms * 20 = 100ms = 0.1S
COUN_PASSNUM EQU 22H ;
COUN_TIME_L EQU 23H ;时间累加 低位 100MS加1
COUN_TIME_H EQU 24H ;时间累加 ...
// Test9.pas
Program NewProgram;
// 本程序使用 Trubo51( https://turbo51.com/ ) 单片机 PASCAL 编译器
//
//
// 实例 9 演示了单片机串口 按自定协议收发串口数据
// 假设有PC可以发送如下多种命令给单片机
// .打开或关闭指定的LED灯
// .打开或关闭蜂鸣器
// .查询LED灯的状态或蜂鸣器状态
// 为此,设计PC发送的命令帧为 4 个字节:
// 起始|命令|设备号|检验
// 起始:固定为 $01
// ...
ZN-03C型 网络型PLC可编程控制/单片机实验开发系统自动控制原理/综合实验装置 一、概述 ZN-03C型 PLC可编程控制器、单片机实验开发系统及自动控制原理综合实验设备做到一机多用、资源共享、便于管理、该系统可完成51/96/8088/8086等CPU的单片机、微机的全部软、硬件实验。在单片机仿真实验系统的基础上。增加8088十六位微机原理和接口实验 。一体化设计,只需更换不同的CPU卡,即可支持多种CPU的实验开发。提供两种操作平台,即可独...
ZN-03B型 网络型PLC可编程控制及单片机实验开发系统综合实验装置 一、概述 ZN-03B型 PLC可编程控制器及单片机实验开发系统综合实验设备做到一机多用、资源共享、便于管理、该系统可完成51/96/8088/8086等CPU的单片机、微机的全部软、硬件实验。在单片机仿真实验系统的基础上。增加8088十六位微机原理和接口实验 。一体化设计,只需更换不同的CPU卡,即可支持多种CPU的实验开发。提供两种操作平台,即可独立工作,也可与PC机联机工作...
一、单片机编程的特点
对单片机编程来说;
首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。
第二、单片机编程的一个主要对象是对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。
第三、单片机算法运算中,尽量使用加法、减法、移位运算,因为乘法和除法运算会非常费时间,尤其是除法,会耗费很多时间,这对于速度本身就有限制的单片机来说,是一...
为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。
这个问题的意思应该是:现在有很多很好用的高级语言,如java,python等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不是不能,而是不合适。?一、单片机编程的特点
对单片机编程来说;
首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。
第二、单片机编程的一个主...
单片机是一种可编程器件,单片机的出现使硬件设计变得更为简单,产品的功能也更强大,而程序就是单片机的灵魂。目前功能稍微复杂一点的电子产品,都是以单片机为核心,再加以不通的外设电路实现不通的功能需求。单片机的编程可以通过汇编语言和C语言来实现。1汇编编程的特点汇编是一种更接近于硬件底层的低级语言。硬件在编程时总线和地址非常重要,在汇编语言中,一般用助记符来替代机器指令的操作码,用标号代表操作数的地址,所...
本笔记默认学习者已拥有:
1.Keil5和stc烧写工具 等各种软件、驱动、环境;
2.有一个属于自己的 51单片机开发板及相关零件 ;
3.认识C语言的语法;
本人使用的51开发板为 郭天祥C51 TX-1C增强版开发板 ;
本笔记根据B站up主:江科大自化协的教学视频 整理得到ヾ(?ω?)5-1 模块化编程#ifndef __XX_H__是为了防止重复定义;
本人为 算法竞赛 出身,对模块化编程 缺乏了解,大佬勿喷o((⊙﹏⊙))o;Delayms.c
void Delayms(unsigned in...
main.c
#include <stc15f2k60s2.h>
#include <intrins.h>
#include "onewire.h"
#include "iic.h"void xianshi();
void Timer0Init();
void Delay10ms();
void anjian();
void LEDdeng();sbit s7=P3^0;
sbit s6=P3^1;
sbit s5=P3^2;
sbit s4=P3^3;unsigned char flag;
unsigned char jiemian=0;//界面调节参数,界面0=数据,界面1=参数
unsigned char display[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned char shuzu[]...