最近老亂玩74HC595,發現它只能輸出,不能輸入。
查找大量資料,從某個網友制作的mylib.c(NES)中獲得了一條指令:
#define bin(_a,_b,_c,_d,_e,_f,_g,_h) ((_a)<<7|(_b)<<6|(_c)<<5|(_d)<<4|(_e)<<3|(_f)<<2|(_g)<<1|(_h))
分別是8 7 6 5 4 3 2 1位
能不能完全用74595來控制整個1602呢?于是......
360截圖1700102494146102.png (92.56 KB, 下載次數: 122)
下載附件
電路圖
2018-4-22 11:54 上傳
當時用的STC89C52RC......
IMG_20180421_134531.jpg (887.78 KB, 下載次數: 110)
下載附件
當時用的STC89C52RC
2018-4-22 11:54 上傳
效果圖:
IMG_20180421_134512.jpg (1.15 MB, 下載次數: 104)
下載附件
效果圖
2018-4-22 11:54 上傳
IMG_20180421_134517.jpg (1.18 MB, 下載次數: 105)
下載附件
效果圖
2018-4-22 11:54 上傳
IMG_20180421_134509.jpg (1.13 MB, 下載次數: 99)
下載附件
效果圖(藍)
2018-4-22 11:54 上傳
IMG_20180422_113254.jpg (592.35 KB, 下載次數: 107)
下載附件
效果圖(藍)
2018-4-22 11:54 上傳
IMG_20180422_113259.jpg (652.83 KB, 下載次數: 103)
下載附件
效果圖(藍)
2018-4-22 11:54 上傳
IMG_20180422_113611.jpg (491.56 KB, 下載次數: 105)
下載附件
效果圖(黃綠)
2018-4-22 11:54 上傳
IMG_20180422_113650.jpg (509.06 KB, 下載次數: 106)
下載附件
效果圖(黃綠)
2018-4-22 11:54 上傳
單片機源程序如下:
- #include <reg52.h>
- #include "lcd595.ini"
- const uchar type_t[]={
- 0x1f,0x02,0x02,0x02,
- 0x02,0x02,0x02,0x00
- };
- const uchar line1[]="Have a nice day!";
- const uchar line2[]="HE Wcommands";
- void main()
- {
- uchar i;
- LcdInit();
- LcdWriteCGRAM(0x00,type_t);
- LcdWriteData(0x00);
- LcdWriteCom(0x81);
- LcdPrintf("HE With");
- LcdWriteCom(0xc0);
- LcdPrintf("Commands");
- Lcd1602_Delay1ms(1000);
- LcdWriteCom(0x01);
- while(1){
- for(i=0;i<16;i++){
- LcdWriteCom(0x80+i);
- LcdWriteData(line1[i]);
- Lcd1602_Delay1ms(100);
- }
- Lcd1602_Delay1ms(500);
- LcdWriteCom(0xc1);
- LcdWriteData(0x00);
- Lcd1602_Delay1ms(100);
- for(i=0;i<12;i++){
- LcdWriteCom(0xc2+i);
- LcdWriteData(line2[i]);
- Lcd1602_Delay1ms(100);
- }
- LcdWriteCom(0x01);
- Lcd1602_Delay1ms(100);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png (45.03 KB, 下載次數: 116)
下載附件
2018-4-22 16:30 上傳
所有資料51hei提供下載:
5951602.zip
(55.5 KB, 下載次數: 280)
2018-4-22 12:00 上傳
點擊文件名下載附件
程序文件及仿真 下載積分: 黑幣 -5
|