

����1������
����������LED ����������ֻ�ܰ�һ��(g��)��Ļ����һ��(g��)�����ą^(q��)���(l��i)�M(j��n)���@ʾ�� ���ߺ�(ji��n)�εļ��ϕr(sh��)�g�^(q��)���������Ļ�^(q��)�����@�ӌ�(du��)���Ñ�(h��)��(l��i)�v����ȱ�������`���ԣ� ��������Ļ�^��ĕr(sh��)����ᘌ�(du��)������r�� ���������һ�����32 λ������ARM̎������uc/OS- II ���O(sh��)Ӌ(j��)�����������������uc/OS-II ��Ч�Ķ��΄�(w��)�������ܺ�ARM̎������(qi��ng)����\(y��n)�������� ��(sh��)�F(xi��n)�ˆ���Ļ�ര�ڵ�����λ���@ʾ�� ʹ���@ʾ��(n��i)��׃�ø����S���� �@ʾ��ʽ׃�ø����`����
����2��LED ����ϵ�y(t��ng)�Ĺ���ԭ��
�������͵�LED ��������ϵ�y(t��ng)��Ҫ��PC ��(y��ng)��ܛ����ͨ��ģ�K����(sh��)��(j��)̎��ģ�K���������ģ�K���(q��)��(d��ng)ģ�K��LED ���ײ��ֽM������D1 ��ʾ��

�������ȣ� PC ��(y��ng)��ܛ�����ı���DƬ�D(zhu��n)��������ض���ʽ���c(di��n)���Ϣ��Ȼ���� ͨ�^(gu��)ͨ��ģ�K�����c(di��n)���Ϣ�l(f��)�ͽo��(sh��)��(j��)̎��ģ�K����(sh��)��(j��)̎��ģ�K��(du��)�@Щ�c(di��n)���Ϣ�M(j��n)�и��N�ؼ�̎���� ���ͨ�^(gu��)�������ģ�K���(q��)��(d��ng)ģ�K����(hu��)����LED �����M(j��n)�����_�@ʾ��
����������ָ��LED ��������������ͨ��ģ�K����(sh��)��(j��)̎��ģ�K�͒������ģ�K��������
����3��������ܛ�����ֵ��O(sh��)Ӌ(j��)
��������������Ӳ���Y(ji��)��(g��u)��D2 ��ʾ����(sh��)��(j��)̎��ģ�K��MCU��һƬSRAM��һƬF(xi��n)LASH �惦(ch��)���M����MCU �x��PHILIPS �Ļ���32 λARM��(n��i)�˵�LPC2214 ̎������ �������S��������ӿ��YԴ�͏�(qi��ng)����\(y��n)�������� ������(g��)�������ĺ�����SRAM����MCU �M(j��n)���ؼ�̎��r(sh��)�ľ���ʹ����FLASH �惦(ch��)�����ڴ惦(ch��)�c(di��n)���Ϣ��һЩ��Ҫ�ą���(sh��)��

