仪器网(yiqi.com)欢迎您!

| 注册2 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-产品库- 视频

问答社区

51单片机---------基于简单IO口的LCD显示频率计设计

留心851 2013-12-04 17:40:52 416  浏览
  • 求报告!!!

参与评论

全部评论(1条)

  • 久川蹄市 2013-12-05 00:00:00
    BEEP BIT P3.7 LCD_RS BIT P2.0 LCD_RW BIT P2.1 LCD_EN BIT P2.2 LCD_X EQU 3FH ;LCD 地址变量 TIMER_H EQU 30H ;定时器高位字节单元 TIMER_L EQU 31H ;定时器低位字节单元 TIMCOUNT EQU 32H ;时间中断数 INT_G EQU 35H ;中断计数缓冲单元高地址 INT_H EQU 34H ;中断计数缓冲单元中地址 INT_L EQU 33H ;中断计数缓冲单元低地址 T_S EQU 36H ;数据显示低位 T_M EQU 37H ;数据显示中位 T_H EQU 38H ;数据显示高位 T_G EQU 39H ;数据显示Z高位;---------------------------------------------------------- ORG 0000H JMP MAIN ;主程序开始 ORG 000BH JMP TIMER_INT ;定时器T0中断服务程序 ORG 001BH ;定时器T1中断服务程序 JMP TIMER1 ORG 0030H ;---------------------------------------------------------- MAIN: MOV SP,#60H ;设置SP指针 LCALL PRO_SET ;初始化 CALL SET_LCD LCALL TIM_T0 ;----------------------------------------------------------- ;LCD1602是慢速显示器件,故100MS显示一次。 ;----------------------------------------------------------- MAIN1: MOV R5,40 MAIN2: ACALL DELAY1 ;3ms DJNZ R5,MAIN2 ACALL SBIN_SBCD CALL CONV JMP MAIN1 ;------------------------------------------------------------ ;T1计数器中断服务子程序 ;计T1计数器溢出次数 ;------------------------------------------------------------ TIMER1: INC 2AH RETI ;------------------------------------------------------------ ;初始化程序 ;------------------------------------------------------------ PRO_SET: MOV A,#00H MOV B,#00H MOV 2AH,A MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV INT_H,#00H MOV INT_L,#00H MOV INT_G,#00H MOV T_S,#00H MOV T_H,#00H MOV T_M,#00H MOV T_G,#00H MOV TIMCOUNT,#00H MOV TIMER_H,#04CH ;定时 50 MS MOV TIMER_L,#10H ; CLR BEEP SETB P3.5 ;P3.5端口置输入状态 RET ;T1(TIMER1的外部输入脚) ;----------------------------------------------------- ;LCD 初始化设置 ;----------------------------------------------------- SET_LCD: CLR LCD_EN CALL INIT_LCD ;初始化 LCD CALL DELAY1 MOV DPTR,#INFO1 ;指针指到显示信息1 MOV A,#1 ;显示在diyi行 CALL LCD_SHOW MOV DPTR,#INFO2 ;指针指到显示信息2 MOV A,#2 ;显示在第二行 CALL LCD_SHOW RET ;----------------------------------------------------- INFO1: DB " CYMOMETER ",0 ;LCD diyi行显示信息 INFO2: DB "FREQ: HZ ",0 ;LCD 第二行显示信息 ;----------------------------------------------------- ;LCD 接口初始化 ;8位I/O控制 ;----------------------------------------------------- INIT_LCD: MOV A,#38H ;双列显示,字形5*7点阵 CALL WCOM CALL DELAY1 MOV A,#38H ;双列显示,字形5*7点阵 CALL WCOM CALL DELAY1 MOV A,#38H ;双列显示,字形5*7点阵 CALL WCOM CALL DELAY1 MOV A,#0CH ;开显示,关光标, CALL WCOM CALL DELAY1 MOV A,#01H ;清除 LCD 显示屏 CALL WCOM CALL DELAY1 RET ;---------------------------------------------------- LCD_SHOW: ;在LCD的diyi行或第二行显示信息字符 CJNE A,#1,LINE2 ;判断是否为diyi行 LINE1: MOV A,#80H ;设置 LCD 的diyi行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据 MOV A,#80H ;设置 LCD 的diyi行地址 CALL WCOM ;写入命令 JMP FILL LINE2: MOV A,#0C0H ;设置 LCD 的第二行地址 CALL WCOM ;写入命令 CALL CLR_LINE ;清除该行字符数据 MOV A,#0C0H ;设置 LCD 的第二行地址 CALL WCOM FILL: CLR A ;填入字符 MOVC A,@A+DPTR ;由消息区取出字符 CJNE A,#0,LC1 ;判断是否为结束码 RET LC1: CALL WDATA ;写入数据 INC DPTR ;指针加1 JMP FILL ;继续填入字符 RET ;--------------------------------------------------- CLR_LINE: ;清除该行 LCD 的字符 MOV R0,#24 CL1: MOV A,#' ' CALL WDATA DJNZ R0,CL1 RET ;----------------------------------------------------- ; 写指令、数据使能子程序 ;----------------------------------------------------- ENABLE: ;写指令使能 CLR LCD_RS ;RS=L,LCD_RW=L,D0-D7=指令码,E=高脉冲 CLR LCD_RW SETB LCD_EN CALL DELAY0 CLR LCD_EN RET ENABLE1: ;写数据使能 SETB LCD_RS ;RS=H,RW=L,D0-D7=数据,E=高脉冲 CLR LCD_RW SETB LCD_EN CALL DELAY0 CLR LCD_EN RETDELAY0: MOV R7,#250 ;延时500微秒 DJNZ R7,$ RET ;---------------------------------------------------- ;写入命令子程序 ;---------------------------------------------------- WCOM: ;以8位控制方式将命令写至LCD MOV P0,A ;写入命令 CALL ENABLE RET ;---------------------------------------------------- ;写入数据子程序 ;---------------------------------------------------- WDATA: ;以8位控制方式将数据写至LCD MOV P0,A ;写入数据 CALL ENABLE1 RET ;--------------------------------------------------- ;在 LCD 第二行显示字符 ;A=ASC DATA, B=LINE X POS ;--------------------------------------------------- LCDP2: ;在LCD的第二行显示字符 PUSH ACC ; MOV A,B ;设置显示地址 ADD A,#0C0H ;设置LCD的第二行地址 CALL WCOM ;写入命令 POP ACC ;由堆栈取出A CALL WDATA ;写入数据 RET

    赞(13)

    回复(0)

    评论

