请大家帮忙一下!按下面的原理图编一段程序,使共阴极8位数码管从左至由依次显示12345678。 拜托拜托!!
为了帮助您解决此问题,我将提供一个示例程序,该程序使用通用阴极的8 位数字管从左到右显示右至右。在这里,我将使用普通的5 1 个微控制器来解释,并假设数字管的位选择线和段选择线已正确连接。
首先,必须编写功能以控制数字管的位选择。
位选择线用于控制数字管的显示位置。
以下是一个简单的位选择函数示例:vouddigit_select(uint8 _tdigit){switch(digit){情况0:p0 = 0x8 0; //位选择行0高级制动器; 情况1 :p0 = 0x4 0; 好吧b b eak; 案例4 :p0 = 0x08 ; //位选择行4 高级制动器; 案例5 :p0 = 0x04 ; //位选择行5 高级制动器; 案例6 :p0 = 0x02 ; 工作以显示特定的数字。
我们使用段线选择来控制数字管显示的数字。
以下是一个简单的部分选择函数示例:vouddisplay_digit(uint8 _tdigit){switch(digit){情况0:p1 = 0x3 f; 1 = 0x6 6 ; //显示数字4 break; 案例5 :p1 = 0x6 d; //显示数字5 break; case6 :p1 = 0x7 d; //显示数字6 brect; 案例7 :p1 = 0x07 ; 该功能,将上述两个任务混合,然后从左到右序列显示1 2 3 4 5 6 7 8 主要功能如下:intmain(){while(1 ){for(uint8 _ti = 0; i <8 ; i ++)){digit_select(i); 数字管。
根据实际情况,您可能需要调整特定的PIN定义。
8位数码管是怎么显示的?
8 位数字管可以视为8 个小灯泡。例如,如果要显示1 ,则右侧的两个小灯泡可以打开。
按照一定顺序,在显示不同的值(例如0到9 )期间,8 个小灯泡(例如Abcdefgh)在显示这十个数字时的小灯泡数量的记录将形成所谓的“代码”。
在其他应用程序中,只要小灯泡根据先前记录的代码和某个代码点亮,就必须显示相应的编号。
已知共阳极8段LED数码管的显示数字的字形码如下(求详解!)
说明为:movdptr,#ledtabmovca,@a+dptrmovp0,假设段代码连接到P0端口。当a是一定数字时,请检查表以获取数字的截面代码。