根据给定的信息,我们可以提取并总结出以下几个关键的知识点: ### 1. 单片机C语言中的16进制与10进制转换 在单片机开发中,经常需要进行不同进制间的数值转换,例如从16进制到10进制或反过来。在提供的代码片段中,有一个子程序专门用于实现这种转换。 #### 16进制到10进制转换子程序(output) 该子程序接受四个参数: - `unsigned long dd`:需要转换的16进制数。 - `unsigned char s`:显示数据的起始位。 - `unsigned char e`:显示数据的结束位。 - `unsigned char dip`:是否显示小数点。 子程序首先将16进制数转换为10进制数,并通过一系列计算得到每一位的值,然后将这些值存储在一个临时数组中。接着根据指定的显示范围(由`s`和`e`参数确定)将这些值复制到显示缓存数组`d`中,以备后续使用。 #### 10进制到16进制转换函数(input) 此函数用于将10进制数转换回16进制数。它首先初始化一个变量`dd`为10000,然后通过循环计算出每个位上的数值,最终返回转换后的16进制数值。 ### 2. 串行LED数码管显示驱动程序 虽然具体的串行LED数码管显示驱动程序没有给出,但可以推测出该子程序可能负责将10进制数值转换成适合LED数码管显示的形式。在`output`子程序中,有一行代码`tm[5]|=dip;`,这表明小数点的控制可能与串行LED数码管显示有关。 ### 3. 编程器接收CPU程序 这部分代码展示了如何使用89C51系列CPU的编程器来接收CPU程序。其中包含了定时中断处理、等待延迟、命令读取等功能。 #### 定时中断(int_t0) 该中断处理程序用于设置定时器中断的时间间隔,并通过全局变量`b_break`控制中断的执行。 #### 延迟函数(wait) 此函数通过改变定时器的初始值来实现指定时间的延迟。 #### 命令读取(command) 该函数用于读取接收的数据,直到接收到有效数据或定时中断触发。 #### 初始化(earesure) 这个函数用于根据不同的CPU型号执行相应的初始化操作。例如,对于89C51系列的CPU,会设置特定的引脚状态并应用高压编程。 #### 编程(program) 此部分代码实现了编程过程。对于89C51系列CPU,程序通过设置不同的引脚状态来实现编程操作。首先发送地址信息,然后发送要写入的数据,最后应用高压编程以完成编程步骤。 这段代码主要涉及到了单片机C语言编程中的几个关键方面,包括16进制与10进制之间的转换、LED数码管显示以及通过编程器对89C51系列CPU进行编程等。这些技术点对于从事单片机开发工作的工程师来说是非常重要的基础技能。
剩余13页未读,继续阅读
- 粉丝: 2
- 资源: 57
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助