/* 名称:数码管显示 4X4 矩阵键盘按键号说明:按下任意键时,数码管都会显示其键的序号,扫描程序首先判断按键发生在哪一列,然后根据所发生的行附加不同的值,从而得到按键的序号。*/#include<reg51.h>#define uchar unsigned char#define uint u[详细]
/* 名称:播放音乐说明:程序运行时播放生日快乐歌, 未使用定时器中断,所有频率完全用延时实现*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit BEEP=P3^7;//生日快乐歌的音符频率表,不同频率由不同的延时来决定uchar[详细]
/* 名称:INT0 及 INT1 中断计数说明:每次按下第 1 个计数键时,第 1 组计数值累加并显示在右边 3 只数码管上, 每次按下第 2 个计数键时,第2 组计数值累加并显示在左边 3 只数码管上,后两个按键分别清零。*/#incl[详细]
/* 名称:按键发音说明:按下不同的按键会是 SOUNDER 发出不同频率的声音。本例使用延时函数实现不同频率的声音输出,以后也可使用定时器*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit BEEP=P3^7;sbit [详细]
子程序调用时,主程序应该先把有关参数放到某些事先约定的位置,这个放置参数的过程就是子程序的参数传递。 子程序在运行时,可以从约定位置得到有关参数;同样,子程序在运行结束前,也应当把运算结果送回到约定位置;子程序结束运行,返回主程序后,主程序将从约定的位置上得到所需要的参数结果. [详细]
/* 名称:甲机发送控制命令字符说明:甲单片机负责向外发送控制命令字符“A”、“B”、“C”,或者停止发送,乙机根据所接收到的字符完成 LED1 闪烁、LED2 闪烁、双闪烁、或停止闪烁。*/#include<reg51.h>#define uchar unsigned char#define uint unsign[详细]
/* 名称:甲机串口程序说明:甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED1=P1^0; sbit LED2=P1^3;sbit&[详细]
/* 名称:单片机向主机发送字符串说明:单片机按一定的时间间隔向主机发送字符串,发送内容在虚拟终端显示。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int//延时void DelayMS(uint ms){ &nbs[详细]
1、EQU 指令用于将一个数值或寄存器名赋给一个指定的符号名。格式: 符号名 EQU 表达式符号名 EQU 寄存器名表达式必须是一个简单再定位表达式。用 EQU 指令赋值以后的字符名,可以用作数据地址、代码地址、位地址或者直接当做一个立即数使用。比如:s equ bx+simov cx,[s]那么上面两句代码相当于如下指[详细]
10. If debugging is the process of removing software bugs, then programming must be the process of putting them in. – Edsger Dijkstra如果调试程序是移除臭虫(软件缺陷)的过程,那编写程序就是把臭虫放进来的过程。—— 迪杰斯特拉09. The first 90% of the code accounts for the[详细]
大家知道,大家用MCU写程序的时候,只有移位的语句,没有循环移位的语句。那么如何实现循环移位呢,详见下述: 循环移位区别于一般移位的是移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端,而循环右移时,用从右边移出的位填充字的左侧。这种情况在系统程序中时有使用,在一些控制程[详细]
80C51上的C语言编程 C51的特色:(1)学习过C语言的同学在对单片机有了基本了解之后,就可以开始试着写一两个基于单片机的C语言的程序了。C51语言继承了ANSI C 的绝大部分的特性,基本的语法相同,同学们上手会比较快。但是,由于C51语言是对硬件进行控制的编程语言,其本身又在硬件结构上有所扩展以增强C语言[详细]
关于程序的执行,以前想的不多,没有意识到一个程序在运行时,从哪里读指令,数据又写在哪里。从单片机上知道,在上电的那一刻,MCU的程序指针PC会被初始化为上电复位时的地址,从哪个地址处读取将要执行的指令,由此程序在MCU上开始执行(当然在调用程序的 main之前,还有一系列其他的的初始化要做,如堆栈的初[详细]
已知51单片机,fosc=6MHz,试编写程序,利用T0和P1.7产生如下图所示的连续矩形脉冲。参考程序:org 0000hljmp mainorg 000bhljmp int_t0org 0030hmain: mov tmod,#00000010bmov ie,#10000010bmov th0,#0echmov tl0,#4chclr p1.7setb tr0sjmp $int_t0: jb p1.7,loopmov th0,#4chsetb p1.7reti[详细]
单片机中一个程序的运行过程分为取指令,分析指令和执行指令几个步骤。取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。计算机执行程序的过程实际[详细]
2位16进制转10进制,用除以10求商跟余数的方法,即可。4位16进制数呢?DIV指令只可以对2位16进制数进行除法运算啊,求高手解答。例如把TH1 TL1的数值转成十进制, 分别存入R4 R3 R2 R1 R0。;------------------------------------------------------------------下面把这段转换程序,写成子程序的结构,便于网[详细]
程序 :/*** 读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;// 定义开关. 低电平有效.sbit K1 = P3^2;sbit K2 = P3^5;void main( void ){while([详细]

扫码关注我们
0755-82591179
邮箱:ivy@yingtexin.net
地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A09

Copyright © 2014-2025 颖特新科技有限公司 All Rights Reserved. 粤ICP备14043402号-4