水平低,只会模仿,高手莫怪。
做的定时器,原来使用的是P1接数码管abcdefg.
现在我想把单片机直接焊接在数码管上,这样的话引脚接口就不能一一对应了,想改程序改变接口的,可是程序里面没段码定义引脚,只有位码的。
这样就难了,不知道如何改啊?
水平低,说的不知道大家能不能看明白?
文化低,不会说,想到啥说啥,前辈莫怪,谢谢了。
我就是想做个定时开关,使用AT89C2051单片机,或者STC15F104E单片机,可以定时开、定时关。
电路越简单越好,因为自己焊工差、再加上视力差,挺难的,但是我就是喜欢折腾这些小玩意啊,就这一点点爱好,不能埋没了啊,呵呵!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
虚心求教,我新手。
给你举例吧:
-
- SBIT LCD1602dataPortO = PORTC^4;
- SBIT LCD1602dataPort1 = PORTC^3;
- SBIT LCD1602dataPort2 = PORTC^2;
- SBIT LCD1602dataPort3 = PORTC^1;
- SBIT LCD1602dataPort4 = PORTC^0;
- SBIT LCD1602dataPort5 = PORTD^7;
- SBIT LCD1602dataPort6 = PORTD^6;
- SBIT LCD1602dataPort7 = PORTD^5;
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Function :
- * Description : 函数功能、性能描述
- * Calls : 被本函数调用的函数清单
- * Called By : 调用本函数的函数清单
- * Table accessed: 被访问的表(数据库操作用)
- * Tabled Updated: 被修改的表(数据库操作用)
- * Input : 输入参数、取值说明与关系
- * Output : 输出参数、类型说明
- * Return : 函数返回值说明
- * Others : (Screen sequence)
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
- void LCD1602WriteConversionData(unsigned char WriteData)
- {
- if (WriteData & 0x01) {LCD1602dataPortO = 1;} else{LCD1602dataPortO = 0;}
- if (WriteData & 0x02) {LCD1602dataPort1 = 1;} else{LCD1602dataPort1 = 0;}
- if (WriteData & 0x04) {LCD1602dataPort2 = 1;} else{LCD1602dataPort2 = 0;}
- if (WriteData & 0x08) {LCD1602dataPort3 = 1;} else{LCD1602dataPort3 = 0;}
- if (WriteData & 0x10) {LCD1602dataPort4 = 1;} else{LCD1602dataPort4 = 0;}
- if (WriteData & 0x20) {LCD1602dataPort5 = 1;} else{LCD1602dataPort5 = 0;}
- if (WriteData & 0x40) {LCD1602dataPort6 = 1;} else{LCD1602dataPort6 = 0;}
- if (WriteData & 0x80) {LCD1602dataPort7 = 1;} else{LCD1602dataPort7 = 0;}
- }
复制代码我看到杜洋做的迷你定时器,就是把数码管直接焊接在单片机引脚上,限流电阻都没有加。
不知道论坛让不让发链接,还是不冒险了
杜洋的文章名是,大家一艘就能找到《DoClock系列 mini48家用定时器》
一周热门 更多>