关于单片机程序设计的几点 需要的一些:对于单片机程序,首先要对于要使用的单片机比较了解,对于硬件设计比较了解,对C编程比较熟悉;了解单片机是因为当需要设置某些寄存器的时候,会知道相应的设置方式,避免出现因为寄存器设置造成的不必要的调试时间。对硬件比较了解,因为硬件电路是程序运行的前提,如果硬件... 2023-06-13 单片机程序设计注意事项文章基础知识
STC8951单片机不断电下载的方法 对于STC89C51系列单片机如果要下载程序,我们需要先断电,点击下载,再给单片机上电这时,他就会自动下载程序。这是因为单片机在冷启动时,首先执行了一段系统启动程序,监视串口有无下载的指令,有就执行下载,没有就进入用户程序区开始执行;而带电复位,是直接从用户程序区开始执行,所以无... 2023-06-13 单片机不断电下载程序设计文章51单片机
PLC与单片机程序设计的区别 单片机与PLC的程序设计有很大的区别,单片机的全部程序都是用户设计的,PLC的程序包括系统程序(西门子称为操作系统)和用户程序。操作系统用来组织与具体的控制任务无关的所有的CPU功能。操作系统的任务包括处理启动过程,刷新输入/输出过程映像,调用用户程序,检测中断事件和调用... 2023-06-13 PLC单片机程序设计文章基础知识
MCU学习之按键控制LED 程序 :/*** 读IO, 用按钮控制点灯.*/#include#include// 10个LEDsbit P10 = P1^0;sbit P11 = P1^1;sbit P12 = P1^2;sbit P13 = P1^3;sbit P14 = P1^4;sbit P15 = P1^5;sbit P16 = P1^6;sbit P17 = P1^7;// 定义开关.... 2023-06-13 MCU程序设计按键单片机LED文章基础知识
verilog中task的用法 例如:task taskA(input a,output b);b=1;#100;b=a;#100;b=0;#100;endtask一旦调用这个task,返回的值将是0。在外部定义全局变量reg b;task taskA(input a);b=1;#100;b=a;#100;b=0;#100;endtask如果这样做就不一样:b前100个延时是1,中间100个延时是a的... 2023-06-13 verilogtask用法单片机程序设计文章FPGA
51单片机IO端口操作的一个有趣现象 我想实现P1.1端口跟随P1.4端口同步输出,都是驱动LED,P1.4端口使用定时器定时翻转,主循环程序随时判断P1.4状态,同步驱动P1.1。开始我是这样写的:OUT BIT P1.4LED BIT P1.1ORG 0000HAJMP mainORG 000BHAJMP TIME0ORG 0030Hmain:MOV TMOD,#01HMOV TH0,#00hMOV TL0,#00hMOV R0... 2023-06-13 51单片机IO端口操作程序设计keil仿真文章单片机
多年之后重新看verilog记录 1.1 声明(declaration)存在于Begin:nameHEREEndfork:nameHEREJoinFunction;HEREEndfunctionTask;HEREEndtaskModule;HEREEndmodule其中声明包含:input,output,register,integer,parameter等,但并不是所有的声明都可以存在于上述的结构... 2023-06-13 verilog程序设计编程技巧文章单片机FPGA
STM32 IAP(对flash进行读写) /*************************************************************/#include "STM32Lib\\stm32f10x.h"#include "hal.h"#defineFLASH_ADR0x08008000//要写入数据的地址#defineFLASH_DATA0x5a5a5a5a//要写入的数据int main(void){... 2023-06-13 STM32IAPFLASH读写单片机程序设计文章
剖析单片机C语言软件复位 程序如下:(*(void(*)())0);如果你看完这条语句还没有蒙,那你已经完全没必要继续在这个贴上浪费时间了,可以直接关掉这个页面,如果感觉有点蒙,可以选择继续~~首先需要说明几个概念:1.函数的调用:函数的调用可以通过函数名调用(这个使用的最普遍),也可以通过函数指针调用(即指向函数的... 2023-06-13 单片机C语言软件复位程序设计文章基础知识
为何一般不建议在中断中喂狗? 在"主程序喂狗论"中,最"强有的理论依据"就是---"程序跑飞了可是中断不一定会死" (中断一般都有自己固定不变的中断向量地址,这样即使主程序飞,中断也能正确地跳入自己的轨道继续运行.)可如果只在主程序喂狗,由于中断被无意关断,那么主程序实际就只干傻喂狗功能,这种不... 2023-06-13 中断看门狗循环单片机程序设计文章MSP430单片机
关于单片机程序初始化硬件参数代码 首先,对于以后再次使用的新设备,会出现意想不到的问题。因为偶然拿来一个新的设备,没有经过初始化,这个时候程序的参数都是要配置之后的,对于调试者是个灾难。要分析造成问题的原因,往往也不好分析,因为程序是好用的,硬件是新的。按常理是不应该不能运行的。但是它们不运行了。即... 2023-06-13 单片机程序初始化硬件参数代码程序设计文章基础知识
PICC编译指针详解 指向 RAM 的指针如果是汇编语言编程,实现指针寻址的方法肯定就是用 FSR 寄存器,PICC 也不例外。为了生成高效的代码,PICC 在编译C原程序时将指向 RAM 的指针操作最终用 FSR 来实现间接寻址。这样就势必产生一个问题:FSR 能够直接连续寻址的范围是 256 字节(bank0/1或 bank2/3),... 2023-06-13 PICPIC单片机编译指针程序设计文章单片机
单片机编程经验 经验之一:用“软件陷阱+程序口令”对付PC指针的弹飞 当CPU受到外界干扰,有时PC指针会飞到另一段程序中,或跳到空白段去。其实,如果PC指针飞到空白段去,倒也好处理。只要在空白段设立软件陷阱(拦截指令),将程序拦截到初始化段或程序错误处理段。但是,如果PC指针... 2023-06-13 单片机编程经验程序设计软件狗文章基础知识
在verilog中调用VHDL模块 今天在用vivado进行块设计时所生成的顶层模块居然是用VHDL语言描述的,这时郁闷了,表示只看过VHDL语法但没写过。暂且不说VHDL模块的内容,我应该如何在测试平台中例化它并对它进行测试呢?稍微查了一下,其实很简单,只要把VHDL中的组件名、端口统统拿出来,按照verilog模块的例化形... 2023-06-13 verilog调用VHDL模块程序设计文章单片机FPGA
FPGA为什么跑不快 以Quartus为例(延时数据为Stratix III器件典型延时)手动布局:module top(input clk,din,output dout);[cpp]view plaincopyprint?regdin_ff,din_ff2; always@(posedgeclk)begindin_ff<=din;din_ff2<=din_ff;endassigndout=din_ff2;... 2023-06-13 FPGAfpga设计跑不快程序设计文章单片机
完全释放CPU按键消抖程序 功能:不需要按键延时等待消抖程序,检测到按键按下,屏蔽抖动,马上执行按键功能程序,不会误动作,即按键按一次,不管时间多长,都动作一次#include //包含单片机寄存器的头文件sbit S=P3^2; //将S位定义为P3.2,外部中断0管脚void main(void){ unsignedintajsn; EA=1; ... 2023-06-13 按键cpu消抖程序设计文章单片机51单片机
stm32 usb虚拟串口 程序问题的讨论 主要问题是串口有时收到乱码有时收到丢包数据:关于乱码我们其实很容易想到奇偶校验的问题,而我们平常都是默认为没有奇偶校验。请看程序:*USART1defaultconfiguration*//*USART1configuredasfollow:-BaudRate=9600baud-WordLength=8Bits-OneStopBit-ParityOdd-Hardwareflowc... 2023-06-13 STM32单片机USB虚拟串口程序设计文章
小键盘控制的花样彩灯(源码) 该程序示例了单片机键盘控制p1口流水灯花样的方法;具体表现为:p3.2 3.2 3.4 3.5四个小按键分别实现了四个控制:1启动, 停止;在任何状态下按此键程序停止运行.2 跑灯,p1.0---1.7亮点流动:3 流水灯; p1.0-1.7 依次点亮4 交错等; p0.O,P0.2,P0.4,P0.6和p0.1,P0.3,P0.5,P0.7轮... 2023-06-13 单片机程序设计花样彩灯文章51单片机
单片机C51编程几个有用的模块 说明本文档包括单片机系统中常用到的时钟中断、通讯及键盘扫描等模块(见所附源程序)的说明。这些模块使用前后台系统模型。为达到最大的灵活性, 需要在用户工程中定义config.h文件, 在其中定义各模块可选参数的设置,而不是直接更改源代码。这些可选内容大部分为宏定义,如果... 2023-06-13 单片机51程序设计文章51单片机
51单片机串口调试程序一列 /*定义为中断方式串口处理*/#define INTERSENDSTR/*不为8032系列芯片 *///#define CHIP_8032#include#include#include#include "err.h"#ifdef INTERSENDSTRunsigned char xdata sSendComBuf[256],sRecComBuf[256];unsigned char data... 2023-06-13 单片机51程序设计文章51单片机
93C46/93c06/93c46/93c56/93c66/93c86的驱动程序(C51) —————————————————————*//*通用93c06-93c86系列使用说明93c06=93c4693c56=93c6693c76=93... 2023-06-13 C51程序设计SPI总线文章单片机51单片机
单片机处理密码的简单方法 本文是是本人用单片机对键盘输入密码与处理的一些小看法。键盘是4*4=16键的小键盘,接在P2口,四行四列分别接P2口的高位和低位。P1口接8个LED保存输入的密码主要思想是“先进先出”。主要程序段如下:*****先进行初始化mov 20h,#00h;存当前输入密码mov 21h,#00hmov ... 2023-06-13 单片机键盘密码处理程序设计文章51单片机
51 IO口模拟串口通讯C源程序 #includesbitBT_SND=P1^0;sbitBT_REC=P1^1;/**********************************************IO口模拟232通讯程序使用两种方式的C程序占用定时器0**********************************************/#defineMODE_QUICK#defineF_TMF... 2023-06-13 51IO口程序设计文章单片机51单片机
24C01的IIC 读写的c51程序 #include "reg51.h"#include "intrins.h"sbit SCL= P1^5;sbit SDA= P1^4;delay(){unsigned int i=1200;while(i--);}/*----------------------------------------------------------------------------调用方式:write_8bi... 2023-06-13 C语言程序设计24C01IIC文章单片机51单片机
单片机程序死机原因查找方法 单片机程序死机,跑飞了可以从以下几个方面查找原因:1. 意外中断。是否打开了某个中断,但是没有响应和清除中端标志,导致程序一直进入中断,造成死机假象2. 中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量... 2023-06-13 单片机程序设计看门狗文章基础知识