推荐阅读最新更新时间:2024-03-16 15:08
51单片机教程第5讲_C51程序
c51语言程序是 一个由主函数和若干个函数构成。其中主函数就是程序的起点,单片机运行程序,首先会执行主函数里面的第一条语句,直到执行完成主函数的所有语句,单片机的程序一般都是来完成某项具体功能的,所以程序一般都是一个循环结构的语句。 函数从用户使用角度讲,分为两类,一类是标准库函数,一类是用户自定义的函数。标准库函数是由开发环境自带的,比如我们常用的KEIL软件,就自带有很多库函数。库函数可以直接调用。用户自己写的函数,一般都是完成一些库函数里面没有的特定功能。 函数的一般形式为: 返回值类型 函数名(形式参数列表) { 函数体 } 返回值类型可以是基本数据类型或者指针类型,如:int float char double等等。当
[单片机]
C51单片机学习笔记(二)——花样流水灯的实现
1.单片机引脚、晶振、复位的作用 复位电路:,复位是单片机的初始化操作。单片机启动时都需要先付薇,其作用是“清零”,也就是CPU和其他部件处于一个确定的初始状态,并从这个初始状态开始。 复位实质上是单片机的复位脚保持很短时间的高电平,按键复位就是通过按键接高电平(按一下的时间已经足够) 时钟电路(晶振):产生时间信号,使单片机按照一定的时间规律进行指令,晶振频率越高,时钟信号的周期就小,单片机运行也就越快。 32个I/O口 P1.0 ~ P1.7 对应1 ~ 8 号引脚 P2.0 ~ P2.7 对应21 ~ 28 号引脚 P3.0 ~ P3.7 对应10 ~ 17 号引脚 P0.0 ~ P0.7 对应39
[单片机]
单片机C51存储器类型及存储模式
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。如今运用最为广泛的就是C51单片机,其中典型的有80C51和89c51单片机。今天主要以C51单片机存储器类型及存储模式为中心而展开的话题。 1、80C51存储器的结构 程序存储器寻址范围为64KB(用PC或DPTR),片内数据存储器寻址范围为256B,80H-FFH只能间接寻址,片外数据存储器寻址范围为64KB(DPTR、P2、@Ri) 图1 80C51程
[单片机]
51单片机的串口收发C51程序
//晶振11.0592Mhz //2010年10月9日给网友改,在硬件上调试通过 #include reg52.h unsigned char a1; bit flag; void main() { TMOD=0x20; TH1=0xfd; TL1=0xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; while(1) { if(flag==1) { ES=0; flag=0; SBUF=a1; while(!TI); TI=0; ES=1; } } } void ser() interrupt 4 { i
[单片机]
#C51串口通讯4-#一串数据#中断即时解析用户自定义协议(握手接收应答)
前言 提示: 1.上一章测试一种方法:简单协议下利用串口中断实时接收数据并校验后进行解析。 2.实际项目开发时,主机下发命令后,从机首先进行握手确认,数据错误情况下要进行相应回应(如错误指令)。 3.本章继续丰富开发,增加主从应答机制 提示:以下是本篇文章正文内容,下面案例可供参考 一、场景 示例: 主机下发命令,从机中断解析并应答,主函数处理事件 二、编程实现 1.自定义协议 如: ##主机类型定义命令类型(查询,设置,器件控制等等) 以控制数码管显示0x01为例 ##从机握手应答: a.数据正确回复:BB66BB8000 b.和校验错误回复:BB66BB8100 c.异或校验错误回复:BB66BB820
[单片机]
ARM发布 Keil 微控制器样机系统
ARM公司(伦敦证交所:ARM;纳斯达克:ARMH)近日在于美国加州圣何塞举行的嵌入式系统大会(ESC)上发布了Keil™ 微控制器样机系统(MPS: Microcontroller Prototyping System),能够对单一产品中的ARM® Cortex™-M系列处理器以及用户定义的外设进行评估和样机建立。Keil MPS是首个包含了全速的、FPGA形式的Cortex-M0或Cortex-M3处理器的样机系统,能够同第三方外设IP集成,为硬件和软件应用开发提供一个原型建立样机。 MPS使得ARM合作伙伴能够在无需获得处理器RTL的情况下就能够实施Cortex-M系列系统,这意味着不同的处理器能够被进行评估,从而选出最适
[单片机]
C51/C52的中断(EXTI)
一、数码管显示原理: 数码管其实就是有8个LED构成,分为a、b、c、d、e、f、g、dp,而数码管又分为共阴极(左边,高电平点亮)和共阳极(右边,低电平点亮),点亮对应的LED即可显示对应的数字,共阴极编码表如下: 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d 、0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c,0x39 , 0x5e , 0x79 , 0x71 , 0x00 分别对应0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,而0x00则不显示。 注意:比如显示0,则要abcdef都为1,即是0011 1111,转为16进制就是
[单片机]
keil+stm32+JTAG利用swd方式进行printf输出
使用ITM机制实现调试stm32单片机,实现printf与scanf。 1. ITM简介 ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。 在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以很方便的调试程序。在嵌入式设备上(如stm32单片机平台上)开发工具(如MDK/IAR)也都提供了标准库函,自然也提供了printf/scanf函数,那么这些函数是否可以使用呢? 问题来了,printf向哪里输出呢?并且大部分情况下,也没有键盘,又如何
[单片机]