热门问答

51单片机---------基于简单IO口的LCD显示频率计设计
求报告!!!
2013-12-04 17:40:52 416 1
基于单片机的频率计设计用LM016L显示简单吗
 
2015-03-29 03:57:41 316 5
基于单片机的频率计设计
设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>1... 设计要求设计一个以单片机为核心的频率测量装置。使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED数码管显示出来。(1)被测频率fx<110Hz,采用测周法,显示频率×××. ×××;fx>110Hz,采用测频法,显示频率××××××。(2)利用键盘分段测量和自动分段测量。(3)完成单脉冲测量,输入脉冲宽度范围是100ms~0.1s。(4)显示脉冲宽度要求如下。Tx<1000ms,显示脉冲宽度×××。Tx>1000ms,显示脉冲宽度××××。 求大神给个程序,给个设计方,您之前给的失效了,谢谢大神 展开
2016-07-07 19:24:28 349 1
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 491 1
基于51单片机用LCD1602液晶显示的频率计程序
求程序——————
2013-04-23 19:11:42 355 1
基于51单片机的光电传感器的计数器设计
 
2018-11-16 15:26:33 304 0
基于AT89S52单片机的简易频率计的设计
要求: (1)测量范围。幅度:0.5V~5V;频率1HZ~1MHZ。 (2)测试误差≤0.1%。 (3)用4位数码管显示,当频率变化时,能通过数码管及时的看到变化后的频率
2015-01-14 10:41:12 445 2
基于51单片机的数字频率计设计(proteus仿真)
要求:实现外部方波,三角波,正弦波,锯齿波等常用波形的频率测量 (硬件设计,软件设计)
2012-06-03 00:12:36 464 3
怎样设计一个有整流滤波,DA转换的基于51单片机的频率计
 
