|
在论坛里看到坛友的文章5毛单片机解决淘汰共享干衣架实现倒计时(FT61FC43)
https://www.mydigit.cn/forum.php?mod=viewthread&tid=483741&fromuid=1329198
(出处: 数码之家)
感觉出差买一个烘干衣架也不错,FMD的单片机没有玩过,就利用手头现有的STC15W408AS单片机重新打板子做了一个
https://oshwhub.com/zhousz2000/gan-yi-ji
板子选用1mm厚度的,除了单片机和HT7133其他都是从原来的板子上搬过来的
控制口既可以接原来电路也可以接STC编程器在线编程
程序写的比较简单,1,2,3,键分别对小时、十分钟、分钟加1,按住4再按1就开始工作,工作过程中按住4再按2就强制停止工作,设定时间时按住4再按3就清零可以重新设置
下面写点关于单边6脚4个8字数码管驱动程序,这种数码管任意两个脚之间正反各接了一个LED,一共是6*5=30个,每个8字用7个LED,加上中间冒号两个,正好30个。显示的时候每次将其中一个管脚拉低,另外5个管脚根据需要显示的情况设置管脚状态,点亮的管脚设置为强推挽模式高电平,不亮的管脚设置为高阻状态。
- BYTE Loop = 0; //中断中循环设定输出管脚
- BYTE Light = 0; //控制显示亮度
- void timer0_int(void) interrupt 1
- {
- TF0 = 0; //清除TF0标志
- if(Light == 0) //每10次开始的时候进行设定操作
- {
- if(ShowLed_SIGN) //如果显示标志为1,显示数码信息
- {
- P1 |= 0xFC; //首先拉高所有管脚,关闭全部显示
- P1M1 = LineBuf[Loop] ^ 0xFC; //高阻状态位是1,推挽或准双向为0,所以不显示的变成1
- P1M0 = LineBuf[Loop]; //推挽状态位是1
- P1 &= (Out_bit[Loop] ^ 0xFF); //对应位管脚拉低
- }
- if(++Loop > 5) //下一个拉低的管脚0-5,超出回0
- Loop = 0;
- }
- else if(Light == LIGHT_PWM) //达到显示亮度PWM的时长后,关闭显示
- {
- P1 |= 0xFC; //首先拉高所有管脚,关闭全部显示
- P1M1 = 0; //保持所有管脚为准双向模式
- P1M0 = 0; //保持所有管脚为准双向模式
- }
- if(++Light > 9) //10次后显示下一位
- Light = 0;
- }
复制代码- void Show(void)
- {
- BYTE i,j,k,cCode;
-
- ET0 = 0; //关闭定时器0中断
- for(i = 0;i < 6;i++)
- LineBuf[i] = Out_bit[i]; //清除线路输出缓冲区,设定对应位状态
- k = 0;
- for(i = 0;i < 4;i++)
- {
- if(DispBuf[i] < 10) //小于10的数字才显示,大于等于10不显示
- {
- cCode = BCD[DispBuf[i]]; //读取DipspBuf中的数字,并转换成段码
- for(j = 0;j < 7;j++)
- {
- if(cCode & 1) //如果该段码显示
- LineBuf[Low_bit[k]] |= High_bit[k]; //相应的输出位置1
- cCode >>= 1; //向右移动1位,下一段码
- k++;
- }
- }
- LineBuf[5] |= 96; //显示中间的冒号
- }
- ET0 = 1; //打开定时器0中断
- }
复制代码- BYTE code Out_bit[6] = {4,8,16,32,64,128}; //对应输出的位
- BYTE code BCD[10] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //数码0-9对应数码显示
- //下面是28个段码对应低位管脚和高位掩码,显示该段码时,在相应的低位管脚拉低时,对应的高位推挽输出高电平
- BYTE code Low_bit[] = {0,0,5,5,0,0,0,3,3,1,3,3,3,1,4,4,4,1,1,1,4,2,2,2,4,2,2,5};
- BYTE code High_bit[] = {32,64,16,4,8,16,128,64,128,16,4,8,16,4,8,16,4,32,64,128,32,64,4,128,128,8,32,8};
复制代码 这里是这个数码管相应的一些数据。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|