www.whkt.net > unsignED ChAr B[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,...

unsignED ChAr B[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,...

0xfe=1111 1110b 0xfd=1111 1101b 0xfb=1111 1011b 0xf7=1111 0111b.看出规律来了吗 这是一个流水灯的程序吧!?(0的位置)

unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; 这些数据是控制选通一行或者一列的,这八个数分别控制第1,2,3,4,5,6,7,8行/列 你的点阵是低电平有效.

uchar LED_table[4][2] = {{0xfe, 0xfd}, {0xfb, 0xf7}, {0xef, 0xdf}, {0xbf, 0x7f}};

你好!这就是几个数据,没什么意思如果对你有帮助,望采纳.

unsigned char code displaybit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};定义数码管显示位选数组unsigned char code displaycode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,

unsigned code dis[] = {0xfe,0xfd,0xfb,0xf7};简单化成二进制 11111110 11111101 11111011 11110111这是位选代码一般用于八位数码管(我只用过数码管)

你把这八个小灯直接连接到单片机上的I/O上,直接在程序里面控制它的数值就行了,很简单

十六进制数,0x表示十六进制,0,1,29,a,b..f表示0,1,2,15的数字.0xfe=15*16+14=254.其它同理运算.

uchar dispbuf[8];是指以unchar的形式,定义dispbuf[]数组,这个数组用作,存放缓冲数据,如下面主程序用到dispbuf[i] = 0;既是往缓冲区存放数据/*******************************主函数***********************/main(){ uchar i; for(i=0;i 评论0 0 0

程序错在这一句: for (;b>=0;b--)//从8到0 显示 程序在这里死循环了,当了减到0再减就变成0xFF,这时候b大于0又继续减,而显示的就是乱码,因为数组里没有数据. 你可以这样,定义数组的时候多加0xFF, const unsigned char design[9]={0xFF,0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; 然后b就从1~9,这样就可以避免了你那种情况. 还有一种更简单的方法就是你把b定义成有符号数,char b,不要定义成无符号数unsigned char b.

相关搜索:

网站地图

All rights reserved Powered by www.whkt.net

copyright ©right 2010-2021。
www.whkt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com