;;有个交通灯的题目;问题主要是中断时,强制变换为红灯后,退出前应该怎样恢复原来的灯。;;一般来说,保护现场、恢复现场,都是用 PUSH、POP 来完成。;;这种方法,仅仅适用于片内单元的保护,对于接
51 系列单片机是高电平复位。如果在 AT89S52 的 9 号引脚(RST)加上宽度大于 2 个机器周期的高电平,该单片机芯片就将处于复位状态。复位时:PC = 0000H,SP = 07H,P0~
遇到了几个问题,都是说 P0 口可以输出 1 的,P0 口内部的电路图,并不是人人都可以看懂的,很多人都要看文字说明。但是,有些说明写的,很是差强人意,接口电路的基本功能特点,往往都解释错了。在单片机
在标准C语言中基本的数据类型为char,int,short,long,float和double,而在C51编译器中int和short相同,float和double相同。说明:(1)类型修饰符signed和unsigned用于修饰字符型和整形。(2)类型修饰符short和l
#includesbit LED1=P2^0;void Delay(unsigned int a);void main(){while(1){LED1=0;//点亮Delay(5000);LED1=1;Delay(5000);}}void Delay(unsigned int a)//0~65535{unsigned char b;for(;a>0;a--){for(b=110;b>0;b--
51 单片机,求从 99 到 0 倒计时的汇编语言的程序。再加入 3 个开关。一个开关按下后,开始执行倒计时程序,其他两个用来暂停计时和停止计时(停止计时就显示00吧)。做而论道回答如下:仿真电路图:
;用51单片机控制 2位数码管动态显示 00 ~ 99。;从 00 开始显示,显示数字每隔一段时间加 1,一直到 99,然后回到 00。;从 00 到 10 每隔 100ms 加 1;;从 10 到
;51 单片机的多机通信,有些特殊。它专有一个控制位 SM2 。;当把 SM2 设置为 1 后,单片机的串口,就仅仅接收《第 9 位为 1 的数据》。;对方发送的《第 9 位为 0 的数据》 ,接收机
;某些触屏手机上,有个滑动开锁的操作。;笔记本电脑,一般都是用键盘输入密码。;也有人把密码设置成:ASDFGHJKL;'Enter,当开机时,只需用手指在键盘上划一下,即可。;单片机,也可以设置这样形
有个题目,要求用两台单片机进行串口通信,互相控制。其电路图有些松散,重画如下:;设计要求:;甲机;K1(P1.0, P3.3)控制乙机 L1(P2.0)亮、L2(P2.1)灭;;K2(P1.1, P3
要求:使用4×4矩阵键盘,由 P0 经过 164 驱动数码管显示按键值,并发音。 用PROTEUS仿真运行时的屏幕截图如下:下面是做而论道编写的程序。//电路说明如下。//单片机:使用51系列兼容的即
基本的 51 单片机有四个并行口,其中还包含了一个串行口。当接口不够用的时候,大家就会想到,使用什么外接芯片来扩充。但是,各种教材、参考书、网络文章,介绍扩充并行口的花样不少,扩充串行口的方法,几乎无
有这样一个问题:已知程序执行前有 A = 02H,SP = 52H,(51H) = FFH,(52H) = FFH。执行下列程序: POP DPH POP DPL MOV
用 51 单片机和 DAC0832 做波形发生器, LM324 放大怎么没有波形呢 ?楼主的电路,给 LM324 仅加上了 +12V 的电源。LM324,可以单电源使用,也可以用正负双电源。对于本电路
题目:用两个 89C51 单片机实现双机通讯来做一个时钟,A 机用来产生数据,B 机用来显示。具体思路是 A 机产生 a、b、c 的具体值,然后把 abc 传给 B 机显示数据。做而论道回答:先设计出
以前弄的 51与FPGA用SPI进行通信的测试程序, 模拟的具体是SPI的哪种模式记不清了,只要改下sclk的时序就可以了.#include#include#include#include//SPI接口sbit cs = P2^3;sbit sclk = P2^4;sbit din = P2^2;sbit do
;有个题目,要求记录按下的键的编号。使用器件:;51单片机,8个编号为“1~8”的数字键,1个功能键,1个数码管,其他晶振电阻电容。;实现功能:;按下功能键后,10s内,检测被按下的数字键,;10s后
单片机自身的 RAM 存储空间和引脚数目往往有些不足,当需要在外部拓展不太多的时候,8155 芯片就是首选了。一片 8155,可以提供 256 字节的 RAM,3 个并行 IO 接口和一个 14 位的
今儿学习了动态数码管显示的知识,其实很简单,只要是首先让数码管逐个显示1,2,3,4...间隔1秒钟,用定时器0控制时间,未选也用一个table数组表示出来,然后减小间隔时间,我这用的是5ms显示效果不错,利用人眼的
#include#include#define GPIO_LED P2sbit K1=P3^1;void Delay10ms( ); //延时10msvoid main(void){unsigned int i,j;j=0xfe; //1111_1110while(1){GPIO_LED=j; if(K1==0) //检测按键K1是否按下{Delay10ms(); //消除