1.单片机数码管共阴极8个,写程序是怎么利用段选和位选void display(uchar bai,uchar shi,uchar ge)
{
dula=1;
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay(1);
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delay(1);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfb;
wela=0;
delay(1);
}
2. 难点是不是3-8译码每次只能有一个位选,只能显示一位啊?
这样试试:两个定时器,一个来定秒,定时到就更新一下准备写到数码管上的数据(可以同时更新8个数据对应8个数码管),另一个定时器定3-5ms级别,用来做数码管的刷新(就像显示器那种刷新频率的意思) 。1000ms/25帧/8个数码管 = 5ms,当然越快越好,看机器情况 。
每次刷新都全部重写8个数码管 。
这样的好处是:8个都可以随时更改显示内容,同时没有大量的延时程序,机器可以同时进行除了定时外其他工作,比如读温度,AD转换等等,比利用延迟方法的余辉显示效率高,不必把大量的时间浪费在延迟等待上,可以同时进行很多事情 。
缺点是:如果刷新显示的速度不够快,那么数码管显示会有闪烁现象 。
3.数码管段选定义 c语言程序【段选位选怎么写指令】这是段码显示表比如第一个0x28就是数码管的A,B,C,D,E,F(除了小数点和中间的横杠不亮)这样显示出来是数字0的样子,这个是0-9个数字加A-F这几个字母,然后外带一个0XFF全灭 。
用于显示不同的数字或字母 。这样直接寻址比如
i=0;
P*=sng_du[i]; //P*就是接数码管段码的P口 在加上位选信号比如sng_we1=1(或0)看你选择信号高有效还是低有效了,这样就显示数字0
当然i不一定是0,可以是你程序中需要显示的某个值
4.在单片机1602液晶显示的程序中,标记了以下的程序: sbit lcden=P3^先引用数据手册:
1602采用标准的16脚接口,其中:
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,
对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器 。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作 。当RS和RW共
同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,
当RS为高电平RW为低电平时可以写入数据 。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令 。
第7~14脚:D0~D7为8位双向数据线 。
第15~16脚:空脚
你这里,dula和wela是控制数码管的吧,只有数码管才会有段选和位选的说法,液晶是没有用段选和位选来进行控制的 。
至于数码管,位选是用来确定你要控制的是哪个数码管的,段选是你要控制数码管的哪个段位的,但是这里应该要用一组八位的IO才对,不能只用一个位来做段选和位选的 。
使能端置零,液晶模块就开始执行命令咯 。
5.用89C51驱动8个共阳极数码管,在用汇编语言编写显示程序时如何选用P1口来进行七段数据输出,用HC164来数码管的片选扫描
后面程序的编写就很简单了,HC164是个串行转并行的移位输出集成电路,也就是说每来一个时钟信号,在上升沿的时候进行一次移位,在移位之前AB输入数据信号
你这里使用的是共阳数码管,那么在程序开始的时候AB输入高电平,然后发一个时钟脉冲,之后拉低AB电平,发7个时钟脉冲,这样为一个周期,就会使Q0-Q7进行一次轮流扫描,产生一个连续的片选信号 。
- 青协年度工作计划怎么写
- Xue拼音第声汉字怎么写
- 写小说多了容易混淆怎么记
- 口语交际请让我来帮帮你怎么写
- 15454的竖式怎么写
- 家用英语怎么写怎么画
- 做一个绿色饭店的培训怎么写通知
- 组织全体村民聚会通知怎么写
- 古代猿人数字115怎么写
- 帮人借贷的话要怎么写协议书