全部评论(1条)
-
- 貛磼赵峡 2017-04-20 00:00:00
- ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN: MOV TMOD,#01H MOV TH0,#HIGH(65536-10000) MOV TL0,#LOW(65536-10000) SETB ET0 SETB EA MOV R0,#9 MOV R1,#9 MOV R2,#0 MOV R3,#9 CLR 00H CLR 01H LOOP: JB P1.0,LP01 JNB P1.0,$ SETB TR0 CLR 01H SJMP LOOP0 LP01: JB P1.1,LP02 JNB P1.1,$ SETB 01H SJMP LOOP0 LP02: JB P1.2,LOOP0 JNB P1.1,$ CLR TR0 MOV P3,#0FDH MOV P2,#0 MOV P3,#0FEH MOV P2,#0 SJMP MAIN LOOP0: JB 00H,LOOP1 MOV A,R0 SJMP LOOP2 LOOP1: MOV A,R1 LOOP2: MOV DPTR,#TABLE MOVC A,@A+DPTR MOV R3,A SJMP LOOP T0ISR: CLR TR0 MOV TH0,#HIGH(65536-10000) MOV TL0,#LOW(65536-10000) SETB TR0 JB 01H,T0C INC R2 T0C: CPL 00H MOV A,R3 JB 00H,T001 MOV P3,#0FDH MOV P2,A SJMP T002 T001: MOV P3,#0FEH MOV P2,A T002: MOV A,R2 CJNE A,#100,T0E MOV R2,#0 MOV A,R0 JZ T003 DEC R0 SJMP T0E T003: MOV A,R1 JZ T004 DEC R1 MOV R0,#9 T0E: RETI T004: CLR TR0 RETI TABLE: ; 共阴极数码管显示代码表 DB 3FH,06H,5BH,4FH,66H ;01234 DB 6DH,7DH,07H,7FH,6FH ;56789 END
-
赞(5)
回复(0)
热门问答
- 汇编语言 51单片机 器程序
2017-04-19 08:39:13
344
1
- 求简易温度控制器设计的单片机汇编语言程序
- 设计一个简易温度控制器,具体任务包括:①单片机控制,具有低温、高温声光报警功能;②利用按键进行温度上限和温度下限设置,并且实时显示温度到LED数码管;温度检测采用热敏电阻。热... 设计一个简易温度控制器,具体任务包括: ① 单片机控制,具有低温、高温声光报警功能; ② 利用按键进行温度上限和温度下限设置,并且实时显示温度到LED数码管; 温度检测采用热敏电阻。热敏电阻是利用半导体的电阻值随温度显著变化设计而成的,它具有温度系数大、灵敏度高、体积小、结构简单、响应速度快、使用方便、寿命长等优点,应用非常广泛。采用普通的热敏电阻,需要A/D转换器。 ③ 上位机显示。 展开
2018-01-02 08:52:51
380
1
- 51单片机制作简易数字频率计程序
2010-12-09 18:27:45
206
1
- 51单片机信号发生器的正弦波程序
- voidvout_sin(void)//输出正弦波{floatx;//用于正弦波发生器if(Voutsin())//“正弦波按键”被有效按下do{for(x=-3.1415;x<3.1415;x+=0.1)//正弦波发生器{vout=255*(1+sin(x))/2;//输出... void vout_sin(void) //输出正弦波
{ float x; //用于正弦波发生器
if(Voutsin()) //“正弦波按键”被有效按下
do{
for(x=-3.1415;x<3.1415;x+=0.1) //正弦波发生器
{ vout=255*(1+sin(x))/2; //输出值vout必须大于0
P1=vout;
delay_out();
} } while(P3_0==1&P3_1==1&P3_2==1&P3_4==1) } 此段程序中do{}内的内容不是很理解,希望好心网友帮忙解释一下,财富值不是很多,谢谢了。 展开
2013-04-02 06:51:20
497
3
- 基于单片机数字频率计设计汇编语言程序的设计思路
- 一、 设计目的 ——掌握数字量数据采集系统的设计方法。 二、技术指标 1.测量范围:0~200K 2.测量信号:方波 3.测量信号电压:3~5V 4.闸门时间:10mS、0.1S、1S 5.显示位数:6位 三、设计方案 根据技术要求,可确定出该数字频率计应由测量电路... 一、 设计目的 ——掌握数字量数据采集系统的设计方法。 二、技术指标 1.测量范围:0~200K 2.测量信号:方波 3.测量信号电压:3~5V 4.闸门时间:10mS、0.1S、1S 5.显示位数:6位 三、设计方案 根据技术要求,可确定出该数字频率计应由测量电路(包括量程标定电路和ADC)、单片机、键盘及显示电路几个组成部分,各部分采用的电路形式及主要器件确定如下: (1)单片机部分 选用89C51单片机作为主机,同时要设计89C51单片机的晶振电路和复位电路,具体电路略。 (2)测量电路部分 直接利用单片机内部的定时/计数器实现频率的测量。 (3)键盘、显示部分 本机需配置具有3个按键的键盘和6位数字LED的显示器。具体电路参见实验箱电路图4、5。 测量频率范围:1-1000HZ 闸门时间1S,单位(HZ) 1K-10K 闸门时间0.1S (计数值×10),单位(KHZ) 10k-200k 闸门时间10mS(计数值×100)单位(KHZ) 用按键选择测量范围。 图4 显示器电路连接图 图5 键盘电路连接图 图6 等精度测量数字频率计电路图 展开
2014-06-06 05:07:53
266
1
- 温度控制51单片机,DS1820温度传感器的程序
- 只要一小段,温度加热时候的程序,我要用Keil和proteus编程仿真的,加热到40,60,80的时候分别需要恒定温度一段时间后,在继续加热....... 只要一小段,温度加热时候的程序,我要用Keil 和 proteus 编程仿真的,加热到40,60,80 的时候分别需要恒定温度一段时间后,在继续加热.... 展开
2014-11-16 03:23:05
284
2
- 51单片机频率计的中断程序怎么设计
- 有一个信号由200hz的NRZ码控制输出两个频率不同的方波(1600,800)。现在要还原,如果检测到1600则p3.5输出高电平,800则输出低电平。我的设想是定时一个5ms的中断,对输入的方波电平0→1进行计数。计数值大于(8+4)/2=6的话输出1,小于输出0。请问这样可以... 有一个信号由200hz的NRZ码控制输出两个频率不同的方波(1600,800)。现在要还原,如果检测到1600则p3.5输出高电平,800则输出低电平。我的设想是定时一个5ms的中断,对输入的方波电平0→1进行计数。计数值大于(8+4)/2=6的话输出1,小于输出0。请问这样可以吗?对于定时器计时器还有中断的使用不大明白,可否简略写下程序。谢谢 展开
2015-05-26 01:56:14
438
1
- 基于51单片机,ADC0804,光敏电阻,湿度传感器,求程序!!!!
- 我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下... 我用的51单片机,采集光强度和空气湿度,利用了两个ADC0804进行转换(光敏电阻和电阻式湿度传感器),但是没有相应程序,哪位大哥能帮忙弄一个程序啊?如果是可行的程序,我账号里剩下的分全给你,虽然不多... 展开
2011-06-01 01:20:26
261
4
- 51单片机温度控制系统的C语言程序
- 设计基于单片计算机的温度控制器。用于控制电加热炉的温度。具体要求如下1.温度连续可调,范围为30℃~150℃2.超调量σ%≤20%3.温度误差≤±0.5℃4.人-机对话方便5.控制算法采用PID或改... 设计基于单片计算机的温度控制器。用于控制电加热炉的温度。具体要求如下 1. 温度连续可调,范围为30℃~150℃ 2. 超调量σ%≤20% 3. 温度误差≤±0.5℃ 4. 人-机对话方便 5. 控制算法采用PID或改进的PID或其他算法 .请发至3166109374@qq.com 谢谢帮忙 具体见http://wenku.baidu.com/view/e0feacf0f121dd36a22d822c 展开
2015-06-07 00:06:30
425
3
- 基于51单片机用LCD1602液晶显示的频率计程序
- 求程序——————
2013-04-23 19:11:42
313
1
- 求一个51单片机控制的温度计显示程序
- stc98c51控制2个4位数码管,温度传感器为DS18B20。数码管的a,b,c,d,e,f,g,dp端接在P0口... stc98c51控制2个4位数码管,温度传感器为DS18B20。数码管的a,b,c,d,e,f,g,dp端接在P0口 展开
2012-05-03 04:58:40
369
2
- 这个51单片机HC-SR04超声波测距程序哪里错了
- //晶振11.0592MHz #include
#define uchar unsigned char #define uint unsigned int sbit trig=P0^2; sbit echo=P3^3; float dis=0; uint irtime=0; void delay_20us() { uchar bt ; for(bt=0;bt<100;bt++); } void TI... //晶振11.0592MHz #include #define uchar unsigned char #define uint unsigned int sbit trig=P0^2; sbit echo=P3^3; float dis=0; uint irtime=0; void delay_20us() { uchar bt ; for(bt=0;bt<100;bt++); } void TIM1init(void)//定时器1初始化 { TMOD=0x22;//定时器1工作方式2,TH1是重装值,TL1是初值 TH1=0xd2; //重载值 溢出一次约50us TL1=0xd2; //初始化值 ET1=1; //开中断 } void EX1init(void) //外部中断1初始化 { IT1 = 1; //指定外部中断0下降沿触发,INT1 (P3.3) EA = 1; //开总中断 } /*------------------------------------------------ 定时器1中断处理 ------------------------------------------------*/ void tim1_isr (void) interrupt 3 { irtime++; //用于计数2个下降沿之间的时间 } /*------------------------------------------------ 外部中断1中断处理 ------------------------------------------------*/ void EX1_ISR (void) interrupt 2 //外部中断1服务函数 { dis=340*(irtime/2.0)*50/10000; irtime=0; TR1=0; EX1=0; } void test(void) { trig=1; delay_20us(); trig=0; EX1=1; while(!echo); TR1=1; } void main(void) { TIM1init(); EX1init(); while(1) { test(); display(dis); } } 主函数调用test,然后在数码管上显示(显示函数略过),测试的时候,在数码管上显示的距离明显不对,还各种不稳定,有时就个位数上显示一个1或2,不知道怎么回事 展开
2016-01-25 09:17:10
341
2
- 51单片机超声波模块测厚度程序怎么写?
2018-12-03 12:10:19
407
0
- 51单片机 测速
- 当感应到磁性的时候 有高电平,没有感应到磁性的时候是低电平,求两次测到高电平之间时间是多少。 C语言程序怎么写?用霍尔传感器或者是磁性开关
2014-03-20 07:21:32
315
3
- 求51单片机设计数字频率计,附带Proteus仿真和程序
2014-05-13 23:13:37
334
1
- GP2Y1010AU0F检测灰尘粉尘传感器和51单片机连的程序
2015-03-09 13:11:10
441
3
- 用单片机汇编语言编写60秒计时器!
- 用单片机汇编语言编写60秒计时器 ,
2017-11-28 01:26:56
337
1
- 求一段汇编程序,利用51单片机控制超声波传感器测距的程序。
2012-04-18 20:35:53
248
2
- 基于51单片机光电开光传感器c程序怎么编啊!
2018-11-30 10:58:16
245
0
- 你有没有 基于51单片机用LCD1602液晶显示的频率计程序
2013-05-20 02:57:49
325
1
参与评论
登录后参与评论