51单片机第8步_absacc.h库函数

本章重点学习库函数absacc.h的使用,介绍绝对宏和绝对地址的用法。故事有点老掉牙,但学校的教授们还在继续。

#include <REG52.h>  //包含头文件REG52.h,使能51内部寄存器;

#include <absacc.h>

#include <stdio.h>  //包含头文件stdio.h

                 //_getkey();从串口读入一个字符;

                 //putchar();向串口发送一个字节;

                 /printf();向串口发送一串字节;

//函数功能:初始化串口,设置波特率为1200bps@16MHz,使能接收,使用8位UART;

void Serial_Port_Initialization()

{ SCON=0x50; //串行控制寄存器: SM0,SM1,SM2,REN,TB8,RB8,TI,RI

             //SM1:SM0=01,选择方式1,SM2=0,表示非多机通讯,8-bit UART;

             //REN=1,使能接收;

  TMOD|=0x20; //定时器方式控制寄存器:GATE1,C/T1,M11,M10,GATE0,C/T0,M01,M00

              //GATE=0,TR置1便可以启动Timer;GATE=1,TR置1,且INT脚输入高电平,

              //才可以启动Timer;

              //M11:M10=10,选择方式2,8位自动重装载; 

  TH1=221;   //TH1: reload value for 1200 baud @ 16MHz

  TR1=1;   //启动Timer1;

  TI=1;    //发送UART的第一个字节,为下次发送做准备;

}

unsigned char data    char_value _at_ 0x7f;  //用_at_定义的变量,必须为全局变量

unsigned char idata   char_value1 _at_ 0x7e;

void main(void)

