|
點陣顯示文華學院
- #include<reg51.h>
- #include "74hc595.h"
- #include "exti.h"
- #define uint unsigned int
- #define uchar unsigned char
- uchar world[4][8]={
- 0x82,0x86,0x4A,0x33,0x32,0x4E,0x82,0x82,//1
- 0x24,0x2E,0x21,0xF8,0x2F,0x2A,0x2D,0x00,//2
- 0x26,0x2B,0xAA,0xFB,0x3A,0x2B,0x26,0x00,//3
- 0xFE,0x1E,0x80,0x56,0x3A,0xFB,0x9A,0xD6,//4
- };//字表
- bit flag;
- uchar i,num,sum,sec;//全局變量
- void DelayMS(uint dly)
- {
- uint x,y;
- for(x=dly;x>0;x--)
- for(y=124;y>0;y--);
- }
- void delay(uchar z)//延時
- { uchar x,y;
- for(x=z;x>0;x--)
- for(y=255;y>0;y--);
- }
- void key()interrupt 0
- {
- P0=0;
- flag=~flag;
- }
- void ISR_Timer0()interrupt 1
- {
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- num1++;//計數
- if(num1 >= 20)//達到1s
- {
- num1=0;
- sec++;
- sec=sec%4;
- }
- }
- void show()//漢字動態顯示
- {
- uchar temp =0x80;
- for(i=0;i<8;i++)
- {
-
- Hc595SendByte(temp>>i);
- P0=~world[sec][i];//段選
- delay(1);
- }
- }
- void main()
- {
- IntInit_Timer0();
- IT0=1;
- EX0=1;
- while(1)
- {
- if(flag)
- {
- show();
- DelayMS(3);
- }
- }
- }
復制代碼
|
-
-
點陣(74hc595).zip
2021-12-18 15:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
39.6 KB, 下載次數: 2, 下載積分: 黑幣 -5
|