2012年11月29日星期四

The Mini Project



  We have completed all the 6 experiments in 3810, and now we are focusing on the final project.It is called the mini project since all we have done will present just on the PCB board.Now let me introduce the idea of our project.
    Have you ever played the Race Game before. The racer drives his car and run as far as he can. He will meet many obstacles on the road.If he doesn't touch this obstacles he will continue to get more points.But if he touch the obstacles, game over.What we want to do this time is using a keypad and a LCD and the chips to design a single race game.
  I believe everyone has played the game above. Yeah, it is called the Russian Blocks.I think the rule of this game can be just stated as a single sentence:
  Who can not let the block touch the top of the screen for a longer time, who will get more marks.
  We don't do the Russian Blocks this time, so why I'm talking about the Russian Blocks? What I want to tell you is that we want to use this blocks to form a car.
  How to make this become true? We need the Graphic LCD and the assembly language.

The Graphic LCD 128*64

   Maybe you are wandered how we can form a car buy using these blocks.How can let the blocks formed as what we want. The answer is, using the Assembly Language to program the code.

The Control Instruction Of Graphic LCD

  For example, if you want to show a letter "S" on the LCD, you should use the assembly language put the command into the chip, and you should always provide the position of each blocks.Each column has 8 blocks, which is the length of a byte. Each bit can be set "1" or "0" to represent its light on or off.The lowest block stands for the MSB. For example, we can use a series of bytes to represent 'S'.That is :
00100110b = 26h
01001001b = 49h
01001001b = 49h
01001001b = 49h
00110010b = 32h  
00000000b = 00h     (from left to right and dismiss the first two columns)
  We want to design the initial starting interface on LCD.So we use the software to draw these black blocks.The software is Graphic Gales.If we want to design our car it is very helpful to use these.And if we print it out, it will help us to do the programming.
Use the Graphic Gales to design the logo



The Assembly language


Then we put the code into the compiler,we can see the logo we designed on the LCD.
WATCH OUT BIRDS!!


  What we have uploaded is just the result we have done. We need to continue our procedure.So good luck to us, and I will share the fun this game gives us on the blog!!

 

2012年11月8日星期四

Experiment 5 Interface of the 8088 MPU with 8254 PTC and 8255 PPI


  How time flies.Now we have to do the experiment 5.This course requires us to do 6 Experiment and 1 mini project.So you see ,we don't have many chances to do experiment.The last four experiments makes me know better about the Microprocessor and the function of the chips.So I have a confidence to do this experiment well.

  In this experiment ,our mission is to write the program in Assembly language,then we have to program this in the chips to control the LEDS and the buzzer.
8254A Programmable Timer Controller

The position of 8254A in PCB
  Since we have to know the basic knowledge of Assembly Language,we have to study how to get the meaning of a example code in the Experiment,which is a huge task.It is not the same as C language,and we have not use Assembly Language to make a program.
The program in Assembly Language
  There is always a question which confuses me for a long time,that is how the assembly language can make the chips in the CPU work.Why a series of ‘0’‘1’can command the computer to do so many things.Actually ,Assembly Language is fun.

Assembly Language is fun
  We have talked about the background of the Experiment 5 for such a long time,and now I will come back to the subject.Before we put the code into the chips, we have to wrap the wires to the certain pins of the chips ,just as the  photo in left side shows: 






  To be honest, it is not easy to connect the pins with wires, you have to concentrate because once you connected the wrong chips it will cost you much time to debug.And you have to make the length of the wire properly,either too long or too short wires may lead to error.
Tools for wrapping wires
You have to use the tools to remove the insulator.





  Then we wrap the metal part of the wires in the pins.And make sure we have to rotate clockwise.If you have made a mistake, you change the other side of the stick and rotate again.
  After the wrapping ,you may get a PCB like this:

Sample of the wrapped PCB
  Now let's come back the program,you just use the software to put your exe5.bin file into the 8254A,and connect the PCB to the power,you will get the result.




  This experiment is prepared for my final mini project, and I find that we have to be careful in each details.It is worthy for us to spend more time on the wrapping.Although it may cost more time ,but it will save time in debugging.Debug can make people crazy.And I think I should know more about the Assembly Language.




Reference::                           IERG 3810 Lab Mannul