1.51单片机(四位数码管的显示)程序基于单片机V1或V2实验系统, 爱
下面这个程序是4x4距阵键盘,LED数码管显示,一共可以到0-F显示,你可以稍微改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!#includeunsigned char code Dig[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //数码管 0-F 代码 unsigned char k; //设置全局变量k 为键盘的键值/************************************键盘延时函数****************************/void key_delay(void) //延时函数{ int t; for(t=0;t}/************************************键盘扫描函数******************************/void keyscan(void) //键盘扫描函数{ unsigned char a; P2 = 0xf0; //键盘初始化 if(P2!=0xf0) //有键按下? { key_delay(); //延时 if(P2!=0xf0) //确认真的有键按下? { P2 = 0xfe; //使行线P2。
4为低电平,其余行为高电平 key_delay(); a = P2; //a作为缓存 switch (a) //开始执行行列扫描 { case 0xee:k=15;break; case 0xde:k=11;break; case 0xbe:k=7;break; case 0x7e:k=3;break; default:P2 = 0xfd; //使行线P2。 5为低电平,其余行为高电平 a = P2; switch (a) { case 0xed:k=14;break; case 0xdd:k=10;break; case 0xbd:k=6;break; case 0x7d:k=2;break; default:P2 = 0xfb; //使行线P2。
6为低电平,其余行为高电平 a = P2; switch (a) { case 0xeb:k=13;break; case 0xdb:k=9;break; case 0xbb:k=5;break; case 0x7b:k=1;break; default:P2 = 0xf7; //使行线P2。 7为低电平,其余行为高电平 a = P2; switch (a) { case 0xe7:k=12;break; case 0xd7:k=8;break; case 0xb7:k=4;break; case 0x77:k=0;break; default:break; } } } break; } } }}/****************************** ***主函数*************************************/void main(void){ while(1) { keyscan(); //调用键盘扫描函数 switch(k) //查找按键对应的数码管显示代码 { case 0:P0=Dig[0];break; case 1:P0=Dig[1];break; case 2:P0=Dig[2];break; case 3:P0=Dig[3];break; case 4:P0=Dig[4];break; case 5:P0=Dig[5];break; case 6:P0=Dig[6];break; case 7:P0=Dig[7];break; case 8:P0=Dig[8];break; case 9:P0=Dig[9];break; case 10:P0=Dig[10];break; case 11:P0=Dig[11];break; case 12:P0=Dig[12];break; case 13:P0=Dig[13];break; case 14:P0=Dig[14];break; case 15:P0=Dig[15];break; default:break; //退出 } } }/**********************************end***************************************/。
2.如何做数码管显示0
这个也能做毕业设计
/* 程序详细功能介绍:
* 利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阳数码管的a-h的笔段上,
* 数码管的公共端通过三极管8550选通。在数码管上循环显示0-9数字,显示时间的间隔可通过修改延时程序。
* LED数码显示原理:
* 七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,
* 可分成共阴极型和共阳极型。
* LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,
* 不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,
* 由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。
* 下面给出共阳极的字形码
*/
#include <AT89X51.H>
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char dispcount;
void delay02s(void);
void main(void)
{
P1_0=0;//选通第一位数码管的阳极位选端,即给数码管的共阳极供电
while(1)
{
for(dispcount=0;dispcount<10;dispcount++)
{
P0=table[dispcount];
delay02s();
}
}
}
void delay02s(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=30;j>0;j--)
for(k=248;k>0;k--);
}
3.数字钟的论文
摘要(数字钟)实际上是一个对标准频率(1HZ)进行计数的计数电路。
(数字钟论文)我们使用石英晶体振荡器电路构成数字钟。以10进制计数器74HC390来实现时间计数单元的计数功能。
采用CD4511作为显示译码电路。选择LED数码管作为显示单元电路。
(数字钟论文)由CD4511把输进来的二进制信号翻译成十进制数字,再由数码管显示出来。用COMS与或非门实现的时或分校时电路。
该电路还有在整点前10秒钟内开始整点报时的功能。报时电路可选74HC30来构成。
时间以12小时为一个周期。(数字钟论文) 关键词数字钟;石英晶体振荡器;计数;校时电路 摘要 ……………………………………………………………………2关键字 …………………………………………………………………2一、设计目的……………………………………………………………3二、设计要求……………………………………………………………3三、原理框图……………………………………………………………3四、元器件………………………………………………………………7五、各功能块电路图…………………………………………………10六、总接线元件布局简图……………………………………………14七、设计体会…………………………………………………………15八、参考文献…………………………………………………………15 数字钟 一、设计目的数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,节省了电能。
因此得到了广泛的使用。数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。
通过设计加深对刚刚学习了的数字电子技术的认识。我们此次设计数字钟是为了了解数字钟的原理,加深对我们所学知识的了解和认识、以及知识迁移的能力。
而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。且由于数字钟包括组合逻辑电路和时叙电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,以及各种电路之间的怎样联系起来的。
(数字钟论文)二、设计要求(1)设计指标 ① 时间以12小时为一个周期。② 显示时、分、秒。
③ 具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间。④ 计时过程具有报时功能,当时间到达整点前10秒进行蜂鸣报时。
⑤ 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。(2)设计要求① 画出电路原理图。
② 元器件及参数选择。③ 电路仿真与调试。
(3)编写设计报告,写出设计与制作的全过程,附上有关资料和图纸,有心得体会。三、原理框图 (数字钟论文)1.数字钟的构成数字钟实际上是由一个对标准频率(1HZ)进行计数的计数电路为主要部分构成的。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路来构成数字钟的标准时间基准信号。
数字钟的组成框图如下图所示。 2.晶体振荡器电路(数字钟论文)晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,它可以保证数字钟的走时准确及稳定。
不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振荡器电路通常有两类,一类是用TTL门电路构成;另一类是通过CMOS非门构成的电路,本次设计采用了后一种。
如图(b)所示,由CMOS非门U1与晶体、电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波。输出反馈电阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。
电容C1、C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。
(数字钟论文)CMOS 晶体振荡器的图形如下 3.时间记数电路(数字钟论文)一般采用10进制计数器如74HC290、74HC390等来实现时间计数单元的计数功能。本次设计中我们选择的是74HC390。
其内部逻辑框图如右上图。由其内部逻辑框图可知,其为双2-5-10异步计数器,并每一计数器均有一个异步清零端(高电平有效)。
秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。
秒十位计数单元为6进制计数器,我们需要对它进行进制转换。将10进制计数器转换为6进制计数器的电路连接方法如图 2.4所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。
分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的。
4.求一篇关于“简易数显毫伏表设计”的毕业论文
简易数字电压表的设计
论文编号:JD898 包括开题报告,任务书,外文翻译,论文字数:9215,页数:26
摘 要
在现代检测技术中,常需用高精度数字电压表进行现场检测。本文中的数字电压表控制系统采用AT89C51单片机,A/D转换采用ADC0809,以此实现数字电压表的功能。该系统的数字电压表电路简单,所用的元件较少,成本低,还可以方便地测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。
关键词: AT89C51;数字电压表;A/D转换;ADC0809
Abstract
Designing of Simple Digital Voltmeter
In modem measuring technology, the digital voltmeter is often used in site measuring. The control system of digital voltmeter that described in this paper uses AT89c51, and A/D converter uses ADC0809 to perform the design of the digital voltmeter. The voltmeter has simple electrical circuit,few elements and low cost .The meter has the capability of measuring 8 voltage inputs from 0 to 5 volt at one time, and displays the measurements in turn or only displays one route that selected.
Key words: AT89c51;digital voltmeter; A/D conversion;ADC0809
摘 要 I
Abstract II
第1章 绪论 1
1.1 问题的提出及研究背景 1
1.2 国内外研究现状和发展趋势 2
1.3 本设计的要求及所做的工作 3
第2章 系统硬件电路的设计 4
2.1 系统总体设计 4
2.1.1 设计思路 4
2.1.2 元件选择 5
2.2 系统各模块电路的设计 6
2.2.1输入模块 6
2.2.2 A/D转换模块 7
2.2.3 单片机模块 8
2.2.4 LED数码管显示模块 9
2.3系统总电路 9
第3章 系统程序设计 11
3.1 主程序设计 11
3.2 各子程序设计 11
3.2.1 A/D转换子程序 11
3.2.2 数据处理子程序 12
3.2.3 显示子程序 13
第4章 电路的仿真与调试 14
总 结 15
参考文献(References) 16
致 谢 17
附 录 18
附录1: 简易数字电压表电路仿真图 18
附录2: 简易数字电压表电路原理图 19
附录3: 简易数字电压表电路PCB图 20
附录4: 源程序代码 21
以上回答来自:
5.用AT89C51单片机实现四位数码管显示数据
#include