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

数字频率计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); }


相关文章:
51单片机1602液晶显示频率计
51单片机1602液晶显示频率计_工学_高等教育_教育专区。摘 要 在电子领域内,...目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。为适应...
液晶数字频率计
数字频率计的发展趋势是由模拟器件设计数字频率计逐步转变为数字芯片设计 数字频率...本系统采用屏液晶显示,型号为MFC-G12864 。 关键词:频率计, CPLD,单片机 ,...
数字频率计_课程设计报告
被测信号频率通过计数锁存可直接从计数显示器上读出。 各点的波形如图; 数字频率计的工作时序波形 其中,1 路为未知频率波形,2 路为时基波形,3 路为计数信号 ...
唐旭酉--数字频率计
2 设计任务 2.1 设计内容以单片机为核心,设计一个数字频率计,进行频率的自动测量,并用 12864 液晶屏的第一行显示数 字频率计” ,第二行显示设计者的姓名和...
数字频率计的设计
数字频率计设计 1 49 徐志朗 11192127 2013 年 5 月 15 日 0 单片机课程...接收的TTL信号,以便单片机对其进行频率测量,最后将测得的数 据通过12864液晶显示...
数字频率计
计数芯片 74LS90﹑边沿控制锁存器 74LS273﹑用于数码管显示的译码器 CD4511﹑以及时基芯片 555 和双可重复单稳 态触发器 74LS123,共同完成了数字频率计的设计...
数字频率计
每次编译时都会出现很多错误,通过和同学讨 论、交流,有的地方仍然存在问题,只好向老师求教,在指导老师的帮助下我们组终于完 成了本次 EDA 课程设计:数字频率计。...
51单片机1602LCD显示数字频率计
51单片机1602LCD显示数字频率计_计算机硬件及网络_IT/计算机_专业资料。51单片机1602LCD显示数字频率计51 单片机 1602LCD 显示数字频率计 ;硬件连接:1602lcd 显示 000...
数字频率计
1.3 本文研究的主要内容本次设计的数字频率计是一种用液晶显示被测信号频率的测量仪器.它的基本功能 是测量正弦信号、方波信号、三角波信号。本文讲述了数字频率计...
数字频率计
本次数字频率计将采用定时、计数的方法测量频率,采用一个 LCD12864 液晶显示器动 态显示 7 位数,测量频率范围 0Hz—250kHz 的信号。 2 硬件设计 2.1 系统...
更多相关标签: