谁会单片机51系列的点阵C语言程序????求帮助
4个回答
展开全部
流动显示1
#include<reg51.h>
unsigned char code tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //列选通控制
unsigned char code digittab[8]={0x00,0x00,0x00,0x00,0x00,0x21,0x7f,0x01};//显示1
unsigned int timecount1 , timecount2; //定义的变量
unsigned char cntx=8 ;
unsigned char cnty=8 ;//cntx列控制数的变量
void main(void)
{
while(1)
{
P2=tab[(cntx-cnty)%8]; // 列线
P0=digittab[cntx-8]; // 行线
//用于控制动态扫描的速度
if(++timecount1>=40)
{
timecount1=0;
if(++cntx>=16) cntx=8;
}
//用于控制动字符间的切换速度
if(++timecount2>=10000)
{
timecount2=0;
if(++cnty>=8)cnty=0;
}
}
}
#include<reg51.h>
unsigned char code tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //列选通控制
unsigned char code digittab[8]={0x00,0x00,0x00,0x00,0x00,0x21,0x7f,0x01};//显示1
unsigned int timecount1 , timecount2; //定义的变量
unsigned char cntx=8 ;
unsigned char cnty=8 ;//cntx列控制数的变量
void main(void)
{
while(1)
{
P2=tab[(cntx-cnty)%8]; // 列线
P0=digittab[cntx-8]; // 行线
//用于控制动态扫描的速度
if(++timecount1>=40)
{
timecount1=0;
if(++cntx>=16) cntx=8;
}
//用于控制动字符间的切换速度
if(++timecount2>=10000)
{
timecount2=0;
if(++cnty>=8)cnty=0;
}
}
}
更多追问追答
追问
我是两个8x8,上面一个下面一个,组成的16x8点阵,显示的是89ATC51前面显示正常,就是最后一个1只能滚动到中间就跳了,然后接着显示A。这是怎么回事?
加756355274交流吧
追答
if(++cnty>=8)cnty=0;
到第8列的时候让它回去了。
同理!
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是一种由意法半导体(STMicroelectronics)公司设计和生产的单片机系列,广泛用于嵌入式系统、物联网(IoT)设备、汽车电子、工业自动化等领域。STM32具有以下优点:1. 低功耗:STM32单片机通常具有较低的功耗,...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
可以在proteus下仿真的啊 看看效果 挺好的
交流
交流
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要根据点阵的电路图去编写程序
追问
就是修改下。有错误,。加我吧,756 &355 #274 到时候改对了我付5分你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询