{ unsigned char data   byte_in_internal_ram;

  unsigned int  data   int_in_internal_ram;

  unsigned char data   byte_in_pdata_ram;

  unsigned int  data   int_in_pdata_ram;

  unsigned char data   byte_in_xdata_ram;

  unsigned int  data   int_in_xdata_ram;

  unsigned char data   char_in_code;

  unsigned int  data   int_in_code;

  Serial_Port_Initialization();//设置波特率为1200bps@16MHz,使能接收,使用8位UART;

  for(;;)

    { DBYTE[0x7f]='1';                   //向内部RAM的地址0x7f单元写入1的ascii码;

  byte_in_internal_ram=DBYTE[0x7f];  //将内部RAM中地址为0x7f的内容保存到变量中;

  DWORD[0x3f]=0x2010;                //向内部RAM的地址0x7e和0x7f单元写入0x2010;

  int_in_internal_ram=DWORD[0x3f];  //将内部RAM中地址为0x7e和0x7f的内容保存到变量中;

  PBYTE[0x7f]=0xff;      //向外部RAM的地址0x007f写入0xff;

  byte_in_pdata_ram=PBYTE[0x7f];  //将外部RAM中地址为0x007f的内容保存到变量中;

  PWORD[0x003e]=0x2010; //向外部RAM的地址0x007e和0x007f单元写入0x2010;

  int_in_pdata_ram=PWORD[0x003e];  //将外部RAM中地址为0x007f的内容保存到变量中;

  XBYTE[0x007f]=0xff;              //向外部RAM的地址0x007f写入0xff;

  byte_in_xdata_ram=XBYTE[0x007f];  //将外部RAM中地址为0x007f的内容保存到变量中;

  XWORD[0x003f]=0x2010;      //向外部RAM的地址0x007e和0x007f单元写入0x2010;

  int_in_xdata_ram=XWORD[0x003f];  //将外部RAM中地址为0x007f的内容保存到变量中;

  char_in_code=CBYTE[0x0000];        //将位于程序存储区地址为0x0000处内容保存到变量中;

  char_in_code=CBYTE[0x0001];  //将位于程序存储区地址为0x0001处内容保存到变量中;

  int_in_code=CWORD[0x0000];  //将位于程序存储区地址为0x0000处内容保存到变量中;

  char_value1='2';  //向内部RAM的地址0x7f单元写入2的ascii码;

  char_value='3';    //向内部RAM的地址0x7f单元写入3的ascii码;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

已备案网站变更并且不影响现有业务的方案

已备案网站变更并且不影响现有业务的方案 近日有个工作上的需求&#xff0c;已备案网站变更并且不影响现有业务&#xff0c;记录一下。 需求 域名&#xff1a;XXXXXX.com备案变更前主体&#xff1a; 海南XXXXXX科技有限公司 备案变更后主体&#xff1a; 深圳XXXXXX科技有限…

【05】从0到1构建AI生成思维导图应用 -- 前端交互实现

【05】从0到1构建AI生成思维导图应用 – 前端交互实现 大家好&#xff01;最近自己做了一个完全免费的AI生成思维导图的网站&#xff0c;支持下载&#xff0c;编辑和对接微信公众号&#xff0c;可以在这里体验&#xff1a;https://lt2mind.zeabur.app/ 上一章&#xff1a;http…

【图解大数据技术】Hive、HBase

【图解大数据技术】Hive、HBase Hive数据仓库Hive的执行流程Hive架构数据导入Hive HBaseHBase简介HBase架构HBase的列式存储HBase建表流程HBase数据写入流程HBase数据读取流程 Hive Hive是基于Hadoop的一个数据仓库工具&#xff0c;Hive的数据存储在HDFS上&#xff0c;底层基于…

Linux 常用命令 - dd 【复制及转换文件内容】

简介 dd 命令源自于磁盘复制&#xff08;disk dump&#xff09;的缩写&#xff0c;是 Linux 和 Unix 系统中用于转换和复制文件的一个强大工具。它可以在复制过程中进行格式转换&#xff0c;支持不同的块大小&#xff0c;能够直接对硬盘设备进行操作&#xff0c;非常适合进行备…

android里面json操作

1.读取assets下面xzhd/aikit/pck.json String json = null; try { InputStream is = activity.getAssets().open(aikitPathInData+"xzhd/aikit/pck.json"); int size = is.available(); byte[] buffer = new byte…

容器进程

一、容器进程和宿主机进程的关系 容器在进程空间上和宿主机是隔离的&#xff0c;每创建一个容器&#xff0c;该容器都有一个独属的进程空间简称PID NameSpace。但是容器本质也是一个进程&#xff0c;自然是由其父进程创建的&#xff0c;这个可以使用ps aux命令验证。 | 容器视…

Windows 下写C++代码的必备

在 Windows 下写代码&#xff0c;还需要用到 Windows.h 头文件的话&#xff0c;需要记住以下两点&#xff1a; 一定要 predefine 一个宏&#xff0c;NOMINMAX&#xff0c;禁用掉 windows 定义的 min 和 max 宏 #include <winsock.h> #define WIN32_LEAN_AND_MEAN #defin…

【高考志愿】材料科学与工程

目录 一、专业概述 二、就业前景与方向 三、院校选择和报考建议 3.1 院校选择 3.2 报考建议 四、材料科学与工程专业排名 高考志愿选择材料科学与工程专业时&#xff0c;确实是一个需要深思熟虑的决策过程。以下是更详细和扩展的考虑因素&#xff1a; 一、专业概述 学习…

Tesseract Python 图片文字识别入门

1、安装tesseract Index of /tesseract https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.3.0.20221214.exe 2、安装中文语言包 https://digi.bib.uni-mannheim.de/tesseract/tessdata_fast/ 拷贝到C:\Program Files\Tesseract-OCR\tessdata 3、注…

Java面试题:描述你如何向非技术人员解释技术概念

向非技术人员解释技术概念时&#xff0c;需要使用简单明了的语言&#xff0c;并结合类比和实际例子&#xff0c;使复杂的技术内容变得易于理解。以下是一些具体的策略&#xff1a; 使用类比&#xff1a; 熟悉的场景类比&#xff1a;将技术概念与日常生活中的熟悉事物进行类比。…

每天写java到期末考试--实验四---接口与抽象类--6.29

第一部分&#xff1a;接口与类的实现 Shape接口 java复制代码public interface Shape { double getArea(); double getPerimeter(); } Circle类 public class Circle implements Shape { private double r; public Circle(double r) { this.r r; } Override publ…

ISO26262标准

什么是ISO26262&#xff1f; ISO 26262(国际功能安全标准)是一个涵盖整个汽车产品开发过程的汽车功能安全标准。ISO 26262继承或改编自工业自动化行业的安全要求标准IEC61508&#xff0c;但专门为汽车行业量身定制。最新版本是ISO26262-1:2018。 它包括诸如需求分析、安全分析…

STM32CubeMx的学习记录系列(2)- STM32G474RET6

最近有个小比赛&#xff0c;需要用到G4&#xff0c;不过找了一圈没有找到标准库的代码&#xff0c;只能使用hal&#xff0c;用CubeMX来生成配置代码。 共同特点 ARDUINO Uno V3 扩展连接器 ST morpho 扩展引脚接头&#xff0c;可完全访问所有 STM32 I/O 采用LQFP64或LQFP48封…

51单片机第9步_结构和联合

本章重点学习结构和联合。 //结构和联合应用举例 #include <REG51.h> //包含头文件REG51.h,使能51内部寄存器; #include <stdio.h> //包含头文件stdio.h //_getkey();从串口读入一个字符; //putchar();向串口发送一个字节; //printf();向串口发送一串字节; /…

Llamaindex实战-在本地使用多种LLM

Llamaindex实战-在本地使用多种LLM 有关我们支持的大语言模型列表及其功能比较&#xff0c;请查看我们的大语言模型模块指南。 使用LLM的基本范式 构建基于 LLM 的应用程序时的第一步是决定使用哪个 LLM&#xff1b;也可以使用多个。 LLM 可用于管道的多个不同阶段&#xff…

6.29学习笔记

马克思 “流”&#xff1a;两个选它纺织厂生产的棉花属于&#xff1a;不变资本、流动资本&#xff1b;机器属于&#xff1a;不变资本、固定资本剩余价值生产的基本方法&#xff1a;绝对剩余价值、相对剩余价值货币的基本职能&#xff1a;价值尺度&#xff0c;流通手段“价格围…

p2p、分布式,区块链笔记: libp2p基础

通信密钥 noise::{Keypair, X25519Spec} X25519/Ed25519类似RSA 算法。Noise 用于设计和实现安全通信协议。它允许通信双方在没有预先共享密钥的情况下进行安全的密钥交换&#xff0c;并通过加密和身份验证保护通信内容。libp2p 提供了对 Noise 协议的原生支持&#xff0c;它允…

20、PHP字符串的排列(含源码)

题目&#xff1a; PHP字符串的排列&#xff1f; 描述&#xff1a; 输入一个字符串,按字典序打印出该字符串中字符的所有排列。 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述&#xff1a; 输入一个字符串,长度不超过9(可…

尺度函数在图像处理中的应用与优化

尺度函数在图像处理中的应用与优化 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨尺度函数在图像处理中的应用与优化。尺度函数是图像处理中…

spring快速上手

一、基础概念 1.使用spring后&#xff0c;被spring管理的类&#xff0c;不需要再new。 2.要想类被spring管理&#xff0c;则需要通过bean的方式&#xff0c;把类引入到spirng的配置文件中。 二、导入spring框架 导入spring依赖 <properties><maven.compiler.sourc…