基于proteus的51单片机仿真实例七十八、使用BCD译码器实现8位数码管显示应用实例
来源:互联网 发布:access数据库教材推荐 编辑:程序博客网 时间:2024/05/16 06:55
1、在此前有关数码管显示的例子中,单片机必须要发送段码才能够让数码管显示正确的数字。
本例使用7段数码管显示译码器4511,单片机可以直接输出BCD码,4511能够自动将BCD码转换为数码管的段码。
2、在keil c51中新建工程ex66,编写如下程序代码,编译并生成ex66.hex文件
//使用BCD码译码器控制数码管显示
#include <reg51.h>
#include <reg51.h>
//位码表
unsigned char code bit_buff[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//需要显示的数字
unsigned char code bcd_buff[] = {2,0,1,0,10,2,10,9};
unsigned char code bit_buff[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//需要显示的数字
unsigned char code bcd_buff[] = {2,0,1,0,10,2,10,9};
//延时函数
void delayms(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i = 0;i < 120;i++);
}
}
void delayms(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i = 0;i < 120;i++);
}
}
void main(void)
{
unsigned char i;
while(1)
{
for(i = 0;i < 8;i++) //显示8位
{
P2 = bit_buff[i]; // 位码
P1 = bcd_buff[i]; //需要显示的数字,这里的数字不再是段码,而是BCD码
{
unsigned char i;
while(1)
{
for(i = 0;i < 8;i++) //显示8位
{
P2 = bit_buff[i]; // 位码
P1 = bcd_buff[i]; //需要显示的数字,这里的数字不再是段码,而是BCD码
3、在proteus中新建仿真文件ex66.dsn,电路原理图如下所示
4、将ex66.hex文件载入at89c51中,启动仿真,按动拨码开关,观察运行结果。下图是某一时刻程序运行结果
阅读全文
0 0
- 基于proteus的51单片机仿真实例七十八、使用BCD译码器实现8位数码管显示应用实例
- 基于proteus的51单片机仿真实例六十、8位数码管显示实例
- 基于proteus的51单片机仿真实例七十九、8位数码管驱动芯片max7221应用实例
- 基于proteus的51单片机仿真实例五十九、1位数码管显示实例
- 基于proteus的51单片机仿真实例七十三、3-8译码器74HC138应用实例
- 基于proteus的51单片机仿真实例七十四、4-16译码器74HC154应用实例
- 基于proteus的51单片机仿真实例六十八、8位数据锁存器74HC573应用实例
- 基于proteus的51单片机仿真实例七十七、使用555实现定时功能应用实例
- 基于proteus的51单片机仿真实例七十六、8-3编码芯片74HC148应用实例
- 基于proteus的51单片机仿真实例二、关于proteus
- 基于proteus的51单片机仿真实例二十四、C51中位运算符演示实例
- 基于proteus的51单片机仿真实例六十三、字符液晶LCD1602显示单个字符实例
- 基于proteus的51单片机仿真实例六十四、字符液晶LCD1602显示字符串实例
- 基于proteus的51单片机仿真实例六十九、串口转并口器件74HC164应用实例
- 基于proteus的51单片机仿真实例七十一、并口转串口器件74HC165应用实例
- 基于proteus的51单片机仿真实例八十、模数转换器ADC0832应用实例
- 基于proteus的51单片机仿真实例四、第一个proteus仿真实例
- 基于proteus的51单片机仿真实例五、第一个proteus仿真实例(续)
- java笔记 项目分析
- Spring配置事务中@Transactional各个属性定义
- [一天几个linux命令] 改变权限:chmod
- 最小哈密顿环 广度优先 深度优先 爬山法 分支界限法 代码实现
- 关于properties的简单介绍
- 基于proteus的51单片机仿真实例七十八、使用BCD译码器实现8位数码管显示应用实例
- 淘宝关了我的店封了我的号, 严重歧视程序员开店
- 读懂“法定准备金、超额准备金、备付金、超储率”及其政策含义
- 第二个CasperJS
- pygal-直方图
- Android studio插件--SelectorChapek使用demo
- 基于proteus的51单片机仿真实例七十九、8位数码管驱动芯片max7221应用实例
- checkbox批量删除功能
- C++ 拷贝构造函数 赋值构造函数