���������ģ�K��CPLD ���@��M�����@���һƬSRAM�� �����ڱ��殔(d��ng)ǰ�@ʾ��һ���c(di��n)���Ϣ��CPLD ͨ�^(gu��)��ַ����(xi��n)��16λ��(sh��)��(j��)����(xi��n)�cMCU ���B�� ���я�MCU ���յ���16 λ��(sh��)��(j��)��ָ����ַ��(xi��)���@�棬 Ȼ���ٰ�һ���Č�ַ��ʽ���@�����x���c(di��n)���Ϣ�M(j��n)�В�����MCU ֻ��ͨ�^(gu��)CPLD ��(du��)�@���M(j��n)������(2byte)���λ�Č�(xi��)������ͨ��ģ�K������̫�W(w��ng)ģ�K�ʹ���ͨ��ģ�K�� ���ڌ�(sh��)�F(xi��n)PC �c������֮�g��RS232��RS485 �Լ����I(y��)��̫�W(w��ng)ͨ����
����4��������ܛ�����ֵ��O(sh��)Ӌ(j��)
�������ˌ�(sh��)�F(xi��n)����Ļ���ര������λ�õ��@ʾ�� ܛ�������҂�����uc/OS- II �M(j��n)���O(sh��)Ӌ(j��)�� �@�ӿ��Գ�����ò���ϵ�y(t��ng)��Ч���΄�(w��)�{(di��o)���㷨�� ��ÿ��(g��)���ڵ��@ʾ�����Ɇ�(g��)�΄�(w��)��(l��i)����� �Ķ��O������ϵ�y(t��ng)���\(y��n)���ٶȺͿɿ��ԣ� ����ʹ�ó�����_(k��i)�l(f��)�͔U(ku��)չ׃�ø��ӷ�����
�������M(j��n)�о��w�ij����O(sh��)Ӌ(j��)֮ǰ�� ����Ҫ�_����(sh��)��(j��)�ĽM��������
������?y��n)�õĔ?sh��)��(j��)�M�������� ��(du��)�ڳ���(xi��)��(l��i)�f(shu��)���������_(d��)���°빦����Ч����
����4.1 �@��Ĕ�(sh��)��(j��)�M������:
������(du��)���pɫ���� һ��(g��)�����c(di��n)��Ҫ�t���G��λ��(sh��)��(j��)��(l��i)���������˱���̎���� �҂����M���B�m(x��)��8 ��(g��)�����c(di��n)�M��һ��(g��)��(2byte)��(l��i)�M(j��n)�д惦(ch��)�� ����һ��(g��)�ֹ�(ji��)��t��(sh��)��(j��)�� һ��(g��)�ֹ�(ji��)��G��(sh��)��(j��)����(sh��)��(j��)�惦(ch��)���?y��n)�����ң?���ϵ��¡���D3 ��ʾ�� ������Ļ���Ȟ�160 ��(g��)�����c(di��n)�� �@����ʼ��ַ��0x83000000�� �t��Ļ��һ�е�ǰ8 ��(g��)�����c(di��n)ӳ�䵽�@���е�ַ��0x83000000 ��0x83000001 �ăɂ�(g��)�ֹ�(ji��)�� �ڶ��е�ǰ8 ��(g��)�����c(di��n)ӳ�䵽�@���е�ַ��0x83000028 ��0x83000029 �ăɂ�(g��)�ֹ�(ji��)�� �����(l��i)�ơ�

����4.2 �c(di��n)���Ϣ�D(zhu��n)��Ҏ(gu��)�t:
�������ڴ��ڴ�С���������O(sh��)���� ���ڵ�λ�ÿ�������[����
�������Ԍ�(du��)�چ�(g��)���ڶ����� �����@���е�ӳ����ܲ�������(2byte)��(du��)�R�ġ��ԈD4 ������ ��һ��(g��)��С��160(��)��96(��)����Ļ���_(k��i)�O(sh��)һ��(g��)���Ͻ�����(bi��o)��(20��16)�� ��С��86��47 �Ĵ����� �t�˴��ڵ�һ�е�ǰ4 ��(g��)�����c(di��n)���@���е�ӳ����ַ��0x83000282 ��0x83000283 �ăɂ�(g��)�ֹ�(ji��)�ĵ�4 λ�� �����@��(g��)�������@���е�ӳ�䲢������(du��)�R��������MCU ֻ������(2byte)���λ��(du��)�@���M(j��n)�в����� ����PC ܛ���ڌ�(du��)ԓ�����M(j��n)���c(di��n)���Ϣ�D(zhu��n)�Q�r(sh��)�� ���ֱ�ӌ�(du��)�^(q��)��1 (���ڵČ�(sh��)�H��С)�M(j��n)���D(zhu��n)�Q�惦(ch��)���t�ڌ�(du��)ԓ�����M(j��n)���ؼ�̎��r(sh��)��(hu��)���ڴ�����λ�\(y��n)�㣬 �@�ӕ�(hu��)����\(y��n)��Ч���� �Ķ�Ӱ��ؼ�Ч�����@ʾ�� �@�Ӿͺ��y�M(m��n)���Ñ�(h��)��(du��)�ؼ��@ʾЧ����Ҫ��

���˽�Q������(w��n)�}�� ���Ԍ��^(q��)��1 �M��U(ku��)չ�����c(di��n)����(bi��o)��(16��16)�� ��С��96��47 �ą^(q��)��2����֪�� �^(q��)��2 ���@���е�ӳ������(du��)�R�������˱����\(y��n)��r(sh��)��λ������ PC ܛ���ڌ�(du��)�^(q��)��1 �M(j��n)���c(di��n)���Ϣ�D(zhu��n)�Q�r(sh��)�� �ɰ��^(q��)��2 ��(l��i)�M(j��n)���� ֻ���茢�^(q��)��1 �ĔU(ku��)չ���ֵĔ�(sh��)��(j��)ȫ���1���@��̎���(hu��)������һС����FLASH �惦(ch��)�����g�� ���s�ɱ����ؼ�̎��r(sh��)������λ�\(y��n)���� �Ķ��������\(y��n)��Ч�ʣ� ����@������ֵ�õ���
����4.3 ���攵(sh��)��(j��)�ĽM������:
��������MCU ֻ�܌�(du��)�@���M(j��n)�Ќ�(xi��)������ �����M(j��n)���ؼ��\(y��n)��r(sh��)��������Ҫǰһ����Ϣ���ܵõ���һ������Ϣ�������� ������ ��Ҫ�ھ����Є��ֳ�һ�K���@���С����� ��ַһһ��(du��)��(y��ng)�ą^(q��)��screen ���ڱ�������Ļ��ǰһ����Ϣ��

