单片机原理及接口技术
文章平均质量分 90
湘の子
重生之我要当计算机大佬!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
汇编语言与接口技术--AD转换及PWM控制
掌握SPI总线的使用方式 掌握xpt2046 AD转换芯片的工作原理 掌握SPI总线方式实现基于xpt2046的AD转换 掌握PWM控制功率的方式 二、 实验设计 1.整体思路 该程序旨在实现基于 SPI 总线的 XPT2046 芯片的 AD 转换,并利用转换结果在数码管上显示数值,同时通过 PWM 控制实现 LED 灯亮度与 AD 值的联动。整体思路是先进行系统初始化,包括定时器和端口等设置,然后在主循环中不断读取 AD 转换数据,处理数据后更新数码管显示,并根据 AD 值调整 PWM 占空比来控制 L原创 2025-02-20 13:29:02 · 1196 阅读 · 0 评论 -
汇编语言与接口技术--单总线温度采集与显示
Ds18b20ChangTemp函数先初始化传感器(Ds18b20Init),然后发送跳过 ROM 操作命令和温度转换命令,并且在其中还包含了一个告警搜索功能(Ds18b20AlarmSearch),当搜索到告警时会控制蜂鸣器状态(虽然这种方式可能不太合理,因为告警搜索和温度转换命令同时进行可能导致问题,但从代码逻辑上是这样设计的)。如果温度为负,先将其转换为原码形式,然后乘以一个系数(0.0625*100 + 0.5,用于将温度值转换为适合数码管显示的整数部分,保留两位小数的近似值)。原创 2025-02-20 13:28:40 · 1114 阅读 · 0 评论 -
汇编语言与接口技术--矩阵按键
一、 实验要求 1.利用单片机开发板的矩阵键盘实现个人学号后8位的输入和显示 2.利用矩阵键盘S1~S10输入数字1~0 3.利用数码管LED8~LED1从左到右显示8位学号 二、 实验设计 1.整体思路 初始化一些存储单元(40H - 47H)为特定值,设置堆栈指针(SP)和一个计数器(R7)。跳转到KEY2标签处开始主要的按键检测和处理逻辑。在按键检测过程中,通过不断调用子例程检查按键状态,根据不同的按键情况进行相应的处理,包括确定按下的键值、更新显示内容等。 2.流程图原创 2025-02-19 17:20:34 · 1080 阅读 · 0 评论 -
汇编语言与接口技术--电子计数器
1. 在DisPlay子程序中,虽然每次输出段码后调用了D10ms延时来稳定显示,但由于在D1s延时子程序中也不断调用DisPlay,如果D1s延时时间过长,可能会导致数码管显示出现闪烁现象。因为在D1s延时过程中,频繁更新显示内容可能会干扰正常的显示稳定机制。2. 深入理解了计数器的工作原理和实现方式,特别是十进制计数器的进位和退位逻辑。原创 2025-02-19 17:20:10 · 1025 阅读 · 0 评论 -
汇编语言与接口技术--跑马灯
例如,如果 B 的初始值为 #14H,每次中断时 B 减 1,当 B 减到 0 时,才进行真正的跑马灯状态更新操作,这样就可以实现每隔一定次数的定时器中断更新一次 LED 灯状态,而不是每次中断都更新。这里选择模式 1 是为了满足跑马灯效果中对定时中断间隔的要求,通过合适的初值设置,可以实现精确的时间控制,从而控制跑马灯的速度和节奏。在这个延迟子程序中,通过将寄存器R5设置为一个初始值(这里是#20),然后在循环中不断对R5进行减 1 操作,直到R5的值变为0,以此来消耗一定的时间,从而达到延迟的目的。原创 2025-01-03 14:17:23 · 1649 阅读 · 0 评论 -
汇编语言与接口技术--冒泡排序算法的实现
一、 实验要求 实验目的: 学习使用汇编语言实现算法设计 熟练掌握单片机外部存储空间的访问方法 实验内容: 用汇编实现冒泡排序算法。 在实验三的代码基础上,利用冒泡排序将DEST中数据从小到大重新排序 。 将冒泡排序算法写成子程序。 在主程序中,通过设置参数,使用同一个子程序实现从大到小,从小到大排序的自由选择。 二、 实验设计 1.整体思路 1-1数据初始化与存储 程序首先在MAIN函数中对一些寄存器进行初始化操作,包括将A设置为#01H,R0设置为#30H,DPTR设置为DEST(外原创 2024-11-07 15:17:13 · 965 阅读 · 0 评论 -
汇编语言与接口技术--循环程序设计
一、 实验要求 实验目的: 熟练掌握循环程序设计的基本方法 熟练掌握单片机外部存储空间的访问方法 实验内容: 向起始地址为SRC的片内存储中,顺序写入NUM个单字节数(数值不限),并以$字符(ASCII码)结尾。 从SRC中,向起始地址为DEST的片外存储中,逆序拷贝之前存储的NUM个单字节数,并以$字符结尾。 将上述两个操作写成两个子程序。 二、 实验设计 1.整体思路 这段代码的主要思路是实现两个子程序,一个用于顺序写入数据到片内存储中,另一个用于逆序拷贝数据到片外存储中。首先,定义了起原创 2024-11-07 15:16:47 · 869 阅读 · 0 评论 -
汇编语言与接口技术--算术运算程序设计
一、 实验要求 编程实现两个数:#998877H 和 #778899H 的加法运算。 编程实现两个数:#998877H 和 #778899H 的减法运算。 二、 实验设计 1.整体思路 无符号角度: (1)加法 1.初始化:设置两个数 998877H 和 778899H。 2.低位相加: 从 NUM1 获取第2位(即77)并存入 R0。 从 NUM2 获取第2位(即77)并存入 A。 执行 ADD A, R0 将 A 与 R0 相加,结果存回 A。 将结果存入 R3。通过这次编程实验,我更加深入原创 2024-11-06 15:22:05 · 1124 阅读 · 0 评论 -
汇编语言与接口技术--子程序设计
汇编语言与接口技术--子程序设计一、 实验要求 实验目的: 熟练掌握算术运算汇编指令的使用 熟练掌握子程序设计的基本方法 熟练掌握程序的调试方法 实验内容: 编程实现两个数:#8888H 和 #79H 的乘除运算。 结合实验1的代码,将加减乘除四则运算写成四个子程序,注意现场保护。 二、 实验设计 1.整体思路 开始:程序从ORG 0000H开始执行,跳转到MAIN标签。 MAIN: 调用SUBI子程序进行减法运算。 初始化寄存器R0-R3。 调用ADDI子程序进行加法运算。 再次原创 2024-11-06 15:21:41 · 1236 阅读 · 0 评论
分享