当前位置:首页 >> 信息与通信 >>

数字频率计12864显示


#include <reg52.h> #include "TM12864.h"

unsigned char timercount; unsigned char disbuf[6]={0,0,0,0,0,10}; unsigned long freq; unsigned long int zhouqi; unsigned long b; unsigned long T0count; //计数器

/* void freq_pos() { unsigned int us=1000000; zhuoqi=us/freq; disbuf[5]=zhuoqi%10+48; b=zhuoqi/10; disbuf[4]=b%10+48; b=b/10; disbuf[3]=b%10+48; //把频率转换成周期值,并把各位拆开

b=b/10; disbuf[2]=b%10+48; b=b/10; disbuf[1]=b%10+48; disbuf[0]=b/10+48; } */

void timer_1(void) interrupt 1 { TH0=0xdc; TL0=0x00; timercount++; if(timercount==100) { TR1=0; timercount=0;

//每次中断 10MS

//等待定时时间 //T0 为定时器,T1 为 16 位计数器

freq=T0count*65536+TH1*256+TL1; // freq=freq*16; TH1=0; TL1=0; TR1=1; }

}

void t0(void) interrupt 3 { T0count++; }

void freq_f() {

//拆开频率值

/* disbuf[5]=freq%10+48; b=freq/10; disbuf[4]=b%10+48; b=b/10; disbuf[3]=b%10+48; b=b/10; disbuf[2]=b%10+48; b=b/10; disbuf[1]=b%10+48; disbuf[0]=b/10+48; */

disbuf[0]=(freq/100000)+48; disbuf[1]=((freq%100000)/10000)+48; disbuf[2]=(((freq%100000)%10000)/1000)+48; disbuf[3]=((((freq%100000)%10000)%1000)/100)+48; disbuf[4]=(((((freq%100000)%10000)%1000)%100)/10)+48; disbuf[5]=(((((freq%100000)%10000)%1000)%100)%10)+48; }

void disp_freq(void) { unsigned char i;

//频率显示

write_12864com(0x8a); for(i=0;i<6;i++) { write_12864dat(disbuf[i]); delay_50us(1); } }

void main() {

initinal(); TMOD=0x51; EA=1; ET0=1; TH0=0xdc; TL0=0x00; TH1=0; TL1=0; TR0=1; TR1=1; display3(); display(); while(1) { freq_f(); disp_freq(); //T0 为定时器,T1 为 16 位计数器

} }

/********************************************************** ********************* *TM12864 * * * *********************************************************** *********************/ #include <intrins.h> #define uchar unsigned char #define uint unsigned int /************* 12864LCD 引脚定义 *************/ #define LCD_data P0 sbit RS = P2^6; sbit RW = P2^5; sbit EN = P2^7; sbit PSB = P2^4; //数据口 //寄存器选择输入 //液晶读/写控制 //液晶使能控制 //串/并方式控制 12864 标 准 字 库 液 晶 演 示 数 据 p0, 控 制 p2 描 述 :

uchar table[]="Frequence is:"; uchar table1[]="HZ";

void write_12864com(uchar com); void write_12864dat(uchar dat); void initinal(void); void display3(void); void display(void);

void delay_50us(uint t) { uint j; for(;t>0;t--) for(j=19;j>0;j--); }

//延时 50US

void delay_50ms(uint t) { uint j; for(;t>0;t--) for(j=6245;j>0;j--); }

//延时 50MS

void display(void) {

//显示 HZ

uchar i; write_12864com(0x8d); for(i=0;i<3;i++) { write_12864dat(table1[i]); delay_50us(1); } }

void display3(void) { uchar i;

// 显示 Frequenceis:

write_12864com(0x80); for(i=0;i<13;i++) { write_12864dat(table[i]); delay_50us(1); } }

void write_12864com(uchar com) //写指令 {

RS = 0; RW = 0; delay_50us(1); P0 = com; EN = 1; delay_50us(10); EN = 0; delay_50us(2); }

void write_12864dat(uchar dat) //写数据 {

RS = 1; RW = 0; delay_50us(1); P0 = dat; EN = 1;

delay_50us(10); EN = 0; delay_50us(2); }

void initinal(void) { delay_50ms(2);

//LCD12864 初始化

write_12864com(0x30); delay_50us(4); write_12864com(0x30); delay_50us(4); write_12864com(0x0c); delay_50us(4); write_12864com(0x01); delay_50us(240); write_12864com(0x06); delay_50us(10); }



相关文章:
液晶数字频率计
数字频率计的发展趋势是由模拟器件设计数字频率计逐步转变为数字芯片设计 数字频率...本系统采用屏液晶显示,型号为MFC-G12864 。 关键词:频率计, CPLD,单片机 ,...
数字频率计_图文
考虑到上述问题,需设计一个具有测量 迅速,精确度高,显示直观等优点的数字频率计数字频率计设计方案选择:硬件系统以 AT89S52 单片机为控制核心,辅以 12864 液晶...
基于51单片机的数字频率计
基于51单片机的数字频率计 - 基于 51 单片机的数字频率计 姓名:杜涛 学校:中国矿业大学 学院:信电学院 学号:04141237 班级:信息一班 共 22 页,第 1 页 目 ...
简易数字频率计_图文
2 简易数字频率计 译码显示器 锁存器 时基电路 计数器 闸门电路 fx 整形电路 图 1-2 数字频率计原理图 如图 1-2 所示此频率计的主体电路由时基电路、整形...
数字频率计
1.3 本文研究的主要内容本次设计的数字频率计是一种用液晶显示被测信号频率的测量仪器.它的基本功能 是测量正弦信号、方波信号、三角波信号。本文讲述了数字频率计...
数字频率计的设计
数字频率计设计 1 49 徐志朗 11192127 2013 年 5 月 15 日 0 单片机课程...接收的TTL信号,以便单片机对其进行频率测量,最后将测得的数 据通过12864液晶显示...
数字频率计设计
数字频率计设计_信息与通信_工程科技_专业资料。本人课程设计,有错误之处请谅解...LM1117_3.3 组成,实现对 MSP430F149 核心处理芯片和 LCD12864 液晶显示提供...
唐旭酉--数字频率计
2 设计任务 2.1 设计内容以单片机为核心,设计一个数字频率计,进行频率的自动测量,并用 12864 液晶屏的第一行显示数 字频率计” ,第二行显示设计者的姓名和...
数字频率计
设计一个数字频率计,进行频率的自动测量,并用 12864液晶屏的第一行显示数字频率计” , 第二行显示设计者的姓名和学号, 第三行显示测量的频率值(单位:HZ)。...
基于单片机数字频率计设计
本次为测量方波信号的数字频率计设计,设计要求如下: (1)频率测量:0Hz~250kHz; (2)频率,周期显示切换 (3)用图形液晶 LCD12864 显示数值和单位 设计思路 由于...
更多相关标签: