|
一個(gè)很簡(jiǎn)單的avr單片機(jī)的仿真,用74hc595芯片來(lái)驅(qū)動(dòng)單個(gè)數(shù)碼管顯示數(shù)字,下面是仿真原理圖
0.png (26.63 KB, 下載次數(shù): 118)
下載附件
2016-9-27 20:32 上傳
源程序:
- #include<iom16v.h>
- #include<macros.h>
- void delay(int k){
- int i=0,j=0;
- for(i=0;i<k;i++){
- for(j=0;j<6;j++){
- ;
- }
- }
- }
- void InputData(unsigned char data){
- unsigned char i;
- unsigned char k;
- for(i=0;i<8;i++){
- PORTB=~BIT(0);
- delay(20);
- PORTC=(data>>i)&0x01;
- delay(20);
- PORTB=BIT(0);
- delay(20);
- }
- }
- void OutData(void){
- PORTD=~BIT(0);
- delay(40);
- PORTD=BIT(0); //上升沿送到鎖存器
- delay(40);
- PORTD=~BIT(0); //鎖存顯示
- }
- void main(){
- unsigned char i,j;
- unsigned char temp=0x0f;
-
- unsigned char str[8]={0xfc/*0*/,0x60/*1*/,0xda,/*2*/0xf2/*3*/,0x66/*4*/,0xb6/*5*/,0xbe/*6*/,0xe0/*7*/};
- DDRB=0XFF;
- DDRC =0XFF;
- DDRD=0XFF;
- while(1){
- for(i=0;i<8;i++){
- InputData(str[i]);
- OutData();
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- delay(9000);
- }
- }
- }
復(fù)制代碼
0.png (59.29 KB, 下載次數(shù): 127)
下載附件
2016-9-27 20:34 上傳
所有資料下載:
74hc595仿真.zip
(98.73 KB, 下載次數(shù): 65)
2016-9-27 20:35 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|