2012-12-15 05:58:53 358 2
基于单片机的频率计
哪位大侠有基于单片机频率计的设计,范围1HZ到100MHZ,希望能不吝赐教啊。自己做的频率计仿真达不到要求。只能达到10M,卡在哪了,做不下去了。O(∩_∩)O谢谢了。
2012-05-08 03:40:25 263 3
51单片机电子频率计
电子频率计 (一)功能简述 数字频率计在计算机、通讯等科研领域是不可缺少的测量仪器。电子专业人才考试专用板板载NE555芯片,通过电位器Rb3可调节方波的参数。 (二)设计要求 1. 通过导线将硬件资源板上的Signal与单片机的P3.4口(定时/计数... 电子频率计 (一)功能简述 数字频率计在计算机、通讯等科研领域是不可缺少的测量仪器。电子专业人才考试专用板板载NE555芯片,通过电位器Rb3可调节方波的参数。 (二)设计要求 1. 通过导线将硬件资源板上的Signal与单片机的P3.4口(定时/计数器T0)相连接。 2. 使用四位八段共阳数码管显示信号频率。 3. 当信号频率在低于10Khz时,所有LED灯处于熄灭状态,数码管显示的频率单位为Hz。 4. 当频率超过10Khz时,与P1.0端口相连接的LED灯点亮,数码管显示的频率单位调整为Khz。 5. 要求可对0-250Khz的方波信号进行测量,要求误差不超过1%。 6. 考试过程中,应使用硬件平台指定的资源进行设计。 (三)设计文档 1. 系统示意图和程序流程图(提交WORD文档) 2. 电路原理图(Protel或Proteus文档) 3. 源程序(C或汇编) 展开
2014-08-02 01:25:22 404 2
基于51单片机8通道数据采集系统设计
设计要求:1、使用89C51和ADC0809构成8通道数据采集系统;2、要求有复位电路(包括上电复位和按键复位);3、要求上电以后,按下启动键后顺序采集各个通道的信号;4、先利用A/D转化器... 设计要求: 1、使用89C51和ADC0809构成8通道数据采集系统; 2、要求有复位电路(包括上电复位和按键复位); 3、要求上电以后,按下启动键后顺序采集各个通道的信号; 4、先利用A/D转化器对各路电压进行采样,得到相应的数字量,再经过数字量与模拟量的关系得到模拟电压值,然后在LED数码管上显示,采集信号的范围为:0-5V; 5、设置有停止按钮,按下后停止采集数据。 6、共用4个数码管,Z高位显示通道号,剩下3位,1位为整数位,两位为小数位。 展开
2012-06-25 06:31:58 393 1
单片机频率计设计
在下想做个频率计用来检测NE555的频率,那请问输入端电路怎么弄,以及程序的测量怎么写?
2015-08-06 12:10:34 532 1
基于51单片机的温度控制器
 
2012-04-13 16:49:36 344 2
你有没有 基于51单片机用LCD1602液晶显示的频率计程序
 
2013-05-20 02:57:49 355 1
求助,基于51单片机,激光测距
 
2018-11-30 04:20:40 409 0
:基于51单片机的脉冲信号发生器
[1]输出信号约每秒1组脉冲,脉冲组间隔0.5-2秒可设置;[2]每组脉冲个数1-50可以设置,双极性脉冲和双极性方波;[3]脉冲频率5K-100K可以设置;[4]脉冲宽度可以1-100uS可以设置;我的92... [1] 输出信号约每秒1组脉冲,脉冲组间隔0.5-2秒可设置;[2] 每组脉冲个数1-50可以设置,双极性脉冲和双极性方波; [3] 脉冲频率5K-100K可以设置;[4] 脉冲宽度可以1-100uS可以设置; 我的 921313685@qq.com谢啦 展开
2014-10-15 08:40:21 235 2
基于单片机C51的频率计电路图
1、要共阴数码显示。2、频率超过2K报警。3、蜂鸣器报警。可测1Hz到5KHz
2018-11-17 14:51:41 417 0
51单片机的LED显示
secondminutehour三个内容显示在八个LED上。是做电子时钟的显示部分。可以加QQ聊,能用会给报酬。... second minute hour 三个内容显示在八个LED上。是做电子时钟的显示部分。可以加QQ聊,能用会给报酬。 展开
2018-07-26 06:05:17 315 2
请教51单片机做频率计的问题
 
2018-05-19 07:18:06 337 1

12月突出贡献榜

推荐主页

最新话题