hang den dau hang co kem theo bit dau hang + chep byte vao ThanhGhiTrungGian + dich trai (*2)
+ BitVao->BitThapNhat + BitRa ->BitVao
+ nhay den byte tiep theo thuc hien tiep chu trinh */
{
int SoByte;
ThanhGhiTrungGian = X[SoHang*BeRong - 1]; //chep Byte dau hang vao ThanhGhiTrungGian
BitVao = BitCaoNhat; //chep bit dau hang vao BitTrungGian
for (SoByte=0; SoByte<BeRong; SoByte++)//thuc hien vong lap quay cac byte tu cuoi
{ //hang den dau hang co kem theo bit dau
hang
}
/*---*//*sau day la chuong trinh chinh /*sau day la chuong trinh chinh
1. NHIEM VU:
+ khoi tao cac gia tri bien:
khoi tao bien dieu khien chi so mang ChiSo de phuc vu xuat mang khoi tao bien dem n de tinh toc do ngat
+ thiet lap cac che do ngat va dinh thoi cho phep ngat toan cuc cho phep ngat dinh thoi 2. GIAI THUAT
3. Danh sach cac bien, du lieu tac dongBit cho phep ngat toan cuc: Ngat Bit cho phep ngat toan cuc: Ngat
Bit cho phep ngat dinh thoi 0: Ngatdinhthoi0 Bien trung gian xac dinh tri so mang: chiso Bien dem so lan say ra ngat: n
Gia tri thanh ghi dinh thoi */
void main (void) {
int Hang;//bien mang mang chi so hang //khoi tao
SoDongDaXuat=0; ThanhGhiTrungGian = 0;
ChiSo = 0; //khoi tao chi so cua mang
DemSoLanNgatT0 = 0; //khoi tao bien dem so lan ngat for (Hang=0; Hang<=SoByteMang; Hang++)//nap du lieu khoi tao {X[Hang] = KhoiTao[Hang];}
//thiet lamp che do cho dinh thoi
CheDoDinhThoi = (CheDoDinhThoi & 0xf0) | 0x02; // thiet lap che do tu dong lap lai 8 bit cho T0
ByteCaoDinhThoi0 = 256 - SoDemDinhThoi; // nap lai cho TL0 de dem SoDemDinhThoi xung nhip he thong
ByteThapDinhThoi0 = ByteCaoDinhThoi0; //khoi dong he thong
Ngat = 1; //cho phep ngat toan cuc NgatDinhthoi0 = 1;//cho phep ngat dinh thoi 0 BatDinhThoi0 = 1; // khoi dong dinh thoi 0 //vong lap thuc hien hieu ung dich chuyen while (1)
{
if (SoDongDaXuat==48) //neu da dc 48 dong {
SoDongDaXuat=0; //xoa
for ( Hang=1; Hang<=16; Hang++) //dich ca hinh di 1 cot {Quay1DiemCho1Hang(Hang);}
};}; };