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

数字频率计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 lon

g 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); }


相关文章:
12864液晶显示
12864液晶显示_信息与通信_工程科技_专业资料。单片机...即液晶显示器, 是一种数字显示技术, 可以通过液晶和...在平时,ALE 端 以不变的频率周期输出正脉冲信号,...
LCD12864显示矩阵键盘输入的任意两位数
LCD12864显示矩阵键盘输入的任意两位数_电子/电路_工程科技_专业资料。本程序采用LCD12684串行显示矩阵键盘输入的任意两位数,只用到矩阵键盘的0-9十个数字键/...
LCD12864液晶显示电子钟设计
LCD12864 液晶显示电子钟设 计 系 ( 部 ) 专业 ...液晶显示器第一行显示数字电子钟” ;第二行显示...的振荡电路上,两个电容是起振电容,频率越高,应该...
12864液晶显示图片原理(完整版)
点阵 LCD 的显示原理 在数字电路中,所有的数据都是以 0 和 1 保存的,对 ...一、ST7920 控制 IC 的 LCD12864 实现反 白显示 从使用手册上可知,扩展指令...
尹其畅 12864液晶显示的基本操作
9FH 2 LCD12864 显示原理 2.1 汉字和英文显示原理在数字电路中,所有的数据都是以 0 和 1 保存的,对 LCD 控制器进行不同的数据操 作,可以得到不同的结果...
12864 显示图片和数字
12864 显示图片和数字_数学_自然科学_专业资料。#include<reg52.h> #include<...//EN 为 0 } /***显示位置***/ void set_xy_LCD(unsigned char x,unsign...
12864液晶显示图片原理(完整版)
芯片:YM12864R P-1 控制芯片:ST7920A 初步小结: 初步小结: 1、 控制芯片不...点阵 LCD 的显示原理 在数字电路中,所有的数据都是以 0 和 1 保存的,对 ...
12864报警显示系统
毕业设计(论文) 题 目: 系: 12864 报警显示系统 ...其中,段式 LCD 和字符式 LCD 只能 用于字符和数字...(5)2MHZ 时钟频率 (6)显示方式:STN、半透、正...
数字频率计
本次数字频率计将采用定时、计数的方法测量频率,采用一个 LCD12864 液晶显示器动 态显示 7 位数,测量频率范围 0Hz—250kHz 的信号。 2 硬件设计 2.1 系统...
12864液晶显示
12864液晶显示_信息与通信_工程科技_专业资料。应用...控制器及必要的连接、结构部件 等,可以显示数字和...(starty-0x80); //上半屏计数值--行循环 write...
更多相关标签:
数字显示频率计 | 数字频率计 | 数字频率计课程设计 | 简易数字频率计设计 | 数字频率计的设计 | 简易数字频率计 | 数字频率计设计 | 数字频率计论文 |