����������MCU ��(du��)�@��ֻ���M(j��n)���ֲ����� ���Ҷ���(g��)����֮�g���ܕ�(hu��)���F(xi��n)�^(q��)���دB�� ������������ڵ��ؼ��\(y��n)�㶼ֱ����screen �^(q��)�����M(j��n)�У� �t�����دB������Ϣ���ܕ�(hu��)�l(f��)����y�������D5 ��ʾ�� Ҳ��Ҫ�ھ����О�ÿ��(g��)���ڄ��ֳ�һ�K�惦(ch��)�����g(area 1�� area 2�� ...�� area n)�� ���ڱ��汾�����@ʾ��ǰһ����Ϣ���@�����ؼ��\(y��n)��r(sh��)�� ����Ҫ��area �^(q��)���Ќ�(du��)�����ڔ�(sh��)��(j��)�M(j��n)���\(y��n)��õ������ڵ���һ����Ϣ�� Ȼ��area �^(q��)���Д�(sh��)��(j��)��(xi��)��ԓ������screen �^(q��)���е�����(y��ng)��ַ�Ա�������Ļ����һ����Ϣ�� ����screen ������(y��ng)��(sh��)��(j��)��(xi��)���@��Ķ�����@ʾ��
����4.4 ܛ���O(sh��)Ӌ(j��):
������������������ MCU ������O(sh��)Ӌ(j��)׃�÷dz���(ji��n)��������Y(ji��)��(g��u)��D6 ��ʾ�� ��������늺��� �����M(j��n)��ϵ�y(t��ng)��ʼ���� Ȼ���FLASH ���xȡ������(sh��)�� �M(j��n)�Ѕ���(sh��)��ʼ�������������΄�(w��)TaskCONtrol�� TaskControl ���бȸ������@ʾ�΄�(w��)��Ҫ�ߵă�(y��u)�ȼ�(j��)�� ����Ҫ���ڌ�(du��)�������@ʾ�΄�(w��)�M(j��n)�Ќ�(sh��)�r(sh��)������ÿ��һ�Εr(sh��)�gTaskControl ��Ҫ��(du��)reset ��(bi��o)־�M(j��n)��һ�β�ԃ(x��n)�� ���reset=1�� ����(hu��)�h��ԭ�Ƚ����ĸ������@ʾ�΄�(w��)�� Ȼ���FLASH ���xȡ�µĴ��ڂ�(g��)��(sh��)�� ���˽������΄�(w��)�� ��ÿ��(g��)���ڵ��@ʾ���Ɇ�(g��)�����@ʾ�΄�(w��)��(l��i)������
�������΄�(w��)TaskControl �ij�����ʾ:
����void TaskControl(void *pdata){
����uint8 taskNum;
����pdata=pdata;
����RESET:
����reset=0; //reset ��(bi��o)־����
����for(taskNum=3;taskNum<18;taskNum++){ // �h��ԭ�Ƚ����Ĵ����΄�(w��)
����OSTaskDEL(taskNum); // �����@ʾ�΄�(w��)��(y��u)�ȼ�(j��)��3 �_(k��i)ʼ}// ������S�O(sh��)��16 ��(g��)����
����taskNum=flashReadWord(AREA_NUM_ADDR);// ��FLASH���xȡ��Ļ���ڂ�(g��)��(sh��)
����if(taskNum>0) // ����(j��)���ڔ�(sh��)���������@ʾ�΄�(w��)
����OSTaskCreate(task0��(void*)0��&task0Stk[TaskStkLength- 1]��3);
����if(taskNum>1)
����OSTaskCreate(task1��(void*)0��&task1Stk[TaskStkLength- 1]��4);
����...
����while(1){if(reset) goto RESET; //reset ��(bi��o)־��1�� �����(f��)λ
����OSTimeDlyHMSM(0��0��1��0);}
����}
���������@ʾ�΄�(w��)���ڌ�(sh��)�F(xi��n)�����ڃ�(n��i)�ݵ��@ʾ��������(j��)�������@ʾ��ʽ�IJ�ͬ��������(y��ng)area �^(q��)�����M(j��n)����һ����(sh��)��(j��)���\(y��n)�㣬Ȼ���{(di��o)��areaToScreen()��screenToCpld()�M(j��n)���@ʾ�������һ����(sh��)��(j��)���@ʾ���� �{(di��o)��һ��OSTimeDlyHMSM()ʹ��(d��ng)ǰ�΄�(w��)�M(j��n)��ȴ���B(t��i)ͬ�r(sh��)�M(j��n)��һ���΄�(w��)�{(di��o)���� ��ϵ�y(t��ng)���ƙ�(qu��n)���o̎�ھ;w��B(t��i)�Ĵ����@ʾ�΄�(w��)�Ѓ�(y��u)�ȼ�(j��)��ߵ��ǂ�(g��)�� �ɴ���ɴ����@ʾ�΄�(w��)֮�g���ГQ���҂�Ҳ����ͨ�^(gu��)�{(di��o)��OSTimeDlyHMSM()�ą���(sh��)��(l��i)��׃���������R�Ɏ��@ʾ��Ϣ֮�g�ĕr(sh��)�g�g���� �Ķ����{(di��o)���������ؼ��@ʾ��Ч���� �����Ƅ�(d��ng)�@ʾ���Ƅ�(d��ng)�ٶ�������������һ��(g��)�����@ʾ�΄�(w��)�ij�����ʾ:
����void Task0(void *pdata){
����pdata=pdata;���څ���(sh��)��ʼ��;while(1){uint16 i;
����for(i=0;i< ������(sh��);i++){��һ����(sh��)��(j��)���\(y��n)��; // ��area �^(q��)�����M(j��n)��
����areaToScreen(); // ����(sh��)��(j��)��area �x����(xi��)��screen
����screenToCpld(); // ��screen ������(y��ng)��(sh��)��(j��)��(xi��)���@�����һ����(sh��)��(j��)���@ʾOSTimeDlyHMSM(0��0��0��displaySpeed*20); // �΄�(w��)�{(di��o)��
����}
����}
����}
����5 �Y(ji��)���Z(y��)
�����������32λ̎�����ĸ����ܺ͌�(sh��)�r(sh��)����ϵ�y(t��ng)��Ч���΄�(w��)�{(di��o)���㷨�� ��(sh��)�F(xi��n)�ˆ���Ļ�ര�ڵ�����λ���@ʾ��ʹ����Ļ�@ʾ׃�ø����S���`���� Ҳʹ�úܶ�����ֻ��ʹ��ͬ�����������߶���(g��)�����������Ĉ�(ch��ng)�Ͽ��ÆΉK������������(l��i)����� �Ķ�������ϵ�y(t��ng)�ijɱ���
�����������߄�(chu��ng)���c(di��n):��(sh��)�F(xi��n)��LED ����Ļ����Ļ����(g��)��������λ�õ��@ʾ�� ���ҿɌ�(sh��)�F(xi��n)�ര���دB�@ʾ������(hu��)�Ю�(hu��)�����@ʾЧ����

