51单片机,8个数码管循环显示1-9的C语言程序。
发布网友
发布时间:2023-07-03 19:28
我来回答
共1个回答
热心网友
时间:2023-10-03 20:52
假设8个数码管公共端均接地,同时显示1-9\x0d\x0a#include
\x0d\x0a#include\x0d\x0a#defineucharunsignedchar\x0d\x0a#defineuintunsignedint\x0d\x0aucharcodeDSY_CODE[]=\x0d\x0a{\x0d\x0a0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff\x0d\x0a};\x0d\x0avoidDelayMS(uintx)\x0d\x0a{\x0d\x0auchart;\x0d\x0awhile(x--)\x0d\x0afor(t=120;t>0;t--);\x0d\x0a}\x0d\x0avoidmain()\x0d\x0a{\x0d\x0auchari=0;\x0d\x0aP0=0x00;\x0d\x0awhile(1)\x0d\x0a{\x0d\x0aP0=~DSY_CODE[i];\x0d\x0ai=(i+1)%10;/*显示0-9*/\x0d\x0aDelayMS(200);\x0d\x0a}\x0d\x0a}\x0d\x0a下面程序从左到右显示\x0d\x0a#include\x0d\x0a#include\x0d\x0a#defineucharunsignedchar\x0d\x0a#defineuintunsignedint\x0d\x0a\x0d\x0aucharcodeDSY_CODE[]=\x0d\x0a{\x0d\x0a0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90\x0d\x0a};\x0d\x0a\x0d\x0avoidDelayMS(uintx)\x0d\x0a{\x0d\x0auchari;\x0d\x0awhile(x--)\x0d\x0a{\x0d\x0afor(i=200;i>0;i--);\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0avoidmain()\x0d\x0a{\x0d\x0auchari,k=0x80;\x0d\x0awhile(1)\x0d\x0a{\x0d\x0afor(i=8;i>0;i--)\x0d\x0a{\x0d\x0aP2=0xff;\x0d\x0ak=_crol_(k,1);\x0d\x0aP0=DSY_CODE[8-i];\x0d\x0aP2=k;\x0d\x0aDelayMS(3);\x0d\x0a}\x0d\x0a}\x0d\x0a}