ZKX's LAB

51单片机数码管实验位选和段选问题(共阴极) 51单片机七段数码管试验报告

2021-04-09知识13

51单片机数码管显示实验报告 最低0.27元开通文库会员,查看完整内容>;原发布者:我和你一起love51单片机数码管显示实验实验内容:1)编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复。2)C语言程序#include#defineuintunsignedintvoiddisplay();voidnum();inti;unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};共阳极数码管0-F编码表e69da5e6ba907a6431333433623766voiddelayms(uint);voidmain(){while(1){num();display();}}voiddisplay(){P2=0xff;消隐P0连接段选,P1节位选P1=0x00;8个数码管同时显示P2=table[i];数码管显示数码0delayms(1000);延时5ms}voidnum(){if(i)i+;elsei=0;}voiddelayms(uintx){uinti,j;for(i=0;i;i+)for(j=0;j;j+);}3)汇编语言:ORG0000HLJMPMAINORG0100H;P2连接段选,P1节位选MAIN:MOVP1,#00H;所有的数码管都显示MOVR2,#00H;从0开始显示LOOP:MOVA,R2;为下面的基址加变址寄存器寻址方式做准备MOVDPTR,#TAB1;把数组的首地址赋给DPTRMOVCA,@A+DPTR;取数组中的数字MOVP2,A;把取得的值送给P0口显示ACALLDEL

51单片机设计,求用一个按键能显示一个七段数码管1~7的c语言程序。 #includedefine uchar unsigned charuchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit key=P1^0;main(){uchar i,key;i=1;while(1){P1=table[i];if(key=0){while(key=0);i+;if(i>;7)i=1;}}}

51系列单片机输出结果不想七段数码管显示,而想通过语音实现?怎么办?能否提供相应方案? 采用语音芯片比如ISD4004.参考这位博主的资料吧:http://blog.163.com/lws1986@126/blog/static/74514945201062610741594/

随机阅读

qrcode
访问手机版